@ -28,10 +28,12 @@ import com.couchbase.client.core.diagnostics.EndpointDiagnostics;
@@ -28,10 +28,12 @@ import com.couchbase.client.core.diagnostics.EndpointDiagnostics;
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 org.springframework.boot.actuate.health.Health ;
import org.springframework.boot.actuate.health.Status ;
import reactor.core.publisher.Mono ;
import static org.assertj.core.api.Assertions.assertThat ;
import static org.mockito.BDDMockito.given ;
@ -52,13 +54,15 @@ class CouchbaseReactiveHealthIndicatorTests {
@@ -52,13 +54,15 @@ class CouchbaseReactiveHealthIndicatorTests {
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 < Map < String , Object > > ) health . getDetails ( ) . get ( "endpoints" ) ) . hasSize ( 1 ) ;
then ( cluster ) . should ( ) . diagnostics ( ) ;
then ( rea ctiveC luster) . should ( ) . diagnostics ( ) ;
}
@Test
@ -73,13 +77,15 @@ class CouchbaseReactiveHealthIndicatorTests {
@@ -73,13 +77,15 @@ class CouchbaseReactiveHealthIndicatorTests {
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 < Map < String , Object > > ) health . getDetails ( ) . get ( "endpoints" ) ) . hasSize ( 2 ) ;
then ( cluster ) . should ( ) . diagnostics ( ) ;
then ( rea ctiveC luster) . should ( ) . diagnostics ( ) ;
}
}