use of org.neo4j.bolt.runtime.BoltResponseHandler in project neo4j by neo4j.
the class BoltStateMachineV4Test method testMarkFailedShouldYieldIgnoredIfAlreadyFailed.
private static void testMarkFailedShouldYieldIgnoredIfAlreadyFailed(ThrowingBiConsumer<BoltStateMachine, BoltResponseHandler, BoltConnectionFatality> action) throws Exception {
// Given
BoltStateMachine machine = init(newMachine());
machine.markFailed(Neo4jError.from(new RuntimeException()));
BoltResponseHandler responseHandler = mock(BoltResponseHandler.class);
Neo4jError error = Neo4jError.from(Status.Request.NoThreadsAvailable, "no threads");
machine.markFailed(error);
// When
action.accept(machine, responseHandler);
// Expect
assertNull(pendingError(machine));
assertFalse(pendingIgnore(machine));
assertThat(machine).satisfies(inState(FailedState.class));
verify(responseHandler).markIgnored();
}
use of org.neo4j.bolt.runtime.BoltResponseHandler in project neo4j by neo4j.
the class BoltStateMachineV4Test method testMarkFailedOnNextMessage.
private static void testMarkFailedOnNextMessage(ThrowingBiConsumer<BoltStateMachine, BoltResponseHandler, BoltConnectionFatality> action) throws Exception {
// Given
BoltStateMachine machine = init(newMachine());
BoltResponseHandler responseHandler = mock(BoltResponseHandler.class);
Neo4jError error = Neo4jError.from(Status.Request.NoThreadsAvailable, "no threads");
machine.markFailed(error);
// When
action.accept(machine, responseHandler);
// Expect
assertNull(pendingError(machine));
assertFalse(pendingIgnore(machine));
assertThat(machine).satisfies(inState(FailedState.class));
verify(responseHandler).markFailed(error);
}
use of org.neo4j.bolt.runtime.BoltResponseHandler in project neo4j by neo4j.
the class BoltStateMachineV4Test method shouldInvokeResponseHandlerOnMarkFailedIfThereIsHandler.
@Test
void shouldInvokeResponseHandlerOnMarkFailedIfThereIsHandler() throws Exception {
BoltStateMachine machine = init(newMachine());
Neo4jError error = Neo4jError.from(Status.Request.NoThreadsAvailable, "no threads");
BoltResponseHandler responseHandler = mock(BoltResponseHandler.class);
((AbstractBoltStateMachine) machine).connectionState().setResponseHandler(responseHandler);
machine.markFailed(error);
assertNull(pendingError(machine));
assertFalse(pendingIgnore(machine));
assertThat(machine).satisfies(inState(FailedState.class));
verify(responseHandler).markFailed(error);
}
use of org.neo4j.bolt.runtime.BoltResponseHandler in project neo4j by neo4j.
the class BoltStateMachineV4Test method testReadyStateAfterMarkFailedOnNextMessage.
private static void testReadyStateAfterMarkFailedOnNextMessage(ThrowingBiConsumer<BoltStateMachine, BoltResponseHandler, BoltConnectionFatality> action) throws Exception {
// Given
BoltStateMachine machine = init(newMachine());
BoltResponseHandler responseHandler = mock(BoltResponseHandler.class);
Neo4jError error = Neo4jError.from(Status.Request.NoThreadsAvailable, "no threads");
machine.markFailed(error);
// When
action.accept(machine, responseHandler);
// Expect
assertNull(pendingError(machine));
assertFalse(pendingIgnore(machine));
assertThat(machine).satisfies(inState(ReadyState.class));
verify(responseHandler, never()).markFailed(any());
verify(responseHandler, never()).markIgnored();
}
use of org.neo4j.bolt.runtime.BoltResponseHandler in project neo4j by neo4j.
the class BoltRequestMessageReaderV41 method buildDecoders.
private static List<RequestMessageDecoder> buildDecoders(BoltConnection connection, BoltResponseMessageWriter responseMessageWriter, BookmarksParser bookmarksParser, LogService logService) {
BoltResponseHandler resultHandler = new ResultHandler(responseMessageWriter, connection, internalLog(logService));
BoltResponseHandler defaultHandler = newSimpleResponseHandler(responseMessageWriter, connection, logService);
return Arrays.asList(// NEW
new HelloMessageDecoder(defaultHandler), new RunMessageDecoder(defaultHandler, bookmarksParser), new DiscardMessageDecoder(resultHandler), new PullMessageDecoder(resultHandler), new BeginMessageDecoder(defaultHandler, bookmarksParser), new CommitMessageDecoder(resultHandler), new RollbackMessageDecoder(resultHandler), new ResetMessageDecoder(connection, defaultHandler), new GoodbyeMessageDecoder(connection, defaultHandler));
}
Aggregations