Example #1
0
        /// <summary>
        /// Processes each record.
        /// </summary>
        protected override void ProcessRecord()
        {
            IAction action = new DefaultAction(Scope, Variable, Value);

            action.Execute(TestSuite);
            WriteObject(TestSuite);
            WriteVerbose(action.Display);
        }
Example #2
0
        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();
        }
Example #5
0
        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));
        }
Example #6
0
        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));
        }