public async Task handler_exceptions_are_thrown_as_expected()
        {
            var transportMessageDummy = new TransportLevelMessageBuilder().Build();
            var registrationDummy     = new MessageRegistrationBuilder().Build();

            var sut = new LocalMessageDispatcherBuilder()
                      .WithMessageHandlerRegistry(new MessageHandlerRegistryStub(registrationDummy))
                      .WithHandlerUnitOfWorkFactory(new DefaultUnitOfWorkFactory(new TypeResolverStub(new ErroneusHandler())))
                      .Build();

            await Assert.ThrowsAsync <ExpectedException>(() => sut.Dispatch(transportMessageDummy));
        }
        public async Task throws_expected_exception_when_dispatching_and_unable_to_resolve_handler_instance()
        {
            var transportMessageStub    = new TransportLevelMessageBuilder().Build();
            var messageRegistrationStub = new MessageRegistrationBuilder().Build();

            var sut = new LocalMessageDispatcherBuilder()
                      .WithMessageHandlerRegistry(new MessageHandlerRegistryStub(messageRegistrationStub))
                      .WithHandlerUnitOfWorkFactory(new HandlerUnitOfWorkFactoryStub(null))
                      .Build();

            await Assert.ThrowsAsync <UnableToResolveUnitOfWorkForHandlerException>(() => sut.Dispatch(transportMessageStub));
        }
        public async Task throws_expected_exception_when_dispatching_and_no_handler_has_been_registered()
        {
            var transportMessageStub            = new TransportLevelMessageBuilder().Build();
            var emptyMessageHandlerRegistryStub = new MessageHandlerRegistryStub();
            var dummyFactory = new HandlerUnitOfWorkFactoryStub(null);

            var sut = new LocalMessageDispatcherBuilder()
                      .WithMessageHandlerRegistry(emptyMessageHandlerRegistryStub)
                      .WithHandlerUnitOfWorkFactory(dummyFactory)
                      .Build();

            await Assert.ThrowsAsync <MissingMessageHandlerRegistrationException>(() => sut.Dispatch(transportMessageStub));
        }
Esempio n. 4
0
        public async Task handler_exceptions_are_thrown_as_expected()
        {
            var transportMessageDummy = new TransportLevelMessageBuilder().WithType("foo").Build();
            var registrationDummy     = new MessageRegistrationBuilder().WithMessageType("foo").Build();
            var registry = new MessageHandlerRegistry();

            registry.Register(registrationDummy);

            var sut = new LocalMessageDispatcherBuilder()
                      .WithMessageHandlerRegistry(registry)
                      .WithHandlerUnitOfWork(new UnitOfWorkStub(new ErroneusHandler()))
                      .Build();

            await Assert.ThrowsAsync <ExpectedException>(() => sut.Dispatch(transportMessageDummy));
        }
        public async Task handler_is_invoked_as_expected_when_dispatching()
        {
            var mock = new Mock <IMessageHandler <object> >();

            var transportMessageDummy = new TransportLevelMessageBuilder().Build();
            var registrationDummy     = new MessageRegistrationBuilder().Build();

            var typeResolverStub = new TypeResolverStub(mock.Object);

            var sut = new LocalMessageDispatcherBuilder()
                      .WithMessageHandlerRegistry(new MessageHandlerRegistryStub(registrationDummy))
                      .WithHandlerUnitOfWorkFactory(new DefaultUnitOfWorkFactory(typeResolverStub))
                      .Build();

            await sut.Dispatch(transportMessageDummy);

            mock.Verify(x => x.Handle(It.IsAny <object>()), Times.Once);
        }
Esempio n. 6
0
        public async Task handler_is_invoked_as_expected_when_dispatching()
        {
            var mock = new Mock <IMessageHandler <object> >();

            var transportMessageDummy = new TransportLevelMessageBuilder().WithType("foo").Build();
            var registrationDummy     = new MessageRegistrationBuilder().WithMessageType("foo").Build();
            var registry = new MessageHandlerRegistry();

            registry.Register(registrationDummy);

            var sut = new LocalMessageDispatcherBuilder()
                      .WithMessageHandlerRegistry(registry)
                      .WithHandlerUnitOfWork(new UnitOfWorkStub(mock.Object))
                      .Build();

            await sut.Dispatch(transportMessageDummy);

            mock.Verify(x => x.Handle(It.IsAny <object>(), It.IsAny <MessageHandlerContext>()), Times.Once);
        }