private static IErrorResolution CheckResolution(HttpStatusCode statusCode, bool continuous, bool hasRetries, ErrorResolutionFlags inputFlags) { var actual = ExceptionResolver.Solve(statusCode, new ExceptionResolverOptions { Continuous = continuous, HasRetries = hasRetries }); CheckResolution(actual, continuous, hasRetries, inputFlags); return(actual); }
private static void CheckResolution(IErrorResolution resolution, bool continuous, bool hasRetries, ErrorResolutionFlags inputFlags) { if (inputFlags.HasFlag(ErrorResolutionFlags.Transient)) { if (continuous) { if (hasRetries) { Assert.AreEqual(ErrorResolution.BackoffAndRetry, resolution.Resolution); } else { Assert.AreEqual(ErrorResolution.RetryLater, resolution.Resolution); } } else { if (hasRetries) { Assert.AreEqual(ErrorResolution.BackoffAndRetry, resolution.Resolution); } else { Assert.AreEqual(ErrorResolution.Stop, resolution.Resolution); } } } else if (inputFlags == ErrorResolutionFlags.Connectivity) { Assert.AreEqual(ErrorResolution.GoOffline, resolution.Resolution); } else { Assert.AreEqual(ErrorResolution.Stop, resolution.Resolution); } Assert.AreEqual(inputFlags, resolution.ResolutionFlags); }
public ErrorResolution_Impl(string status, ErrorResolutionFlags flags) { Status = status; ResolutionFlags = flags; }