Ejemplo n.º 1
0
        void ValidateHttpReceivers(Route route, int count, string url)
        {
            PluginRoute pluginRoute = route as PluginRoute;

            Assert.NotNull(pluginRoute);
            Assert.NotNull(pluginRoute.Receivers);
            Assert.True(pluginRoute.Receivers.Length == count);
            for (int i = 0; i < pluginRoute.Receivers.Length; ++i)
            {
                HttpReceiver httpReceiver = pluginRoute.Receivers[i] as HttpReceiver;
                Assert.NotNull(httpReceiver);
                Assert.NotNull(httpReceiver.Settings);
                if (i == 0)
                {
                    Assert.True(httpReceiver.Settings.Url == url);
                }
            }
        }
Ejemplo n.º 2
0
        void ValidateSmtpReceivers(Route route, int count, string server)
        {
            PluginRoute pluginRoute = route as PluginRoute;

            Assert.NotNull(pluginRoute);
            Assert.NotNull(pluginRoute.Receivers);
            Assert.True(pluginRoute.Receivers.Length == count);
            for (int i = 0; i < pluginRoute.Receivers.Length; ++i)
            {
                SmtpMessageForwarder smtp = pluginRoute.Receivers[i] as SmtpMessageForwarder;
                Assert.NotNull(smtp);
                Assert.NotNull(smtp.Settings);
                if (i == 0)
                {
                    Assert.True(smtp.Settings.Server == server);
                }
            }
        }
Ejemplo n.º 3
0
        //TODO: (erikpo) In the long term, we should get rid of this and build our own implementation of IRouteHandler to just call their method on the plugin directly
        public object CallMethod(FormCollection form)
        {
            PluginRoute route = ControllerContext.RouteData.Route as PluginRoute;

            if (route == null)
            {
                return(null);
            }

            Plugin plugin = pluginService.GetPlugin(new PluginAddress(route.PluginID));

            plugin.FillContainer(pluginEngine);

            plugin.Container.ExecuteMethod(route.MethodName, ControllerContext.RequestContext, form);

            string redirectUri = form["redirectUri"];

            if (string.IsNullOrEmpty(redirectUri))
            {
                throw new ArgumentException("No redirectUri was specified in the form data");
            }

            return(Redirect(redirectUri));
        }
Ejemplo n.º 4
0
        public void TestPluginValidation()
        {
            PluginRoute plugin = new PluginRoute();

            Assert.Throws <SmtpAgentException>(() => plugin.Validate());
        }