public async Task ShouldNotSetSessionIdToNullIfResumable( string sessionId, [Frozen, Substitute] IGatewayService gateway, [Target] DefaultGatewayRestartService service ) { var cancellationToken = new CancellationToken(false); var resume = true; await service.Restart(gateway, resume, cancellationToken); gateway.DidNotReceive().SessionId = null; }
public async Task ShouldStopTheGatewayService( string sessionId, [Frozen, Substitute] IGatewayService gateway, [Target] DefaultGatewayRestartService service ) { var cancellationToken = new CancellationToken(false); var resume = true; await service.Restart(gateway, resume, cancellationToken); await gateway.Received().StopAsync(Is(cancellationToken)); }
public async Task ShouldWaitRandomAmountOfTimeBetween1And5Seconds( string sessionId, [Frozen, Substitute] IGatewayService gateway, [Frozen, Substitute] IGatewayUtilsFactory factory, [Target] DefaultGatewayRestartService service ) { var cancellationToken = new CancellationToken(false); var resume = true; await service.Restart(gateway, resume, cancellationToken); await factory.Received().CreateRandomDelay(1000, 5000, Is(cancellationToken)); }
public async Task ShouldReportARestartMetric( string sessionId, [Frozen, Substitute] IMetricReporter reporter, [Frozen, Substitute] IGatewayService gateway, [Target] DefaultGatewayRestartService service ) { var cancellationToken = new CancellationToken(false); var resume = true; await service.Restart(gateway, resume, cancellationToken); await reporter.Received().Report(Is(default(GatewayRestartMetric)), Is(cancellationToken)); }
public async Task ShouldThrowIfCanceled( string sessionId, [Frozen, Substitute] IGatewayService gateway, [Target] DefaultGatewayRestartService service ) { var cancellationToken = new CancellationToken(true); var resume = true; Func <Task> func = () => service.Restart(gateway, resume, cancellationToken); await func.Should().ThrowAsync <OperationCanceledException>(); await gateway.DidNotReceive().StopAsync(Is(cancellationToken)); await gateway.DidNotReceive().StartAsync(Is(cancellationToken)); }