From d67994da82fe8e6440187e8126b4ef94c8d9b9f4 Mon Sep 17 00:00:00 2001 From: Elvis de Freitas Date: Fri, 2 Aug 2024 17:33:54 -0300 Subject: [PATCH] refactoring --- .../circuitbreaker/DpsCircuitBreakerTest.java | 23 +++++-------------- ...sCircuitBreakerWithManualHalfOpenTest.java | 14 +++++++++++ 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerTest.java b/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerTest.java index 104a0a3..604e3e3 100644 --- a/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerTest.java +++ b/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerTest.java @@ -19,14 +19,15 @@ public class DpsCircuitBreakerTest { @Test - void serverGoesDown() { + void mustHalfOpenAutomatically() { - // arrange final var circuit = dpsConfig(); + circuit.transitionToOpenState(); - // act // assert - testCircuitOnError(Result.ERROR, CircuitBreaker.State.CLOSED, circuit, 99); - testCircuitOnError(Result.ERROR, CircuitBreaker.State.OPEN, circuit, 1); + Threads.sleep(1100); + + assertEquals(CircuitBreaker.State.HALF_OPEN, circuit.getState()); + testCircuitOnSuccess(Result.SUCCESS, CircuitBreaker.State.HALF_OPEN, circuit, 1); } @@ -59,18 +60,6 @@ void serverGoesDownAndDecideToOpenTheCircuitAfterMinimumNumberOfCalls() { } - @Test - void mustHalfOpenAutomatically() { - - final var circuit = dpsConfig(); - circuit.transitionToOpenState(); - - Threads.sleep(1100); - - assertEquals(CircuitBreaker.State.HALF_OPEN, circuit.getState()); - testCircuitOnSuccess(Result.SUCCESS, CircuitBreaker.State.HALF_OPEN, circuit, 1); - - } @Test void mustHalfOpenTestAndCloseTheCircuit() { diff --git a/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerWithManualHalfOpenTest.java b/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerWithManualHalfOpenTest.java index 2cef7d1..f6ca3fb 100644 --- a/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerWithManualHalfOpenTest.java +++ b/fault-tolerance/fault-tolerance-libs/src/test/java/com/mageddo/resilience4j/circuitbreaker/DpsCircuitBreakerWithManualHalfOpenTest.java @@ -48,6 +48,19 @@ void serverGotUp() { } + @Test + void serverGoesDownAndDecideToOpenTheCircuitAfterMinimumNumberOfCalls() { + + // arrange + final var circuit = dpsConfig(); + + // act // assert + testCircuitOnError(Result.ERROR, CircuitBreaker.State.CLOSED, circuit, 4); + testCircuitOnSuccess(Result.SUCCESS, CircuitBreaker.State.CLOSED, circuit, 1); + testCircuitOnError(Result.ERROR, CircuitBreaker.State.CLOSED, circuit, 94); + testCircuitOnSuccess(Result.SUCCESS, CircuitBreaker.State.OPEN, circuit, 1); + + } static CircuitBreaker dpsConfig() { final var circuit = CircuitBreaker.of( @@ -57,6 +70,7 @@ static CircuitBreaker dpsConfig() { .failureRateThreshold(21f) .minimumNumberOfCalls(100) + .permittedNumberOfCallsInHalfOpenState(10) .waitDurationInOpenState(Duration.ofDays(365)) .recordExceptions(UncheckedIOException.class)