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)); }
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); }
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); }