public async Task StartsMessageProcessing() { var runner = CreateRunner(); await runner.RunOrchestrationAsync(); SubscriptionProcessorMock.Verify(o => o.Start(), Times.Once()); }
public async Task WaitsOrchestratorToShutDown() { SetupOptionsAccessorMock(TimeSpan.Zero, TimeSpan.FromSeconds(3)); int numberOfRequestsInProgress = 2; SubscriptionProcessorMock .SetupGet(o => o.NumberOfMessagesInProgress) .Returns(() => numberOfRequestsInProgress--); var runner = CreateRunner(); await runner.RunOrchestrationAsync(); SubscriptionProcessorMock.Verify(o => o.NumberOfMessagesInProgress, Times.AtLeast(3)); }
public async Task DoesNotBlockOnWaitingForSubscriptionProcessorToInitiateShutdown() { SubscriptionProcessorMock .Setup(sp => sp.StartShutdownAsync()) .Returns(Task.Delay(TimeSpan.FromDays(1))); // veeeery long shutdown var runner = CreateRunner(); var orchestrationTask = runner.RunOrchestrationAsync(); var delayTask = Task.Delay(TimeSpan.FromSeconds(5)); var didNotWait = await Task.WhenAny(orchestrationTask, delayTask) == orchestrationTask; Assert.True(didNotWait); SubscriptionProcessorMock .Verify(sp => sp.StartShutdownAsync(), Times.AtLeastOnce()); }
public async Task ShutsDownMessageProcessing() { var startCalled = false; SubscriptionProcessorMock .Setup(o => o.Start()) .Callback(() => startCalled = true); SubscriptionProcessorMock .Setup(o => o.ShutdownAsync(It.IsAny <TimeSpan>())) .Callback(() => Assert.True(startCalled)) .Returns(Task.FromResult(true)); var runner = CreateRunner(); await runner.RunOrchestrationAsync(); SubscriptionProcessorMock.Verify(o => o.ShutdownAsync(It.IsAny <TimeSpan>()), Times.Once()); }