Search in sources :

Example 1 with RxSession

use of org.neo4j.driver.reactive.RxSession 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 2 with RxSession

use of org.neo4j.driver.reactive.RxSession in project spring-boot by spring-projects.

the class Neo4jReactiveHealthIndicatorTests method mockDriver.

private Driver mockDriver(ResultSummary resultSummary, String version, String edition) {
    RxResult statementResult = mockStatementResult(resultSummary, version, edition);
    RxSession session = mock(RxSession.class);
    given(session.run(anyString())).willReturn(statementResult);
    Driver driver = mock(Driver.class);
    given(driver.rxSession(any(SessionConfig.class))).willReturn(session);
    return driver;
}
Also used : RxSession(org.neo4j.driver.reactive.RxSession) Driver(org.neo4j.driver.Driver) SessionConfig(org.neo4j.driver.SessionConfig) RxResult(org.neo4j.driver.reactive.RxResult)

Aggregations

Driver (org.neo4j.driver.Driver)2 SessionConfig (org.neo4j.driver.SessionConfig)2 RxResult (org.neo4j.driver.reactive.RxResult)2 RxSession (org.neo4j.driver.reactive.RxSession)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Test (org.junit.jupiter.api.Test)1 ArgumentMatchers.any (org.mockito.ArgumentMatchers.any)1 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)1 BDDMockito.given (org.mockito.BDDMockito.given)1 BDDMockito.then (org.mockito.BDDMockito.then)1 Mockito.mock (org.mockito.Mockito.mock)1 Mockito.times (org.mockito.Mockito.times)1 Record (org.neo4j.driver.Record)1 Values (org.neo4j.driver.Values)1 ServiceUnavailableException (org.neo4j.driver.exceptions.ServiceUnavailableException)1 SessionExpiredException (org.neo4j.driver.exceptions.SessionExpiredException)1 ResultSummary (org.neo4j.driver.summary.ResultSummary)1 Status (org.springframework.boot.actuate.health.Status)1 Mono (reactor.core.publisher.Mono)1