public void NoExceptionsWhenRegisteringSubscribersOfNoMatchingPublishers() { var subscriberFake = Substitute.For<IEventSubscriber<FooHappens>>(); var bus = new SingleProcessMessageBus(); bus.RegisterSubscriber(subscriberFake); }
public void ThreeSubsDontHandleEventWhenSubsAreRegisteredThenSubsAreUnRegisteredThenPubIsRegistered() { var subscriberId1 = Guid.NewGuid(); var subscriberId2 = Guid.NewGuid(); var subscriberId3 = Guid.NewGuid(); var subscriberFake1 = Substitute.For <IEventSubscriber <FooHappens> >(); var subscriberFake2 = Substitute.For <IEventSubscriber <FooHappens> >(); var subscriberFake3 = Substitute.For <IEventSubscriber <FooHappens> >(); var publisherFake = new FooPublisher(); subscriberFake1.Id.Returns(subscriberId1); subscriberFake2.Id.Returns(subscriberId2); subscriberFake3.Id.Returns(subscriberId3); var messageId = Guid.NewGuid(); var message = new FooHappens(messageId); var bus = new SingleProcessMessageBus(); bus.RegisterSubscriber(subscriberFake1); bus.RegisterSubscriber(subscriberFake2); bus.RegisterSubscriber(subscriberFake3); bus.UnRegisterSubscriber(subscriberFake1); bus.UnRegisterSubscriber(subscriberFake2); bus.UnRegisterSubscriber(subscriberFake3); bus.RegisterPublisher(publisherFake); publisherFake.Publish(message); subscriberFake1.Received(0).Handle(message); subscriberFake2.Received(0).Handle(message); subscriberFake3.Received(0).Handle(message); }
public void NoExceptionsWhenRegisteringSubscribersOfNoMatchingPublishers() { var subscriberFake = Substitute.For <IEventSubscriber <FooHappens> >(); var bus = new SingleProcessMessageBus(); bus.RegisterSubscriber(subscriberFake); }
public void NoExceptionsWhenOverwritingRegistrationsOfSubscribersOfMatchingPublishers() { var subscriberId1 = Guid.NewGuid(); var subscriberId2 = Guid.NewGuid(); var subscriberFake1 = Substitute.For<IEventSubscriber<FooHappens>>(); var subscriberFake2 = Substitute.For<IEventSubscriber<FooHappens>>(); var publisherFake1 = Substitute.For<IEventPublisher<FooHappens>>(); subscriberFake1.Id.Returns(subscriberId1); subscriberFake2.Id.Returns(subscriberId2); var bus = new SingleProcessMessageBus(); bus.RegisterPublisher(publisherFake1); bus.RegisterSubscriber(subscriberFake1); bus.RegisterSubscriber(subscriberFake2); bus.RegisterSubscriber(subscriberFake1); bus.RegisterSubscriber(subscriberFake2); }
public void NoExceptionsWhenRegisteringSubscribersOfMatchingPublishers() { var subscriberId1 = Guid.NewGuid(); var subscriberId2 = Guid.NewGuid(); var subscriberFake1 = Substitute.For <IEventSubscriber <FooHappens> >(); var subscriberFake2 = Substitute.For <IEventSubscriber <FooHappens> >(); var publisherFake1 = Substitute.For <IEventPublisher <FooHappens> >(); subscriberFake1.Id.Returns(subscriberId1); subscriberFake2.Id.Returns(subscriberId2); var bus = new SingleProcessMessageBus(); bus.RegisterPublisher(publisherFake1); bus.RegisterSubscriber(subscriberFake1); bus.RegisterSubscriber(subscriberFake2); }
public void OneSubHandlesEventWhenSubIsRegisteredThenPubIsRegistered() { var messageId = Guid.NewGuid(); var subscriberId = Guid.NewGuid(); var subscriberFake = Substitute.For <IEventSubscriber <FooHappens> >(); var publisherFake = new FooPublisher(); subscriberFake.Id.Returns(subscriberId); var bus = new SingleProcessMessageBus(); bus.RegisterSubscriber(subscriberFake); bus.RegisterPublisher(publisherFake); var message = new FooHappens(messageId); publisherFake.Publish(message); subscriberFake.Received(1).Handle(message); }
public void ThreeSubsDontHandleEventWhenSubsAreRegisteredThenSubsAreUnRegisteredThenPubIsRegistered() { var subscriberId1 = Guid.NewGuid(); var subscriberId2 = Guid.NewGuid(); var subscriberId3 = Guid.NewGuid(); var subscriberFake1 = Substitute.For<IEventSubscriber<FooHappens>>(); var subscriberFake2 = Substitute.For<IEventSubscriber<FooHappens>>(); var subscriberFake3 = Substitute.For<IEventSubscriber<FooHappens>>(); var publisherFake = new FooPublisher(); subscriberFake1.Id.Returns(subscriberId1); subscriberFake2.Id.Returns(subscriberId2); subscriberFake3.Id.Returns(subscriberId3); var messageId = Guid.NewGuid(); var message = new FooHappens(messageId); var bus = new SingleProcessMessageBus(); bus.RegisterSubscriber(subscriberFake1); bus.RegisterSubscriber(subscriberFake2); bus.RegisterSubscriber(subscriberFake3); bus.UnRegisterSubscriber(subscriberFake1); bus.UnRegisterSubscriber(subscriberFake2); bus.UnRegisterSubscriber(subscriberFake3); bus.RegisterPublisher(publisherFake); publisherFake.Publish(message); subscriberFake1.Received(0).Handle(message); subscriberFake2.Received(0).Handle(message); subscriberFake3.Received(0).Handle(message); }
public void OneSubDoesntHandleEventWhenSubIsRegisteredThenSubIsUnRegisteredThenPubIsRegistered() { var messageId = Guid.NewGuid(); var subscriberId = Guid.NewGuid(); var subscriberFake = Substitute.For<IEventSubscriber<FooHappens>>(); var publisherFake = new FooPublisher(); subscriberFake.Id.Returns(subscriberId); var bus = new SingleProcessMessageBus(); bus.RegisterSubscriber(subscriberFake); bus.UnRegisterSubscriber(subscriberFake); bus.RegisterPublisher(publisherFake); var message = new FooHappens(messageId); publisherFake.Publish(message); subscriberFake.Received(0).Handle(message); }