private long getLabelId(HighlyAvailableGraphDatabase db, Label label) throws LabelNotFoundKernelException { Transaction tx = db.beginTx(); try { ThreadToStatementContextBridge bridge = db.getDependencyResolver().resolveDependency(ThreadToStatementContextBridge.class); return bridge.getCtxForReading().labelGetForName(label.name()); } finally { tx.finish(); } }
@Test public void shouldThrowNotInTransactionExceptionWhenNotInTransaction() throws Exception { // Given AbstractTransactionManager txManager = mock(AbstractTransactionManager.class); when(txManager.getKernelTransaction()).thenReturn(null); ThreadToStatementContextBridge bridge = new ThreadToStatementContextBridge(null, txManager); // When try { bridge.statement(); fail("Should throw"); } catch (NotInTransactionException e) { // Good } }