示例#1
0
        public void ResumingWhileNotStartedThrowsException()
        {
            // Arrange
            var contextMock  = new Mock <IBusContext <IConnection> >();
            var receiverMock = new Mock <IMessageReceiver>();
            var logger       = new Mock <ILogger <MicroserviceHost> >();

            const string queue = "testQueue";

            string[] topics = { "Topic1", "Topic2" };

            contextMock.Setup(e => e.CreateMessageReceiver(queue, topics))
            .Returns(receiverMock.Object);

            var listeners = new[] { new MicroserviceListener {
                                        TopicExpressions = topics
                                    } };

            var host = new MicroserviceHost(contextMock.Object, listeners, new List <MicroserviceCommandListener>(), queue, logger.Object);

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

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

            Assert.AreEqual("Attempted to resume the MicroserviceHost, but host has not been started.", exception.Message);
        }
示例#2
0
        public void ResumeIsCalledOnReceiver()
        {
            // Arrange
            var contextMock  = new Mock <IBusContext <IConnection> >();
            var receiverMock = new Mock <IMessageReceiver>();
            var logger       = new Mock <ILogger <MicroserviceHost> >();

            const string queue = "testQueue";

            string[] topics = { "Topic1", "Topic2" };

            contextMock.Setup(e => e.CreateMessageReceiver(queue, topics))
            .Returns(receiverMock.Object);

            var listeners = new[] { new MicroserviceListener {
                                        TopicExpressions = topics
                                    } };

            var host = new MicroserviceHost(contextMock.Object, listeners, new List <MicroserviceCommandListener>(), queue, logger.Object);

            host.Start();
            host.Pause();

            // Act
            host.Resume();

            // Assert
            receiverMock.Verify(e => e.Resume());
        }
示例#3
0
        public void ResumingTriggersHostResumedEventWithProperValues()
        {
            // Arrange
            var contextMock  = new Mock <IBusContext <IConnection> >();
            var receiverMock = new Mock <IMessageReceiver>();
            var logger       = new Mock <ILogger <MicroserviceHost> >();

            const string queue = "testQueue";

            string[] topics = { "Topic1", "Topic2" };

            contextMock.Setup(e => e.CreateMessageReceiver(queue, topics))
            .Returns(receiverMock.Object);

            var listeners = new[] { new MicroserviceListener {
                                        TopicExpressions = topics
                                    } };

            var host = new MicroserviceHost(contextMock.Object, listeners, new List <MicroserviceCommandListener>(), queue, logger.Object);

            host.Start();
            host.Pause();

            IMicroserviceHost    resultHost = null;
            HostResumedEventArgs eventArgs  = null;

            host.HostResumed += (microserviceHost, args) =>
            {
                resultHost = microserviceHost;
                eventArgs  = args;
            };

            // Act
            host.Resume();

            // Assert
            Assert.AreEqual(host, resultHost);
            Assert.IsNotNull(eventArgs);
        }