/** * Reset the current session. This rolls back any open transactions. */ public void reset() { if (isConnected()) { session.reset(); // Clear current state if (isTransactionOpen()) { // Bolt has already rolled back the transaction but it doesn't close it properly clearTransactionStatements(); } } }
@Test public void resetSessionOnReset() throws Exception { // given Session sessionMock = mock(Session.class); Driver driverMock = stubVersionInAnOpenSession(mock(StatementResult.class), sessionMock, "neo4j-version"); OfflineBoltStateHandler boltStateHandler = new OfflineBoltStateHandler(driverMock); boltStateHandler.connect(); boltStateHandler.beginTransaction(); // when boltStateHandler.reset(); // then verify(sessionMock).reset(); assertNull(boltStateHandler.getTransactionStatements()); }