Exemple #1
0
        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>()));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }