Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }