Esempio 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());
        }
Esempio 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));
        }
Esempio 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);
        }