public void TestThresholdReach() { var breaker = new CircuitBreaker(new CircuitBreakerConfig { ConsecutiveErrorsToBreak = 2, BreakDelayInSeconds = 5 }); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsTrue(breaker.IsCircuitOpen()); }
public void TestThresholdReach() { var breaker = new CircuitBreaker(new CircuitBreakerConfig { ConsecutiveErrorsToBreak = 2, BreakDelayInSeconds = 5 }); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsTrue(breaker.IsCircuitOpen()); }
public void TestThresholdNotReachedWhenErrorsAreCleared() { var breaker = new CircuitBreaker(new CircuitBreakerConfig { ConsecutiveErrorsToBreak = 2, BreakDelayInSeconds = 5 }); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.ClearErrors(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); }
public void TestThresholdNotReachedWhenErrorsAreCleared() { var breaker = new CircuitBreaker(new CircuitBreakerConfig { ConsecutiveErrorsToBreak = 2, BreakDelayInSeconds = 5 }); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.ClearErrors(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); }
public void TestWaitForOneSecondUntilCircuitCloses() { var breaker = new CircuitBreaker(new CircuitBreakerConfig { ConsecutiveErrorsToBreak = 2, BreakDelayInSeconds = 1 }); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsTrue(breaker.IsCircuitOpen()); Thread.Sleep(250); Assert.IsTrue(breaker.IsCircuitOpen()); Thread.Sleep(250); Assert.IsTrue(breaker.IsCircuitOpen()); Thread.Sleep(500); Assert.IsFalse(breaker.IsCircuitOpen()); }
public void TestWaitForOneSecondUntilCircuitCloses() { var breaker = new CircuitBreaker(new CircuitBreakerConfig { ConsecutiveErrorsToBreak = 2, BreakDelayInSeconds = 1 }); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsFalse(breaker.IsCircuitOpen()); breaker.AddError(); Assert.IsTrue(breaker.IsCircuitOpen()); Thread.Sleep(250); Assert.IsTrue(breaker.IsCircuitOpen()); Thread.Sleep(250); Assert.IsTrue(breaker.IsCircuitOpen()); Thread.Sleep(500); Assert.IsFalse(breaker.IsCircuitOpen()); }