use of org.neo4j.bolt.v3.messaging.request.BeginMessage in project neo4j by neo4j.
the class ReadyStateIT method shouldMoveToTransactionReadyOnBegin_succ.
@Test
void shouldMoveToTransactionReadyOnBegin_succ() throws Throwable {
// Given
BoltStateMachineV3 machine = newStateMachine();
machine.process(newHelloMessage(), nullResponseHandler());
// When
BoltResponseRecorder recorder = new BoltResponseRecorder();
machine.process(new BeginMessage(), recorder);
// Then
RecordedBoltResponse response = recorder.nextResponse();
assertThat(response).satisfies(succeeded());
assertThat(machine.state()).isInstanceOf(TransactionReadyState.class);
}
use of org.neo4j.bolt.v3.messaging.request.BeginMessage in project neo4j by neo4j.
the class BoltV3TransportIT method shouldSetTxMetadata.
@ParameterizedTest(name = "{0}")
@MethodSource("argumentsProvider")
public void shouldSetTxMetadata(Class<? extends TransportConnection> connectionClass) throws Exception {
init(connectionClass);
// Given
negotiateBoltV3();
Map<String, Object> txMetadata = map("who-is-your-boss", "Molly-mostly-white");
Map<String, Object> msgMetadata = map("tx_metadata", txMetadata);
MapValue meta = asMapValue(msgMetadata);
connection.send(util.chunk(new BeginMessage(meta, List.of(), null, AccessMode.WRITE, txMetadata), new RunMessage("RETURN 1"), PullAllMessage.INSTANCE));
// When
assertThat(connection).satisfies(util.eventuallyReceives(msgSuccess(), msgSuccess(), msgRecord(eqRecord(longEquals(1L))), msgSuccess()));
// Then
GraphDatabaseAPI gdb = (GraphDatabaseAPI) server.graphDatabaseService();
Set<KernelTransactionHandle> txHandles = gdb.getDependencyResolver().resolveDependency(KernelTransactions.class).activeTransactions();
assertThat(txHandles.size()).isEqualTo(1);
for (KernelTransactionHandle txHandle : txHandles) {
assertThat(txHandle.getMetaData()).isEqualTo(txMetadata);
}
connection.send(util.chunk(ROLLBACK_MESSAGE));
}
Aggregations