public void StartReplayCallsStartHandlingMessagesOnAllListeners() { // Arrange Mock <IBusContext <IConnection> > connectionMock = new Mock <IBusContext <IConnection> >(); Mock <IMessageReceiver> messageReceiverMock = new Mock <IMessageReceiver>(); List <MicroserviceListener> listeners = new List <MicroserviceListener>(); List <MicroserviceReplayListener> replayListeners = new List <MicroserviceReplayListener> { new MicroserviceReplayListener { Queue = "queue", Callback = message => { }, TopicExpressions = new string[0] } }; List <MicroserviceCommandListener> commandListeners = new List <MicroserviceCommandListener>(); connectionMock.Setup(e => e.CreateMessageReceiver(It.IsAny <string>(), It.IsAny <string[]>())) .Returns(messageReceiverMock.Object); IMicroserviceReplayHost replayHost = new MicroserviceReplayHost(connectionMock.Object, listeners, replayListeners, commandListeners, new NullLogger <MicroserviceHost>()); // Act replayHost.StartReplay(); // Assert messageReceiverMock.Verify(e => e.StartHandlingMessages(It.IsAny <EventMessageReceivedCallback>())); }
public void StartReplayThrowsExceptionIfAlreadyReplaying() { // Arrange Mock <IBusContext <IConnection> > connectionMock = new Mock <IBusContext <IConnection> >(); List <MicroserviceListener> listeners = new List <MicroserviceListener>(); List <MicroserviceReplayListener> replayListeners = new List <MicroserviceReplayListener>(); List <MicroserviceCommandListener> commandListeners = new List <MicroserviceCommandListener>(); IMicroserviceReplayHost replayHost = new MicroserviceReplayHost(connectionMock.Object, listeners, replayListeners, commandListeners, new NullLogger <MicroserviceHost>()); replayHost.StartReplay(); // Act void Act() => replayHost.StartReplay(); // Assert BusConfigurationException exception = Assert.ThrowsException <BusConfigurationException>(Act); Assert.AreEqual("Attempted to replay the MicroserviceHost, but it is already replaying.", exception.Message); }
public void StartReplaySetsIsReplayingToTrue() { // Arrange Mock <IBusContext <IConnection> > connectionMock = new Mock <IBusContext <IConnection> >(); List <MicroserviceListener> listeners = new List <MicroserviceListener>(); List <MicroserviceReplayListener> replayListeners = new List <MicroserviceReplayListener>(); List <MicroserviceCommandListener> commandListeners = new List <MicroserviceCommandListener>(); IMicroserviceReplayHost replayHost = new MicroserviceReplayHost(connectionMock.Object, listeners, replayListeners, commandListeners, new NullLogger <MicroserviceHost>()); // Act replayHost.StartReplay(); // Assert Assert.AreEqual(true, replayHost.IsReplaying); }