Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public ErrorResolution_Impl(string status, ErrorResolutionFlags flags)
 {
     Status          = status;
     ResolutionFlags = flags;
 }