public async Task GetModulesRetryUnauthorizedThrowsTest() { // Arrange var underlying = new Mock <IServiceClient>(); underlying.SetupSequence(c => c.GetModules()) .Throws(new UnauthorizedException("Unauthorized!")) .Returns(Task.FromResult(Enumerable.Empty <Module>())); var serviceClient = new RetryingServiceClient(underlying.Object); // Act / Assert await Assert.ThrowsAsync <UnauthorizedException>(() => serviceClient.GetModules()); }
public async Task GetModuleThrowsTest() { // Arrange var underlying = new Mock <IServiceClient>(); underlying.Setup(c => c.GetModules()) .ThrowsAsync(new InvalidOperationException()); var serviceClient = new RetryingServiceClient(underlying.Object); // Act / assert await Assert.ThrowsAsync <InvalidOperationException>(() => serviceClient.GetModules()); // Assert underlying.Verify(u => u.GetModules(), Times.Exactly(4)); }
public async Task GetModulesRetryTest() { // Arrange var underlying = new Mock <IServiceClient>(); underlying.SetupSequence(c => c.GetModules()) .Throws(new InvalidOperationException()) .Returns(Task.FromResult(Enumerable.Empty <Module>())); var serviceClient = new RetryingServiceClient(underlying.Object); // Act IEnumerable <Module> modules = await serviceClient.GetModules(); // Assert Assert.NotNull(modules); }