use of org.neo4j.kernel.impl.core.ThreadToStatementContextBridge in project neo4j by neo4j.
the class TopLevelTransactionTest method shouldShowTransactionTerminatedExceptionAsTransient.
@Test
public void shouldShowTransactionTerminatedExceptionAsTransient() throws Exception {
KernelTransaction kernelTransaction = mock(KernelTransaction.class);
doReturn(true).when(kernelTransaction).isOpen();
RuntimeException error = new TransactionTerminatedException(Status.Transaction.Terminated);
doThrow(error).when(kernelTransaction).close();
ThreadToStatementContextBridge bridge = new ThreadToStatementContextBridge();
TopLevelTransaction transaction = new TopLevelTransaction(kernelTransaction, bridge);
transaction.success();
try {
transaction.close();
fail("Should have failed");
} catch (Exception e) {
assertThat(e, instanceOf(TransientTransactionFailureException.class));
assertSame(error, e.getCause());
}
}
use of org.neo4j.kernel.impl.core.ThreadToStatementContextBridge in project neo4j by neo4j.
the class UniqueConstraintCompatibility method suspend.
private void suspend(Transaction tx) throws Exception {
ThreadToStatementContextBridge txManager = getTransactionManager();
txMap.put(tx, txManager.getTopLevelTransactionBoundToThisThread(true));
txManager.unbindTransactionFromCurrentThread();
}
use of org.neo4j.kernel.impl.core.ThreadToStatementContextBridge in project neo4j by neo4j.
the class GraphDatabaseFacadeTest method setUp.
@Before
public void setUp() {
queryService = mock(GraphDatabaseQueryService.class);
DependencyResolver resolver = mock(DependencyResolver.class);
Statement statement = mock(Statement.class, RETURNS_DEEP_STUBS);
ThreadToStatementContextBridge contextBridge = mock(ThreadToStatementContextBridge.class);
when(spi.queryService()).thenReturn(queryService);
when(spi.resolver()).thenReturn(resolver);
when(resolver.resolveDependency(ThreadToStatementContextBridge.class)).thenReturn(contextBridge);
when(resolver.resolveDependency(Guard.class)).thenReturn(mock(Guard.class));
when(contextBridge.get()).thenReturn(statement);
when(resolver.resolveDependency(Config.class)).thenReturn(Config.embeddedDefaults());
graphDatabaseFacade.init(spi);
}
use of org.neo4j.kernel.impl.core.ThreadToStatementContextBridge in project neo4j by neo4j.
the class Neo4jTransactionalContextTest method setUpMocks.
private void setUpMocks() {
queryService = mock(GraphDatabaseQueryService.class);
DependencyResolver resolver = mock(DependencyResolver.class);
ThreadToStatementContextBridge txBridge = mock(ThreadToStatementContextBridge.class);
guard = mock(Guard.class);
initialStatement = mock(KernelStatement.class);
QueryRegistryOperations queryRegistryOperations = mock(QueryRegistryOperations.class);
when(initialStatement.queryRegistration()).thenReturn(queryRegistryOperations);
when(queryService.getDependencyResolver()).thenReturn(resolver);
when(resolver.resolveDependency(ThreadToStatementContextBridge.class)).thenReturn(txBridge);
when(resolver.resolveDependency(Guard.class)).thenReturn(guard);
}
Aggregations