Search in sources :

Example 11 with ResultSummary

use of org.neo4j.driver.summary.ResultSummary in project spring-boot by spring-projects.

the class Neo4jHealthIndicatorTests method neo4jIsUpWithEmptyDatabaseName.

@Test
void neo4jIsUpWithEmptyDatabaseName() {
    ResultSummary resultSummary = ResultSummaryMock.createResultSummary("My Home", "");
    Driver driver = mockDriver(resultSummary, "4711", "some edition");
    Health health = new Neo4jHealthIndicator(driver).health();
    assertThat(health.getStatus()).isEqualTo(Status.UP);
    assertThat(health.getDetails()).containsEntry("server", "4711@My Home");
    assertThat(health.getDetails()).doesNotContainKey("database");
    assertThat(health.getDetails()).containsEntry("edition", "some edition");
}
Also used : Health(org.springframework.boot.actuate.health.Health) ResultSummary(org.neo4j.driver.summary.ResultSummary) Driver(org.neo4j.driver.Driver) Test(org.junit.jupiter.api.Test)

Example 12 with ResultSummary

use of org.neo4j.driver.summary.ResultSummary in project spring-boot by spring-projects.

the class Neo4jHealthIndicatorTests method neo4jIsUp.

@Test
void neo4jIsUp() {
    ResultSummary resultSummary = ResultSummaryMock.createResultSummary("My Home", "test");
    Driver driver = mockDriver(resultSummary, "4711", "ultimate collectors edition");
    Health health = new Neo4jHealthIndicator(driver).health();
    assertThat(health.getStatus()).isEqualTo(Status.UP);
    assertThat(health.getDetails()).containsEntry("server", "4711@My Home");
    assertThat(health.getDetails()).containsEntry("database", "test");
    assertThat(health.getDetails()).containsEntry("edition", "ultimate collectors edition");
}
Also used : Health(org.springframework.boot.actuate.health.Health) ResultSummary(org.neo4j.driver.summary.ResultSummary) Driver(org.neo4j.driver.Driver) Test(org.junit.jupiter.api.Test)

Example 13 with ResultSummary

use of org.neo4j.driver.summary.ResultSummary in project spring-boot by spring-projects.

the class ResultSummaryMock method createResultSummary.

static ResultSummary createResultSummary(String serverAddress, String databaseName) {
    ServerInfo serverInfo = mock(ServerInfo.class);
    given(serverInfo.address()).willReturn(serverAddress);
    DatabaseInfo databaseInfo = mock(DatabaseInfo.class);
    given(databaseInfo.name()).willReturn(databaseName);
    ResultSummary resultSummary = mock(ResultSummary.class);
    given(resultSummary.server()).willReturn(serverInfo);
    given(resultSummary.database()).willReturn(databaseInfo);
    return resultSummary;
}
Also used : DatabaseInfo(org.neo4j.driver.summary.DatabaseInfo) ServerInfo(org.neo4j.driver.summary.ServerInfo) ResultSummary(org.neo4j.driver.summary.ResultSummary)

Example 14 with ResultSummary

use of org.neo4j.driver.summary.ResultSummary in project spring-boot by spring-projects.

the class Neo4jReactiveHealthIndicatorTests method neo4jIsUpWithOneSessionExpiredException.

@Test
void neo4jIsUpWithOneSessionExpiredException() {
    ResultSummary resultSummary = ResultSummaryMock.createResultSummary("My Home", "");
    RxSession session = mock(RxSession.class);
    RxResult statementResult = mockStatementResult(resultSummary, "4711", "some edition");
    AtomicInteger count = new AtomicInteger();
    given(session.run(anyString())).will((invocation) -> {
        if (count.compareAndSet(0, 1)) {
            throw new SessionExpiredException("Session expired");
        }
        return statementResult;
    });
    Driver driver = mock(Driver.class);
    given(driver.rxSession(any(SessionConfig.class))).willReturn(session);
    Neo4jReactiveHealthIndicator healthIndicator = new Neo4jReactiveHealthIndicator(driver);
    healthIndicator.health().as(StepVerifier::create).consumeNextWith((health) -> {
        assertThat(health.getStatus()).isEqualTo(Status.UP);
        assertThat(health.getDetails()).containsEntry("server", "4711@My Home");
        assertThat(health.getDetails()).containsEntry("edition", "some edition");
    }).verifyComplete();
    then(session).should(times(2)).close();
}
Also used : Status(org.springframework.boot.actuate.health.Status) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) Driver(org.neo4j.driver.Driver) StepVerifier(reactor.test.StepVerifier) RxSession(org.neo4j.driver.reactive.RxSession) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) SessionExpiredException(org.neo4j.driver.exceptions.SessionExpiredException) BDDMockito.then(org.mockito.BDDMockito.then) Mono(reactor.core.publisher.Mono) Mockito.times(org.mockito.Mockito.times) RxResult(org.neo4j.driver.reactive.RxResult) Test(org.junit.jupiter.api.Test) Values(org.neo4j.driver.Values) SessionConfig(org.neo4j.driver.SessionConfig) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) BDDMockito.given(org.mockito.BDDMockito.given) ServiceUnavailableException(org.neo4j.driver.exceptions.ServiceUnavailableException) ResultSummary(org.neo4j.driver.summary.ResultSummary) Record(org.neo4j.driver.Record) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Mockito.mock(org.mockito.Mockito.mock) RxSession(org.neo4j.driver.reactive.RxSession) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ResultSummary(org.neo4j.driver.summary.ResultSummary) Driver(org.neo4j.driver.Driver) SessionConfig(org.neo4j.driver.SessionConfig) SessionExpiredException(org.neo4j.driver.exceptions.SessionExpiredException) StepVerifier(reactor.test.StepVerifier) RxResult(org.neo4j.driver.reactive.RxResult) Test(org.junit.jupiter.api.Test)

Example 15 with ResultSummary

use of org.neo4j.driver.summary.ResultSummary in project spring-boot by spring-projects.

the class Neo4jHealthIndicator method runHealthCheckQuery.

private void runHealthCheckQuery(Health.Builder builder) {
    // all possible workloads
    try (Session session = this.driver.session(DEFAULT_SESSION_CONFIG)) {
        Result result = session.run(CYPHER);
        Record record = result.single();
        ResultSummary resultSummary = result.consume();
        this.healthDetailsHandler.addHealthDetails(builder, new Neo4jHealthDetails(record, resultSummary));
    }
}
Also used : ResultSummary(org.neo4j.driver.summary.ResultSummary) Record(org.neo4j.driver.Record) Session(org.neo4j.driver.Session) Result(org.neo4j.driver.Result)

Aggregations

ResultSummary (org.neo4j.driver.summary.ResultSummary)21 Test (org.junit.Test)8 Driver (org.neo4j.driver.Driver)7 Test (org.junit.jupiter.api.Test)6 Value (org.neo4j.driver.Value)6 BoltResult (org.neo4j.shell.state.BoltResult)6 ListBoltResult (org.neo4j.shell.state.ListBoltResult)6 Record (org.neo4j.driver.Record)5 ProfiledPlan (org.neo4j.driver.summary.ProfiledPlan)5 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)4 Result (org.neo4j.driver.Result)4 Health (org.springframework.boot.actuate.health.Health)4 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)3 SessionConfig (org.neo4j.driver.SessionConfig)3 SessionExpiredException (org.neo4j.driver.exceptions.SessionExpiredException)3 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)2 ArgumentMatchers.any (org.mockito.ArgumentMatchers.any)2 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 BDDMockito.given (org.mockito.BDDMockito.given)2 BDDMockito.then (org.mockito.BDDMockito.then)2