public void PauseThrowsExceptionWhenNotListening()
        {
            // Arrange
            var connectionMock = new Mock <IConnection>();
            var contextMock    = new Mock <IBusContext <IConnection> >();
            var modelMock      = new Mock <IModel>();

            contextMock.SetupGet(e => e.Connection).Returns(connectionMock.Object);
            connectionMock.Setup(e => e.CreateModel()).Returns(modelMock.Object);
            var receiver = new RabbitMqMessageReceiver(contextMock.Object, "queue", new string[0]);

            // Act
            void Act() => receiver.Pause();

            // Assert
            BusConfigurationException exception = Assert.ThrowsException <BusConfigurationException>(Act);

            Assert.AreEqual("Attempting to pause the MessageReceiver, but it is not even receiving messages.", exception.Message);
        }
예제 #2
0
        public void StopReplayThrowsExceptionIfNotReplaying()
        {
            // 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
            void Act() => replayHost.StopReplay();

            // Assert
            BusConfigurationException exception = Assert.ThrowsException <BusConfigurationException>(Act);

            Assert.AreEqual("Attempted to stop replaying the MicroserviceHost, but it is not replaying.", exception.Message);
        }
        public void ResumeThrowsExceptionIfNotPaused()
        {
            // Arrange
            var connectionMock = new Mock <IConnection>();
            var contextMock    = new Mock <IBusContext <IConnection> >();
            var modelMock      = new Mock <IModel>();

            contextMock.SetupGet(e => e.Connection).Returns(connectionMock.Object);
            connectionMock.Setup(e => e.CreateModel()).Returns(modelMock.Object);
            var receiver = new RabbitMqMessageReceiver(contextMock.Object, "queue", new string[0]);

            receiver.StartReceivingMessages();

            // Act
            void Act() => receiver.Resume();

            // Assert
            BusConfigurationException exception = Assert.ThrowsException <BusConfigurationException>(Act);

            Assert.AreEqual("Attempting to resume the MessageReceiver, but it was not paused.", exception.Message);
        }
        public void PauseThrowsExceptionIfAlreadyPaused()
        {
            // Arrange
            var connectionMock = new Mock <IConnection>();
            var contextMock    = new Mock <IBusContext <IConnection> >();
            var modelMock      = new Mock <IModel>();

            contextMock.SetupGet(e => e.Connection).Returns(connectionMock.Object);
            connectionMock.Setup(e => e.CreateModel()).Returns(modelMock.Object);
            var receiver = new RabbitMqCommandReceiver(contextMock.Object, "queue");

            receiver.DeclareCommandQueue();
            receiver.Pause();

            // Act
            void Act() => receiver.Pause();

            // Assert
            BusConfigurationException exception = Assert.ThrowsException <BusConfigurationException>(Act);

            Assert.AreEqual("Attempting to pause the CommandReceiver, but it was already paused.", exception.Message);
        }