public void ShouldExecuteTheCorrectHandlers() { // Arrange var messageProcessor = new MessageHandlerProcessor(_mockContainer.Object); var message1HandlerReference = new HandlerReference { HandlerType = typeof(FakeHandler1), MessageType = typeof(FakeMessage1) }; _mockContainer.Setup(x => x.GetHandlerTypes(typeof(IMessageHandler <FakeMessage1>))).Returns(new List <HandlerReference> { message1HandlerReference }); var fakeHandler = new FakeHandler1(); _mockContainer.Setup(x => x.GetInstance(typeof(FakeHandler1))).Returns(fakeHandler); // Act var message1 = new FakeMessage1(Guid.NewGuid()) { Username = "******" }; messageProcessor.ProcessMessage <FakeMessage1>(JsonConvert.SerializeObject(message1), null); var message2 = new FakeMessage2(Guid.NewGuid()) { DisplayName = "Tim Watson" }; messageProcessor.ProcessMessage <FakeMessage2>(JsonConvert.SerializeObject(message2), null); // Assert Assert.Equal(message1.CorrelationId, fakeHandler.Command.CorrelationId); Assert.Equal(message1.Username, fakeHandler.Command.Username); _mockContainer.Verify(x => x.GetInstance(typeof(FakeHandler2)), Times.Never); }
public void ShouldExecuteTheCorrectHandlers() { // Arrange var messageProcessor = new MessageHandlerProcessor(_mockContainer.Object); var message1HandlerReference = new HandlerReference { HandlerType = typeof (FakeHandler1), MessageType = typeof (FakeMessage1) }; _mockContainer.Setup(x => x.GetHandlerTypes(typeof(IMessageHandler<FakeMessage1>))).Returns(new List<HandlerReference> { message1HandlerReference }); var fakeHandler = new FakeHandler1(); _mockContainer.Setup(x => x.GetInstance(typeof (FakeHandler1))).Returns(fakeHandler); // Act var message1 = new FakeMessage1(Guid.NewGuid()) { Username = "******" }; messageProcessor.ProcessMessage<FakeMessage1>(JsonConvert.SerializeObject(message1), null); var message2 = new FakeMessage2(Guid.NewGuid()) { DisplayName = "Tim Watson" }; messageProcessor.ProcessMessage<FakeMessage2>(JsonConvert.SerializeObject(message2), null); // Assert Assert.Equal(message1.CorrelationId, fakeHandler.Command.CorrelationId); Assert.Equal(message1.Username, fakeHandler.Command.Username); _mockContainer.Verify(x => x.GetInstance(typeof (FakeHandler2)), Times.Never); }
public void ShouldExecuteTheCorrectHandlers() { // Arrange var bus = new MessageBus.Bus(_mockConfiguration.Object); var message1HandlerReference = new HandlerReference { HandlerType = typeof (FakeHandler1), MessageType = typeof (FakeMessage1) }; var handlerReferences = new List<HandlerReference> { message1HandlerReference, new HandlerReference { HandlerType = typeof (FakeHandler2), MessageType = typeof (FakeMessage2) } }; _mockContainer.Setup(x => x.GetHandlerTypes()).Returns(handlerReferences); _mockConsumer.Setup(x => x.StartConsuming(It.Is<ConsumerEventHandler>(y => AssignEventHandler(y)), It.IsAny<string>(), It.IsAny<string>())); _mockContainer.Setup(x => x.GetHandlerTypes(typeof(IMessageHandler<FakeMessage1>))).Returns(new List<HandlerReference> { message1HandlerReference }); var fakeHandler = new FakeHandler1(); _mockContainer.Setup(x => x.GetInstance(typeof (FakeHandler1))).Returns(fakeHandler); bus.StartConsuming(); // Act var message1 = new FakeMessage1(Guid.NewGuid()) { Username = "******" }; _fakeEventHandler(Encoding.UTF8.GetBytes(_serializer.Serialize(message1))); var message2 = new FakeMessage2(Guid.NewGuid()) { DisplayName = "Tim Watson" }; _fakeEventHandler(Encoding.UTF8.GetBytes(_serializer.Serialize(message2))); // Assert Assert.Equal(message1.CorrelationId, fakeHandler.Command.CorrelationId); Assert.Equal(message1.Username, fakeHandler.Command.Username); _mockContainer.Verify(x => x.GetInstance(typeof (FakeHandler2)), Times.Never); }