public void HttpRequestStatusExceptionAndStatusCodeIsTransient_ReturnsTrue(HttpStatusCode statusCode)
            {
                // Arrange
                var ex = new HttpRequestStatusException(statusCode, new Uri("http://example.org"));

                // Act
                var isTransient = SteamWebApiClient.IsTransient(ex);

                // Assert
                Assert.True(isTransient);
            }
            public void ReturnsFalse()
            {
                // Arrange
                var ex = new Exception();

                // Act
                var isTransient = SteamWebApiClient.IsTransient(ex);

                // Assert
                Assert.False(isTransient);
            }
            public void ExIsHttpRequestExceptionAndInnerExceptionIsNotWebException_ReturnsFalse()
            {
                // Arrange
                var inner = new Exception();
                var ex    = new HttpRequestException(null, inner);

                // Act
                var isTransient = SteamWebApiClient.IsTransient(ex);

                // Assert
                Assert.False(isTransient);
            }
            public void ExIsHttpRequestExceptionAndInnerExceptionIsWebExceptionAndStatusIsTransient_ReturnsTrue(WebExceptionStatus status)
            {
                // Arrange
                var inner = new WebException(null, status);
                var ex    = new HttpRequestException(null, inner);

                // Act
                var isTransient = SteamWebApiClient.IsTransient(ex);

                // Assert
                Assert.True(isTransient);
            }
            public void ExIsHttpRequestStatusExceptionAndStatusCodeIsNotTransient_ReturnsFalse()
            {
                // Arrange
                var statusCode = HttpStatusCode.Forbidden;
                var ex         = new HttpRequestStatusException(statusCode, new Uri("http://example.org"));

                // Act
                var isTransient = SteamWebApiClient.IsTransient(ex);

                // Assert
                Assert.False(isTransient);
            }
            public void ReturnsSteamWebApiClient()
            {
                // Arrange
                var handler         = new MockHttpMessageHandler();
                var telemetryClient = new TelemetryClient();

                // Act
                var client = new SteamWebApiClient(handler, telemetryClient);

                // Assert
                Assert.IsAssignableFrom <SteamWebApiClient>(client);
            }
            public void ExIsHttpRequestExceptionAndInnerExceptionIsWebExceptionAndStatusIsNotTransient_ReturnsFalse()
            {
                // Arrange
                var status = WebExceptionStatus.NameResolutionFailure;
                var inner  = new WebException(null, status);
                var ex     = new HttpRequestException(null, inner);

                // Act
                var isTransient = SteamWebApiClient.IsTransient(ex);

                // Assert
                Assert.False(isTransient);
            }
 public DisposeMethod()
 {
     client = new SteamWebApiClient(handler, true, telemetryClient);
 }
 public SteamWebApiClientTests()
 {
     client = new SteamWebApiClient(handler, telemetryClient);
 }