Skip to content

Commit 80fcf5f

Browse files
committed
fix(health): ignore health indicator when dependency not exists
1 parent d4d224e commit 80fcf5f

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

starters/async-commons-starter/src/main/java/org/reactivecommons/async/starter/config/health/RCHealthIndicator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
public abstract class RCHealthIndicator {
66

77
public Mono<RCHealth> health() {
8-
return doHealthCheck(RCHealth.builder());
8+
return doHealthCheck(RCHealth.builder())
9+
.onErrorResume(e -> Mono.just(RCHealth.builder().down().withDetail("error", e.getMessage()).build()));
910
}
1011

1112
public abstract Mono<RCHealth> doHealthCheck(RCHealth.RCHealthBuilder builder);

starters/async-commons-starter/src/test/java/org/reactivecommons/async/starter/config/health/ReactiveCommonsHealthIndicatorTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ void setUp() {
3737
@Test
3838
void shouldBeUp() {
3939
// Arrange
40-
when(brokerProvider.healthCheck()).thenReturn(Mono.just(RCHealth.builder()
40+
when(brokerProvider.healthCheck()).thenReturn(Mono.just(RCHealth.builder().up()
4141
.withDetail(DOMAIN, DEFAULT_DOMAIN)
4242
.withDetail(VERSION, "123")
4343
.build()));
44-
when(brokerProvider2.healthCheck()).thenReturn(Mono.just(RCHealth.builder()
44+
when(brokerProvider2.healthCheck()).thenReturn(Mono.just(RCHealth.builder().up()
4545
.withDetail(DOMAIN, OTHER)
4646
.withDetail(VERSION, "1234")
4747
.build()));
@@ -56,11 +56,11 @@ void shouldBeUp() {
5656
@Test
5757
void shouldBeDown() {
5858
// Arrange
59-
when(brokerProvider.healthCheck()).thenReturn(Mono.just(RCHealth.builder()
59+
when(brokerProvider.healthCheck()).thenReturn(Mono.just(RCHealth.builder().down()
6060
.withDetail(DOMAIN, DEFAULT_DOMAIN)
6161
.withDetail(VERSION, "123")
6262
.build()));
63-
when(brokerProvider2.healthCheck()).thenReturn(Mono.just(RCHealth.builder()
63+
when(brokerProvider2.healthCheck()).thenReturn(Mono.just(RCHealth.builder().up()
6464
.withDetail(DOMAIN, OTHER)
6565
.withDetail(VERSION, "1234")
6666
.build()));

starters/async-kafka-starter/src/test/java/org/reactivecommons/async/kafka/health/KafkaReactiveHealthIndicatorTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.junit.jupiter.api.extension.ExtendWith;
1010
import org.mockito.Mock;
1111
import org.mockito.junit.jupiter.MockitoExtension;
12+
import org.reactivecommons.async.starter.config.health.RCHealth;
1213
import org.springframework.boot.actuate.health.Health;
1314
import org.springframework.boot.actuate.health.Health.Builder;
1415
import org.springframework.boot.actuate.health.Status;
@@ -39,13 +40,13 @@ void shouldBeUp() {
3940
when(adminClient.describeCluster()).thenReturn(describeClusterResult);
4041
when(describeClusterResult.clusterId()).thenReturn(KafkaFuture.completedFuture("cluster123"));
4142
// Act
42-
Mono<Health> result = indicator.doHealthCheck(new Builder());
43+
Mono<RCHealth> result = indicator.doHealthCheck(RCHealth.builder());
4344
// Assert
4445
StepVerifier.create(result)
4546
.assertNext(health -> {
4647
assertEquals(DEFAULT_DOMAIN, health.getDetails().get("domain"));
4748
assertEquals("cluster123", health.getDetails().get("version"));
48-
assertEquals(Status.UP, health.getStatus());
49+
assertEquals(RCHealth.Status.UP, health.getStatus());
4950
})
5051
.verifyComplete();
5152
}
@@ -58,12 +59,12 @@ void shouldBeDown() {
5859
future.completeExceptionally(new RuntimeException("simulate error"));
5960
when(describeClusterResult.clusterId()).thenReturn(future);
6061
// Act
61-
Mono<Health> result = indicator.doHealthCheck(new Builder());
62+
Mono<RCHealth> result = indicator.doHealthCheck(RCHealth.builder());
6263
// Assert
6364
StepVerifier.create(result)
6465
.expectNextMatches(health -> {
6566
assertEquals(DEFAULT_DOMAIN, health.getDetails().get("domain"));
66-
assertEquals(Status.DOWN, health.getStatus());
67+
assertEquals(RCHealth.Status.DOWN, health.getStatus());
6768
return true;
6869
})
6970
.verifyComplete();

0 commit comments

Comments
 (0)