public void WebRequestTransientErrorDetectionStrategyTestDataServiceQueryException() { // Unfortunately this exception isn't easy to Mock with an actual error code so just // do a basic test var exception = new DataServiceQueryException("Simulated DataServiceQueryException"); bool actual = new WebRequestTransientErrorDetectionStrategy().IsTransient(exception); Assert.IsFalse(actual); }
public void WebRequestTransientErrorDetectionStrategyDataServiceTransportExceptionTest() { HttpStatusCode[] allHttpStatusCodeValues = (HttpStatusCode[])Enum.GetValues(typeof(HttpStatusCode)); WebRequestTransientErrorDetectionStrategy strategy = new WebRequestTransientErrorDetectionStrategy(); foreach (HttpStatusCode status in allHttpStatusCodeValues) { DataServiceTransportException exception = QueryErrorDetectionStrategyTest.GetMockedTransportException(status); Assert.IsFalse(strategy.IsTransient(exception)); } }
public void WebRequestTransientErrorDetectionStrategyTestGeneralException() { bool actual = new WebRequestTransientErrorDetectionStrategy().IsTransient(new Exception()); Assert.IsFalse(actual); }
public void WebRequestTransientErrorDetectionStrategyWebExceptionTest() { WebExceptionStatus[] allWebExceptionStatusValues = (WebExceptionStatus[])Enum.GetValues(typeof(WebExceptionStatus)); WebRequestTransientErrorDetectionStrategy strategy = new WebRequestTransientErrorDetectionStrategy(); foreach (WebExceptionStatus status in allWebExceptionStatusValues) { if (status == WebExceptionStatus.ProtocolError) { // This is covered in a separate test continue; } WebException exception = new WebException("Simulated WebException with " + status.ToString(), status); if (strategy.IsTransient(exception)) { Assert.IsTrue(QueryErrorDetectionStrategyTest.SupportedRetryableWebExceptions.Contains(exception.Status), exception.Status.ToString()); } else { Assert.IsFalse(QueryErrorDetectionStrategyTest.SupportedRetryableWebExceptions.Contains(exception.Status), exception.Status.ToString()); } } }
public void WebRequestTransientErrorDetectionStrategyWebExceptionProtocolErrorTest() { HttpStatusCode[] allHttpStatusCodeValues = (HttpStatusCode[])Enum.GetValues(typeof(HttpStatusCode)); WebRequestTransientErrorDetectionStrategy strategy = new WebRequestTransientErrorDetectionStrategy(); foreach (HttpStatusCode status in allHttpStatusCodeValues) { WebException exception = QueryErrorDetectionStrategyTest.GetMockedWebExceptionWithProtocolError(status); if (strategy.IsTransient(exception)) { Assert.IsTrue(QueryErrorDetectionStrategyTest.SupportedRetryableHttpStatusCodes.Contains(status), status.ToString()); } else { Assert.IsFalse(QueryErrorDetectionStrategyTest.SupportedRetryableHttpStatusCodes.Contains(status), status.ToString()); } } }
public void WebRequestTransientErrorDetectionStrategyTestTimeoutException() { var exception = new TimeoutException(); bool actual = new WebRequestTransientErrorDetectionStrategy().IsTransient(exception); Assert.IsTrue(actual); }
public void WebRequestTransientErrorDetectionStrategyTestIOException() { var exception = new System.IO.IOException(); bool actual = new WebRequestTransientErrorDetectionStrategy().IsTransient(exception); Assert.IsFalse(actual); }