public async Task QueueFactory_is_invoked_when_a_event_is_registered([Frozen] IMessageDescriptorStore messageDescriptorStore, [Frozen] IRabbitMqConfiguration configuration, RabbitMqBusEngine sut) { sut.SubscribeToEvent <FirstTestEvent>(); var sequence = await sut.StartAsync(); Mock.Get(configuration.EventQueueFactory).Verify(p => p.CreateQueue(It.IsAny <IModel>())); }
public void SubscribeToEvent_handles_multiple_events([Frozen] IMessageDescriptorStore messageDescriptorStore, RabbitMqBusEngine sut) { sut.SubscribeToEvent <FirstTestEvent>(); sut.SubscribeToEvent <SecondTestEvent>(); Assert.That(messageDescriptorStore.Events, Contains.Item(typeof(FirstTestEvent))); Assert.That(messageDescriptorStore.Events, Contains.Item(typeof(SecondTestEvent))); }
public void SubscribeToCommand_handles_multiple_commands([Frozen] IMessageDescriptorStore messageDescriptorStore, RabbitMqBusEngine sut) { sut.SubscribeToCommand <FirstTestCommand>(); sut.SubscribeToCommand <SecondTestCommand>(); Assert.That(messageDescriptorStore.Commands, Contains.Item(typeof(FirstTestCommand))); Assert.That(messageDescriptorStore.Commands, Contains.Item(typeof(SecondTestCommand))); }
public async Task Events_are_ignored_if_not_registered([Frozen] IMessageDescriptorStore messageDescriptorStore, [Frozen] IEnvelopeService envelopeService, InMemoryBusEngine sut, EventMessage <FirstTestEvent> testMessage, IFixture fixture) { fixture.Customize <Envelope>(c => c .With(p => p.Type, testMessage.Type) .With(p => p.Headers, testMessage.Headers) .With(p => p.Content) .With(p => p.MessageId, testMessage.MessageId) .With(p => p.MessageType, testMessage.MessageType) ); Mock.Get(envelopeService).Setup(p => p.CreateEnvelope(It.IsAny <EventMessage <FirstTestEvent> >())).ReturnsUsingFixture(fixture); Mock.Get(envelopeService).Setup(p => p.CreateEventMessage(It.IsAny <Envelope>(), It.IsAny <Type>())).Returns(testMessage); var sequence = await sut.StartAsync().ConfigureAwait(false); var items = sequence.DumpInList(); await sut.SendMessageAsync(testMessage); Assert.That(items, Is.Empty); }
public RabbitMqBusEngine(IRabbitMqConfiguration configuration, IMessageDescriptorStore messageDescriptorStore, ILogger <RabbitMqBusEngine> logger) { _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _messageDescriptorStore = messageDescriptorStore ?? throw new ArgumentNullException(nameof(messageDescriptorStore)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public void SubscribeToEvent_registers_event_type([Frozen] IMessageDescriptorStore messageDescriptorStore, RabbitMqBusEngine sut) { sut.SubscribeToEvent <FirstTestEvent>(); Assert.That(messageDescriptorStore.Events, Contains.Item(typeof(FirstTestEvent))); }
public void SubscribeToCommand_registers_command_type([Frozen] IMessageDescriptorStore messageDescriptorStore, RabbitMqBusEngine sut) { sut.SubscribeToCommand <FirstTestCommand>(); Assert.That(messageDescriptorStore.Commands, Contains.Item(typeof(FirstTestCommand))); }
public InMemoryBusEngine(IMessageDescriptorStore messageDescriptorStore, IEnvelopeService envelopeService) { _messageDescriptorStore = messageDescriptorStore ?? throw new ArgumentNullException(nameof(messageDescriptorStore)); _envelopeService = envelopeService ?? throw new ArgumentNullException(nameof(envelopeService)); }