From: Kai Moritz Date: Fri, 10 Jan 2025 21:55:44 +0000 (+0100) Subject: Doppelten Code in `BackOffStateTest` in Methoden ausgelagert X-Git-Tag: consumer/spring-consumer--error-handling--2025-02-signal~14 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=38854155b00399751ddd0a481b4c4600f511c1ce;p=demos%2Fkafka%2Ftraining Doppelten Code in `BackOffStateTest` in Methoden ausgelagert --- diff --git a/src/test/java/de/juplo/kafka/BackOffStateTest.java b/src/test/java/de/juplo/kafka/BackOffStateTest.java index 1f75c854..5ee4e2b4 100644 --- a/src/test/java/de/juplo/kafka/BackOffStateTest.java +++ b/src/test/java/de/juplo/kafka/BackOffStateTest.java @@ -26,12 +26,17 @@ class BackOffStateTest final static Instant NOW = Instant.now(); + private BackOffState NotStartedBackOffState() + { + return new BackOffState(); + } + @Test @DisplayName("A not started BackOffState is not waiting for a retry") void NotStartedBackOffStateIsNotWaitingForRetry() { // GIVEN - BackOffState backOffState = new BackOffState(); + BackOffState backOffState = NotStartedBackOffState(); // WHEN @@ -44,7 +49,7 @@ class BackOffStateTest void NotStartedBackOffStateIsNotStarted() { // GIVEN - BackOffState backOffState = new BackOffState(); + BackOffState backOffState = NotStartedBackOffState(); // WHEN @@ -57,7 +62,7 @@ class BackOffStateTest void NotStartedBackOffStateIsNotCompleted() { // GIVEN - BackOffState backOffState = new BackOffState(); + BackOffState backOffState = NotStartedBackOffState(); // WHEN @@ -65,6 +70,19 @@ class BackOffStateTest assertThat(backOffState.isCompleted()).isFalse(); } + + private BackOffState StartedBackoffStateWithNoRetries( + Clock clock, + BackOff backOff, + BackOffExecution backOffExecution) + { + given(clock.instant()).willReturn(NOW); + given(backOff.start()).willReturn(backOffExecution); + given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); + + return new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); + } + @Test @DisplayName("A started BackOffState with no retries is not waiting for a retry") void StartedBackOffStateWithNoRetriesIsNotWaitingForRetry( @@ -73,12 +91,9 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); + BackOffState backOffState = StartedBackoffStateWithNoRetries(clock, backOff, backOffExecution); // WHEN - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); // THEN assertThat(backOffState.isWaitingForNextRetry()).isFalse(); @@ -92,12 +107,9 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); + BackOffState backOffState = StartedBackoffStateWithNoRetries(clock, backOff, backOffExecution); // WHEN - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); // THEN assertThat(backOffState.isStarted(OFFSET)).isTrue(); @@ -111,17 +123,27 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); + BackOffState backOffState = StartedBackoffStateWithNoRetries(clock, backOff, backOffExecution); // WHEN - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); // THEN assertThat(backOffState.isCompleted()).isTrue(); } + + private BackOffState StartedBackoffStateWithRetries( + Clock clock, + BackOff backOff, + BackOffExecution backOffExecution) + { + given(clock.instant()).willReturn(NOW); + given(backOff.start()).willReturn(backOffExecution); + given(backOffExecution.nextBackOff()).willReturn(1000l); + + return new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); + } + @Test @DisplayName("A started BackOffState is waiting for a retry if the time is not due") void StartedBackOffStateIsWaitingForRetryIfTimeIsNotDue( @@ -130,12 +152,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1000)); // WHEN @@ -153,12 +170,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1000)); // WHEN @@ -176,12 +188,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1000)); // WHEN @@ -199,12 +206,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1000)); // WHEN @@ -222,12 +224,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(1000l); @@ -246,12 +243,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(1000l); @@ -270,12 +262,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(1000l); @@ -294,12 +281,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(1000l); @@ -318,12 +300,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); @@ -342,12 +319,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); @@ -366,12 +338,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); @@ -390,12 +357,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); - + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); given(clock.instant()).willReturn(NOW.plusMillis(1001)); given(backOffExecution.nextBackOff()).willReturn(BackOffExecution.STOP); @@ -414,11 +376,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); // WHEN backOffState.markAsCompleted(); @@ -435,11 +393,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); // WHEN backOffState.markAsCompleted(); @@ -456,11 +410,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); // WHEN backOffState.markAsCompleted(); @@ -477,11 +427,7 @@ class BackOffStateTest @Mock BackOffExecution backOffExecution) { // GIVEN - given(clock.instant()).willReturn(NOW); - given(backOff.start()).willReturn(backOffExecution); - given(backOffExecution.nextBackOff()).willReturn(1000l); - - BackOffState backOffState = new BackOffState(ID, backOff, clock, TOPIC_PARTITION, OFFSET); + BackOffState backOffState = StartedBackoffStateWithRetries(clock, backOff, backOffExecution); // WHEN backOffState.markAsCompleted();