|
|
|
@ -28,7 +28,9 @@ import com.couchbase.client.core.diagnostics.EndpointDiagnostics; |
|
|
|
import com.couchbase.client.core.endpoint.EndpointState; |
|
|
|
import com.couchbase.client.core.endpoint.EndpointState; |
|
|
|
import com.couchbase.client.core.service.ServiceType; |
|
|
|
import com.couchbase.client.core.service.ServiceType; |
|
|
|
import com.couchbase.client.java.Cluster; |
|
|
|
import com.couchbase.client.java.Cluster; |
|
|
|
|
|
|
|
import com.couchbase.client.java.ReactiveCluster; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
|
|
|
|
import reactor.core.publisher.Mono; |
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.boot.actuate.health.Health; |
|
|
|
import org.springframework.boot.actuate.health.Health; |
|
|
|
import org.springframework.boot.actuate.health.Status; |
|
|
|
import org.springframework.boot.actuate.health.Status; |
|
|
|
@ -53,13 +55,15 @@ class CouchbaseReactiveHealthIndicatorTests { |
|
|
|
new EndpointDiagnostics(ServiceType.KV, EndpointState.CONNECTED, "127.0.0.1", "127.0.0.1", |
|
|
|
new EndpointDiagnostics(ServiceType.KV, EndpointState.CONNECTED, "127.0.0.1", "127.0.0.1", |
|
|
|
Optional.empty(), Optional.of(1234L), Optional.of("endpoint-1"), Optional.empty()))); |
|
|
|
Optional.empty(), Optional.of(1234L), Optional.of("endpoint-1"), Optional.empty()))); |
|
|
|
DiagnosticsResult diagnostics = new DiagnosticsResult(endpoints, "test-sdk", "test-id"); |
|
|
|
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)); |
|
|
|
Health health = healthIndicator.health().block(Duration.ofSeconds(30)); |
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.UP); |
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.UP); |
|
|
|
assertThat(health.getDetails()).containsEntry("sdk", "test-sdk"); |
|
|
|
assertThat(health.getDetails()).containsEntry("sdk", "test-sdk"); |
|
|
|
assertThat(health.getDetails()).containsKey("endpoints"); |
|
|
|
assertThat(health.getDetails()).containsKey("endpoints"); |
|
|
|
assertThat((List<Map<String, Object>>) health.getDetails().get("endpoints")).hasSize(1); |
|
|
|
assertThat((List<Map<String, Object>>) health.getDetails().get("endpoints")).hasSize(1); |
|
|
|
then(cluster).should().diagnostics(); |
|
|
|
then(reactiveCluster).should().diagnostics(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
@ -74,13 +78,15 @@ class CouchbaseReactiveHealthIndicatorTests { |
|
|
|
new EndpointDiagnostics(ServiceType.KV, EndpointState.CONNECTING, "127.0.0.1", "127.0.0.1", |
|
|
|
new EndpointDiagnostics(ServiceType.KV, EndpointState.CONNECTING, "127.0.0.1", "127.0.0.1", |
|
|
|
Optional.empty(), Optional.of(1234L), Optional.of("endpoint-2"), Optional.empty()))); |
|
|
|
Optional.empty(), Optional.of(1234L), Optional.of("endpoint-2"), Optional.empty()))); |
|
|
|
DiagnosticsResult diagnostics = new DiagnosticsResult(endpoints, "test-sdk", "test-id"); |
|
|
|
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)); |
|
|
|
Health health = healthIndicator.health().block(Duration.ofSeconds(30)); |
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.DOWN); |
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.DOWN); |
|
|
|
assertThat(health.getDetails()).containsEntry("sdk", "test-sdk"); |
|
|
|
assertThat(health.getDetails()).containsEntry("sdk", "test-sdk"); |
|
|
|
assertThat(health.getDetails()).containsKey("endpoints"); |
|
|
|
assertThat(health.getDetails()).containsKey("endpoints"); |
|
|
|
assertThat((List<Map<String, Object>>) health.getDetails().get("endpoints")).hasSize(2); |
|
|
|
assertThat((List<Map<String, Object>>) health.getDetails().get("endpoints")).hasSize(2); |
|
|
|
then(cluster).should().diagnostics(); |
|
|
|
then(reactiveCluster).should().diagnostics(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|