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); }
public async Task GetModuleRetryTest() { // Arrange var underlying = new Mock <IServiceClient>(); underlying.SetupSequence(c => c.GetModule(It.IsAny <string>())) .Throws(new InvalidOperationException()) .Returns(Task.FromResult(new Module("d1", "m1"))); var serviceClient = new RetryingServiceClient(underlying.Object); // Act Module module = await serviceClient.GetModule("m1"); // Assert Assert.NotNull(module); Assert.Equal("d1", module.DeviceId); Assert.Equal("m1", module.Id); }
public async Task CreateModulesRetryTest() { // Arrange var underlying = new Mock <IServiceClient>(); underlying.SetupSequence(c => c.CreateModules(It.IsAny <IEnumerable <string> >())) .Throws(new InvalidOperationException()) .Returns(Task.FromResult(new[] { new Module("d1", "m1") })); var serviceClient = new RetryingServiceClient(underlying.Object); // Act Module[] modules = await serviceClient.CreateModules(new List <string> { "m1" }); // Assert Assert.NotNull(modules); Assert.Equal(1, modules.Length); Assert.Equal("m1", modules[0].Id); }