public async Task HttpRetryHandler_HandlesNameResolutionFailure()
        {
            // Arrange
            var server = new UnknownDnsServer {
                Mode = TestServerMode.NameResolutionFailure
            };

            // Act & Assert
            var exception = await ThrowsException <HttpRequestException>(server);

#if IS_CORECLR
            Assert.NotNull(exception.InnerException);

            if (RuntimeEnvironmentHelper.IsMacOSX)
            {
                Assert.Equal("Device not configured", exception.InnerException.Message);
            }
            else if (!RuntimeEnvironmentHelper.IsWindows)
            {
                Assert.Equal("No such device or address", exception.InnerException.Message);
            }
            else
            {
                Assert.Equal("No such host is known", exception.InnerException.Message);
            }
#else
            var innerException = Assert.IsType <WebException>(exception.InnerException);
            Assert.Equal(WebExceptionStatus.NameResolutionFailure, innerException.Status);
#endif
        }
示例#2
0
        public async Task HttpRetryHandler_HandlesNameResolutionFailure()
        {
            // Arrange
            var server = new UnknownDnsServer {
                Mode = TestServerMode.NameResolutionFailure
            };

            // Act & Assert
            var exception = await ThrowsException <HttpRequestException>(server);

#if IS_CORECLR
            Assert.NotNull(exception.InnerException);
            if (!RuntimeEnvironmentHelper.IsWindows)
            {
                Assert.Equal("Couldn't resolve host name", exception.InnerException.Message);
            }
            else
            {
                Assert.Equal("The server name or address could not be resolved", exception.InnerException.Message);
            }
#else
            var innerException = Assert.IsType <WebException>(exception.InnerException);
            Assert.Equal(WebExceptionStatus.NameResolutionFailure, innerException.Status);
#endif
        }