public void PausingWhileAlreadyPausedThrowsException() { // 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 void Act() => host.Pause(); // Assert BusConfigurationException exception = Assert.ThrowsException <BusConfigurationException>(Act); Assert.AreEqual("Attempted to pause the MicroserviceHost, but it was already paused.", exception.Message); }
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()); }
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); }