/// <summary> /// Processes each record. /// </summary> protected override void ProcessRecord() { IAction action = new DefaultAction(Scope, Variable, Value); action.Execute(TestSuite); WriteObject(TestSuite); WriteVerbose(action.Display); }
private async Task ProcessMessageCallback(CallbackData data) { if (data.Event == "message") { var messageText = ((TextMessage)data.Message).Text; if (messageText.ToLower() == "start") { data.Message.TrackingData = ViberBotTrackingData.Empty(); await MenuAction.Execute(data); return; } if (messageText.ToLower() == "cancel" || data.Message.TrackingData == null) { data.Message.TrackingData = ViberBotTrackingData.Empty(); await DefaultAction.Execute(data); return; } if (messageText.ToLower() == "help") { data.Message.TrackingData = ViberBotTrackingData.Empty(); await HelpAction.Execute(data); return; } try { var trackingData = JsonConvert.DeserializeObject <ViberBotTrackingData>(data.Message.TrackingData); if (messageText.Contains("Action")) { trackingData.NextAction = messageText; } if (trackingData != null && !string.IsNullOrEmpty(trackingData.NextAction)) { Type magicType = Type.GetType($"ViberBot.Client.Actions.{trackingData.NextAction}"); if (magicType != null) { MethodInfo magicMethod = magicType.GetMethod("Execute"); magicMethod.Invoke(null, new object[] { data }); } } else { await DefaultAction.Execute(data); } } catch { await SendTextMessage(data.Sender.Id, BotError.SomethingWentWrong); } } }
public void ShouldReturnRedirectToFarmReport() { IAbsoluteLink link = new GeneralAbsoluteLink("", "http://here"); linkFactoryMock.Setup(factory => factory.CreateFarmLink("", FarmReportFarmPlugin.ACTION_NAME)).Returns(link).Verifiable(); IResponse response = action.Execute(null); Assert.AreEqual("http://here", ((RedirectResponse)response).Url); VerifyAll(); }
public void ShouldReturnRedirectToFarmReport() { IAbsoluteLink link = new GeneralAbsoluteLink("", "http://here"); linkFactoryMock.ExpectAndReturn("CreateFarmLink", link, "", FarmReportFarmPlugin.ACTION_NAME); IResponse response = action.Execute(null); Assert.AreEqual("http://here", ((RedirectResponse)response).Url); VerifyAll(); }
public void Execute_NewDefaultConnectionString_DefaultAdded() { var state = new GenerationState(); var action = new DefaultAction(DefaultType.Everywhere, "ConnectionString", ConnectionStringXml); action.Execute(state); var target = state.Settings.Defaults.FirstOrDefault(x => x.ApplyTo == SettingsXml.DefaultScope.Everywhere); Assert.That(target, Is.Not.Null); Assert.That(target.ConnectionStringSpecified, Is.True); Assert.That(target.ConnectionString.Inline, Is.EqualTo(ConnectionStringXml)); }
public void Execute_OverrideExistingDefaultConnectionString_DefaultOverriden() { var state = new GenerationState(); state.Settings.Defaults.Add(new DefaultXml(SettingsXml.DefaultScope.Everywhere) { ConnectionString = new ConnectionStringXml() { Inline = "other connString" } }); var action = new DefaultAction(DefaultType.Everywhere, "ConnectionString", ConnectionStringXml); action.Execute(state); var target = state.Settings.Defaults.FirstOrDefault(x => x.ApplyTo == SettingsXml.DefaultScope.Everywhere); Assert.That(target, Is.Not.Null); Assert.That(target.ConnectionStringSpecified, Is.True); Assert.That(target.ConnectionString.Inline, Is.EqualTo(ConnectionStringXml)); }