use of org.neo4j.driver.reactive.RxResult in project neo4j by neo4j.
the class BoltLocalResultStreamTest method testRxResultStream.
@Test
void testRxResultStream() {
List<String> result = inRxTx(tx -> {
RxResult statementResult = tx.run("UNWIND range(0, 4) AS i RETURN 'r' + i as A");
return Flux.from(statementResult.records()).limitRate(1).collectList().block().stream().map(r -> r.get("A").asString()).collect(Collectors.toList());
});
assertThat(result).isEqualTo(List.of("r0", "r1", "r2", "r3", "r4"));
}
use of org.neo4j.driver.reactive.RxResult in project spring-boot by spring-projects.
the class Neo4jReactiveHealthIndicatorTests method mockStatementResult.
private RxResult mockStatementResult(ResultSummary resultSummary, String version, String edition) {
Record record = mock(Record.class);
given(record.get("edition")).willReturn(Values.value(edition));
given(record.get("version")).willReturn(Values.value(version));
RxResult statementResult = mock(RxResult.class);
given(statementResult.records()).willReturn(Mono.just(record));
given(statementResult.consume()).willReturn(Mono.just(resultSummary));
return statementResult;
}
use of org.neo4j.driver.reactive.RxResult 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();
}
use of org.neo4j.driver.reactive.RxResult 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;
}
use of org.neo4j.driver.reactive.RxResult in project neo4j by neo4j.
the class BoltLocalResultStreamTest method testPartialStream.
@Test
void testPartialStream() {
List<String> result = inRxTx(tx -> {
RxResult statementResult = tx.run("UNWIND range(0, 4) AS i RETURN 'r' + i as A");
return Flux.from(statementResult.records()).limitRequest(2).collectList().block().stream().map(r -> r.get("A").asString()).collect(Collectors.toList());
});
assertThat(result).isEqualTo(List.of("r0", "r1"));
}
Aggregations