Skip to content

Commit

Permalink
JAMES-3117 PeriodicalHealthChecksTest should use reactive health check
Browse files Browse the repository at this point in the history
  • Loading branch information
chibenwa committed Apr 17, 2020
1 parent 924d59e commit 398eeaa
Showing 1 changed file with 8 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

import com.google.common.collect.ImmutableSet;

import reactor.core.publisher.Mono;
import reactor.test.scheduler.VirtualTimeScheduler;

public class PeriodicalHealthChecksTest {
Expand All @@ -53,8 +54,8 @@ public class PeriodicalHealthChecksTest {
void setUp() {
mockHealthCheck1 = Mockito.mock(EventDeadLettersHealthCheck.class);
mockHealthCheck2 = Mockito.mock(GuiceLifecycleHealthCheck.class);
when(mockHealthCheck1.check()).thenReturn(Result.healthy(new ComponentName("mockHealthCheck1")));
when(mockHealthCheck2.check()).thenReturn(Result.healthy(new ComponentName("mockHealthCheck2")));
when(mockHealthCheck1.checkReactive()).thenReturn(Mono.just(Result.healthy(new ComponentName("mockHealthCheck1"))));
when(mockHealthCheck2.checkReactive()).thenReturn(Mono.just(Result.healthy(new ComponentName("mockHealthCheck2"))));

scheduler = VirtualTimeScheduler.getOrSet();
testee = new PeriodicalHealthChecks(ImmutableSet.of(mockHealthCheck1, mockHealthCheck2),
Expand All @@ -72,24 +73,24 @@ void startShouldCallHealthCheckAtLeastOnce() {
testee.start();

scheduler.advanceTimeBy(Duration.ofSeconds(PERIOD));
verify(mockHealthCheck1, atLeast(1)).check();
verify(mockHealthCheck1, atLeast(1)).checkReactive();
}

@Test
void startShouldCallHealthCheckMultipleTimes() {
testee.start();

scheduler.advanceTimeBy(Duration.ofSeconds(PERIOD * EXPECTED_INVOKED_TIME));
verify(mockHealthCheck1, times(EXPECTED_INVOKED_TIME)).check();
verify(mockHealthCheck1, times(EXPECTED_INVOKED_TIME)).checkReactive();
}

@Test
void startShouldCallAllHealthChecks() {
testee.start();

scheduler.advanceTimeBy(Duration.ofSeconds(PERIOD * EXPECTED_INVOKED_TIME));
verify(mockHealthCheck1, times(EXPECTED_INVOKED_TIME)).check();
verify(mockHealthCheck2, times(EXPECTED_INVOKED_TIME)).check();
verify(mockHealthCheck1, times(EXPECTED_INVOKED_TIME)).checkReactive();
verify(mockHealthCheck2, times(EXPECTED_INVOKED_TIME)).checkReactive();
}

@Test
Expand All @@ -99,6 +100,6 @@ void startShouldCallRemainingHealthChecksWhenAHealthCheckThrows() {
testee.start();

scheduler.advanceTimeBy(Duration.ofSeconds(PERIOD * EXPECTED_INVOKED_TIME));
verify(mockHealthCheck2, times(EXPECTED_INVOKED_TIME)).check();
verify(mockHealthCheck2, times(EXPECTED_INVOKED_TIME)).checkReactive();
}
}

0 comments on commit 398eeaa

Please sign in to comment.