diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicator.java index b368f9306e1b..da470f16a0ed 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicator.java @@ -16,7 +16,6 @@ package org.springframework.boot.actuate.couchbase; -import com.couchbase.client.core.diagnostics.DiagnosticsResult; import com.couchbase.client.java.Cluster; import reactor.core.publisher.Mono; @@ -46,9 +45,10 @@ public CouchbaseReactiveHealthIndicator(Cluster cluster) { @Override protected Mono doHealthCheck(Health.Builder builder) { - DiagnosticsResult diagnostics = this.cluster.diagnostics(); - new CouchbaseHealth(diagnostics).applyTo(builder); - return Mono.just(builder.build()); + return this.cluster.reactive().diagnostics().map((diagnostics) -> { + new CouchbaseHealth(diagnostics).applyTo(builder); + return builder.build(); + }); } } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicatorTests.java index adc00a875134..5cf047147225 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/couchbase/CouchbaseReactiveHealthIndicatorTests.java @@ -28,7 +28,9 @@ import com.couchbase.client.core.endpoint.EndpointState; import com.couchbase.client.core.service.ServiceType; import com.couchbase.client.java.Cluster; +import com.couchbase.client.java.ReactiveCluster; import org.junit.jupiter.api.Test; +import reactor.core.publisher.Mono; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.Status; @@ -52,13 +54,15 @@ void couchbaseClusterIsUp() { Collections.singletonList(new EndpointDiagnostics(ServiceType.KV, EndpointState.CONNECTED, "127.0.0.1", "127.0.0.1", Optional.empty(), Optional.of(1234L), Optional.of("endpoint-1")))); DiagnosticsResult diagnostics = new DiagnosticsResult(endpoints, "test-sdk", "test-id"); - given(cluster.diagnostics()).willReturn(diagnostics); + ReactiveCluster reactiveCluster = mock(ReactiveCluster.class); + given(reactiveCluster.diagnostics()).willReturn(Mono.just(diagnostics)); + given(cluster.reactive()).willReturn(reactiveCluster); Health health = healthIndicator.health().block(Duration.ofSeconds(30)); assertThat(health.getStatus()).isEqualTo(Status.UP); assertThat(health.getDetails()).containsEntry("sdk", "test-sdk"); assertThat(health.getDetails()).containsKey("endpoints"); assertThat((List>) health.getDetails().get("endpoints")).hasSize(1); - then(cluster).should().diagnostics(); + then(reactiveCluster).should().diagnostics(); } @Test @@ -73,13 +77,15 @@ void couchbaseClusterIsDown() { new EndpointDiagnostics(ServiceType.KV, EndpointState.CONNECTING, "127.0.0.1", "127.0.0.1", Optional.empty(), Optional.of(1234L), Optional.of("endpoint-2")))); DiagnosticsResult diagnostics = new DiagnosticsResult(endpoints, "test-sdk", "test-id"); - given(cluster.diagnostics()).willReturn(diagnostics); + ReactiveCluster reactiveCluster = mock(ReactiveCluster.class); + given(reactiveCluster.diagnostics()).willReturn(Mono.just(diagnostics)); + given(cluster.reactive()).willReturn(reactiveCluster); Health health = healthIndicator.health().block(Duration.ofSeconds(30)); assertThat(health.getStatus()).isEqualTo(Status.DOWN); assertThat(health.getDetails()).containsEntry("sdk", "test-sdk"); assertThat(health.getDetails()).containsKey("endpoints"); assertThat((List>) health.getDetails().get("endpoints")).hasSize(2); - then(cluster).should().diagnostics(); + then(reactiveCluster).should().diagnostics(); } }