//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldRollbackOnClosingTerminatedButSuccessfulTransaction() public virtual void ShouldRollbackOnClosingTerminatedButSuccessfulTransaction() { // GIVEN KernelTransaction transaction = NewTransaction(LoginContext()); TransactionInitializer.accept(transaction); transaction.MarkForTermination(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError); transaction.Success(); assertEquals(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError, transaction.ReasonIfTerminated.get()); try { // WHEN transaction.Close(); fail("Exception expected"); } catch (Exception e) { assertThat(e, instanceOf(typeof(TransactionTerminatedException))); } // THEN verify(TransactionMonitor, times(1)).transactionFinished(false, IsWriteTx); verify(TransactionMonitor, times(1)).transactionTerminated(IsWriteTx); VerifyExtraInteractionWithTheMonitor(TransactionMonitor, IsWriteTx); }
public override void MarkCurrentTransactionForTermination() { KernelTransaction tx = Ctx.currentTransaction; if (tx != null) { tx.MarkForTermination(Org.Neo4j.Kernel.Api.Exceptions.Status_Transaction.Terminated); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(expected = org.neo4j.graphdb.TransactionTerminatedException.class) public void shouldThrowTerminateExceptionWhenTransactionTerminated() throws org.neo4j.internal.kernel.api.exceptions.KernelException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldThrowTerminateExceptionWhenTransactionTerminated() { KernelTransaction transaction = newTransaction(AnonymousContext.write()); transaction.Success(); transaction.MarkForTermination(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError); TransactionOperation.operate(transaction.DataRead(), transaction.DataWrite(), transaction.SchemaRead()); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(expected = org.neo4j.graphdb.TransactionTerminatedException.class) public void shouldThrowOnTerminationInCommit() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldThrowOnTerminationInCommit() { KernelTransaction transaction = NewTransaction(LoginContext()); TransactionInitializer.accept(transaction); transaction.Success(); transaction.MarkForTermination(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError); transaction.Close(); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldIgnoreTerminateAfterRollback() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldIgnoreTerminateAfterRollback() { KernelTransaction transaction = NewTransaction(LoginContext()); TransactionInitializer.accept(transaction); transaction.Close(); transaction.MarkForTermination(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError); // THEN verify(TransactionMonitor, times(1)).transactionFinished(false, IsWriteTx); VerifyExtraInteractionWithTheMonitor(TransactionMonitor, IsWriteTx); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldRollbackOnClosingSuccessfulButTerminatedTransaction() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldRollbackOnClosingSuccessfulButTerminatedTransaction() { using (KernelTransaction transaction = NewTransaction(LoginContext())) { // WHEN TransactionInitializer.accept(transaction); transaction.MarkForTermination(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError); assertEquals(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError, transaction.ReasonIfTerminated.get()); } // THEN verify(TransactionMonitor, times(1)).transactionFinished(false, IsWriteTx); verify(TransactionMonitor, times(1)).transactionTerminated(IsWriteTx); VerifyExtraInteractionWithTheMonitor(TransactionMonitor, IsWriteTx); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldAllowTerminatingFromADifferentThread() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldAllowTerminatingFromADifferentThread() { // GIVEN //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.test.DoubleLatch latch = new org.neo4j.test.DoubleLatch(1); DoubleLatch latch = new DoubleLatch(1); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.kernel.api.KernelTransaction transaction = newTransaction(loginContext()); KernelTransaction transaction = NewTransaction(LoginContext()); TransactionInitializer.accept(transaction); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.concurrent.Future<?> terminationFuture = java.util.concurrent.Executors.newSingleThreadExecutor().submit(() -> Future <object> terminationFuture = Executors.newSingleThreadExecutor().submit(() => { latch.WaitForAllToStart(); transaction.MarkForTermination(Status.General.UnknownError); latch.Finish(); }); // WHEN transaction.Success(); latch.StartAndWaitForAllToStartAndFinish(); assertNull(terminationFuture.get(1, TimeUnit.MINUTES)); try { transaction.Close(); fail("Exception expected"); } catch (Exception e) { assertThat(e, instanceOf(typeof(TransactionTerminatedException))); } // THEN verify(TransactionMonitor, times(1)).transactionFinished(false, IsWriteTx); verify(TransactionMonitor, times(1)).transactionTerminated(IsWriteTx); VerifyExtraInteractionWithTheMonitor(TransactionMonitor, IsWriteTx); }