示例#1
0
        public void RequestShouldBeDispatchedToAllHandlers()
        {
            var thing1 = new StubHandler();
            var thing2 = new StubHandler();

            var builder = new ContainerBuilder();

            //builder.RegisterModule(new ImplicitCollectionSupportModule());
            builder.RegisterType <HomeController>();
            builder.RegisterType <XmlRpcReader>().As <IXmlRpcReader>();
            builder.RegisterType <XmlRpcWriter>().As <IXmlRpcWriter>();
            builder.RegisterInstance(thing1).As <IXmlRpcHandler>();
            builder.RegisterInstance(thing2).As <IXmlRpcHandler>();

            var container = builder.Build();

            var controller = container.Resolve <HomeController>();

            Assert.That(thing1.ProcessCalls, Is.EqualTo(0));
            Assert.That(thing2.ProcessCalls, Is.EqualTo(0));

            var result = controller.ServiceEndpoint(new XRpcMethodCall());

            Assert.That(result, Is.Not.Null);
            Assert.That(thing1.ProcessCalls, Is.EqualTo(1));
            Assert.That(thing2.ProcessCalls, Is.EqualTo(1));
        }
        public void RequestShouldBeDispatchedToAllHandlers() {
            var thing1 = new StubHandler();
            var thing2 = new StubHandler();
            
            var builder = new ContainerBuilder();
            //builder.RegisterModule(new ImplicitCollectionSupportModule());
            builder.RegisterType<HomeController>();
            builder.RegisterType<XmlRpcReader>().As<IMapper<XElement, XRpcMethodCall>>();
            builder.RegisterType<XmlRpcWriter>().As<IMapper<XRpcMethodResponse, XElement>>();
            builder.RegisterInstance(thing1).As<IXmlRpcHandler>();
            builder.RegisterInstance(thing2).As<IXmlRpcHandler>();

            var container = builder.Build();

            var controller = container.Resolve<HomeController>();

            Assert.That(thing1.ProcessCalls, Is.EqualTo(0));
            Assert.That(thing2.ProcessCalls, Is.EqualTo(0));

            var result = controller.ServiceEndpoint(new XRpcMethodCall());
            Assert.That(result, Is.Not.Null);
            Assert.That(thing1.ProcessCalls, Is.EqualTo(1));
            Assert.That(thing2.ProcessCalls, Is.EqualTo(1));

        }
示例#3
0
        public void Should_invoke_handle_method()
        {
            HandlerInvocationCache.CacheMethodForHandler(typeof(StubHandler), typeof(StubMessage));
            var handler = new StubHandler();

            HandlerInvocationCache.InvokeHandle(handler, new StubMessage());
            Assert.IsTrue(handler.HandleCalled);
        }
示例#4
0
        public void Should_invoke_timeout_method()
        {
            HandlerInvocationCache.CacheMethodForHandler(typeof(StubHandler), typeof(StubTimeoutState));
            var handler = new StubHandler();

            HandlerInvocationCache.InvokeTimeout(handler, new StubTimeoutState());
            Assert.IsTrue(handler.TimeoutCalled);
        }
示例#5
0
        public void Should_have_passed_through_correct_message()
        {
            HandlerInvocationCache.CacheMethodForHandler(typeof(StubHandler), typeof(StubMessage));
            var handler     = new StubHandler();
            var stubMessage = new StubMessage();

            HandlerInvocationCache.InvokeHandle(handler, stubMessage);
            Assert.AreEqual(stubMessage, handler.HandledMessage);
        }
示例#6
0
        public void Should_have_passed_through_correct_state()
        {
            HandlerInvocationCache.CacheMethodForHandler(typeof(StubHandler), typeof(StubTimeoutState));
            var handler   = new StubHandler();
            var stubState = new StubTimeoutState();

            HandlerInvocationCache.InvokeTimeout(handler, stubState);
            Assert.AreEqual(stubState, handler.HandledState);
        }
        public void Should_invoke_handle_method()
        {
            var cache = new MessageHandlerRegistry(new Conventions());

            cache.CacheMethodForHandler(typeof(StubHandler), typeof(StubMessage));
            var handler = new StubHandler();

            cache.InvokeHandle(handler, new StubMessage());
            Assert.IsTrue(handler.HandleCalled);
        }
        public void Should_invoke_timeout_method()
        {
            var cache = new MessageHandlerRegistry(new Conventions());

            cache.CacheMethodForHandler(typeof(StubHandler), typeof(StubTimeoutState));
            var handler = new StubHandler();

            cache.InvokeTimeout(handler, new StubTimeoutState());
            Assert.IsTrue(handler.TimeoutCalled);
        }
        public void Should_have_passed_through_correct_message()
        {
            var cache = new MessageHandlerRegistry(new Conventions());

            cache.CacheMethodForHandler(typeof(StubHandler), typeof(StubMessage));
            var handler     = new StubHandler();
            var stubMessage = new StubMessage();

            cache.InvokeHandle(handler, stubMessage);
            Assert.AreEqual(stubMessage, handler.HandledMessage);
        }
        public void HandlersShouldSetCapabilitiesForManifest() {
            var thing = new StubHandler();
            var thingToo = new StubTooHandler();
            
            var builder = new ContainerBuilder();
            builder.RegisterType<LiveWriterController>();
            builder.RegisterType<XmlRpcReader>().As<IXmlRpcReader>();
            builder.RegisterType<XmlRpcWriter>().As<IXmlRpcWriter>();
            builder.RegisterInstance(thing).As<IXmlRpcHandler>();
            builder.RegisterInstance(thingToo).As<IXmlRpcHandler>();

            var container = builder.Build();

            var controller = container.Resolve<LiveWriterController>();
            var result = controller.Manifest() as ContentResult;
            Assert.That(result, Is.Not.Null);
            Assert.That(result.Content, Is.StringContaining("<supportsGetTags>No</supportsGetTags>"));
            Assert.That(result.Content, Is.StringContaining("<keywordsAsTags>Yes</keywordsAsTags>"));
            Assert.That(result.Content, Is.StringContaining("<supportsKeywords>Maybe</supportsKeywords>"));

        }
        public void HandlersShouldSetCapabilitiesForManifest()
        {
            var thing    = new StubHandler();
            var thingToo = new StubTooHandler();

            var builder = new ContainerBuilder();

            builder.RegisterType <LiveWriterController>();
            builder.RegisterType <XmlRpcReader>().As <IXmlRpcReader>();
            builder.RegisterType <XmlRpcWriter>().As <IXmlRpcWriter>();
            builder.RegisterInstance(thing).As <IXmlRpcHandler>();
            builder.RegisterInstance(thingToo).As <IXmlRpcHandler>();

            var container = builder.Build();

            var controller = container.Resolve <LiveWriterController>();
            var result     = controller.Manifest() as ContentResult;

            Assert.That(result, Is.Not.Null);
            Assert.That(result.Content, Is.StringContaining("<supportsGetTags>No</supportsGetTags>"));
            Assert.That(result.Content, Is.StringContaining("<keywordsAsTags>Yes</keywordsAsTags>"));
            Assert.That(result.Content, Is.StringContaining("<supportsKeywords>Maybe</supportsKeywords>"));
        }