Skip to content

Commit

Permalink
refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
mageddo committed Aug 2, 2024
1 parent bf5e57f commit d67994d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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);

}

Expand Down Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -57,6 +70,7 @@ static CircuitBreaker dpsConfig() {

.failureRateThreshold(21f)
.minimumNumberOfCalls(100)
.permittedNumberOfCallsInHalfOpenState(10)

.waitDurationInOpenState(Duration.ofDays(365))
.recordExceptions(UncheckedIOException.class)
Expand Down

0 comments on commit d67994d

Please sign in to comment.