public void GivenAMessage_WhenAskedToProcess_ShouldTryToFindHandlersForMessageTypeHierarchy() { var expected = new[] { typeof(ICommandHandler <object>), typeof(ICommandHandler <SimpleCommandBase>), typeof(ICommandHandler <SimpleCommand>), }; var result = new List <Type>(); Resolver.ClearResolvers(); Resolver.SetResolvers( type => null, type => { result.Add(type); return(LocateAllCommandHandlers(type)); }); var processor = new CommandProcessor(new NullLogger()); processor.Process(new SimpleCommand()); CollectionAssert.AreEqual(expected, result); }
public void GivenAMessage_WhenAskedToPublish_ShouldTryToFindHandlersForMessageTypeHierarchy() { var expected = new[] { typeof(IEventHandler <object>), typeof(IEventHandler <SimpleEventBase>), typeof(IEventHandler <SimpleEvent>), typeof(IEventHandler <IEventHandlingSucceededEvent <object> >), typeof(IEventHandler <IEventHandlingSucceededEvent <SimpleEventBase> >), typeof(IEventHandler <IEventHandlingSucceededEvent <SimpleEvent> >) }; var result = new List <Type>(); Resolver.ClearResolvers(); Resolver.SetResolvers( type => null, type => { result.Add(type); return(LocateAllEventHandlers(type)); }); _eventBus.Publish(new SimpleEvent()); CollectionAssert.AreEqual(expected, result); }
public void TearDown() { Conventions.SetFindAggregateTypeForEventType(null); Resolver.ClearResolvers(); _documentStore.Dispose(); _documentStore = null; }
public void GivenAMessageThatWillFailHandling_WhenAskedToPublish_ShouldAllowRetryableExceptionsToPropagate() { Conventions.SetRetryableEventHandlingExceptionFilter((o, e) => true); var failingEventHandler = new FailingEventHandler(); Resolver.ClearResolvers(); Resolver.SetResolvers( type => null, type => new object[] { failingEventHandler }.Where(x => type.IsAssignableFrom(x.GetType()))); var eventThatWillFailToBeHandled = new SimpleEvent(); var exception = Assert.Throws <TargetInvocationException>(() => _eventBus.Publish(eventThatWillFailToBeHandled)); CollectionAssert.AreEqual( new[] { typeof(SimpleEvent) }, failingEventHandler.TargetsCalled); }
public void GivenAMessageThatWillFailHandling_WhenAskedToPublish_ShouldGenerateFailedHandlingMessage() { var failingEventHandler = new FailingEventHandler(); Resolver.ClearResolvers(); Resolver.SetResolvers( type => null, type => new object[] { failingEventHandler }.Where(x => type.IsAssignableFrom(x.GetType()))); var eventThatWillFailToBeHandled = new SimpleEvent(); _eventBus.Publish(eventThatWillFailToBeHandled); CollectionAssert.AreEqual( new[] { typeof(SimpleEvent), typeof(IEventHandlingFailedEvent <SimpleEvent>) }, failingEventHandler.TargetsCalled); }
public void TearDown() { Resolver.ClearResolvers(); }
public void TearDown() { ObjectComparisonResult.ThrowOnFail = false; Resolver.ClearResolvers(); }