Ejemplo n.º 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldCloseResultHandlesWhenConsumeFailsInExplicitTransaction() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldCloseResultHandlesWhenConsumeFailsInExplicitTransaction()
        {
            KernelTransaction            transaction     = NewTransaction();
            TransactionStateMachineV1SPI stateMachineSPI = NewTransactionStateMachineSPI(transaction);
            TransactionStateMachine      stateMachine    = NewTransactionStateMachine(stateMachineSPI);

            stateMachine.BeginTransaction(null);
            stateMachine.StreamResult(boltResult =>
            {
            });
            stateMachine.Run("SOME STATEMENT", null);

            assertNotNull(stateMachine.Ctx.currentResultHandle);
            assertNotNull(stateMachine.Ctx.currentResult);

            Exception e = assertThrows(typeof(Exception), () =>
            {
                stateMachine.StreamResult(boltResult =>
                {
                    throw new Exception("some error");
                });
            });

            assertEquals("some error", e.Message);

            assertNull(stateMachine.Ctx.currentResultHandle);
            assertNull(stateMachine.Ctx.currentResult);
            assertNotNull(stateMachine.Ctx.currentTransaction);
        }
Ejemplo n.º 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldResetInExplicitTransactionWhileStatementIsRunningWhenValidated() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldResetInExplicitTransactionWhileStatementIsRunningWhenValidated()
        {
            KernelTransaction            transaction     = NewTimedOutTransaction();
            TransactionStateMachineV1SPI stateMachineSPI = NewTransactionStateMachineSPI(transaction);
            TransactionStateMachine      stateMachine    = NewTransactionStateMachine(stateMachineSPI);

            // start an explicit transaction
            stateMachine.BeginTransaction(null);
            assertThat(stateMachine.StateConflict, @is(TransactionStateMachine.State.ExplicitTransaction));
            assertNotNull(stateMachine.Ctx.currentTransaction);

            stateMachine.Run("RETURN 1", null);

            // verify transaction, which is timed out
            stateMachine.ValidateTransaction();

            assertThat(stateMachine.StateConflict, @is(TransactionStateMachine.State.AutoCommit));
            assertNull(stateMachine.Ctx.currentTransaction);
            assertNull(stateMachine.Ctx.currentResult);
            assertNull(stateMachine.Ctx.currentResultHandle);

            verify(transaction, times(1)).ReasonIfTerminated;
            verify(transaction, times(1)).failure();
            verify(transaction, times(1)).close();
        }
Ejemplo n.º 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldUnbindTxAfterRun() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldUnbindTxAfterRun()
        {
            KernelTransaction            transaction     = NewTimedOutTransaction();
            TransactionStateMachineV1SPI stateMachineSPI = NewTransactionStateMachineSPI(transaction);
            TransactionStateMachine      stateMachine    = NewTransactionStateMachine(stateMachineSPI);

            stateMachine.Run("SOME STATEMENT", null);

            verify(stateMachineSPI, times(1)).unbindTransactionFromCurrentThread();
        }
Ejemplo n.º 4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldCloseResultAndTransactionHandlesWhenExecutionFails() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldCloseResultAndTransactionHandlesWhenExecutionFails()
        {
            KernelTransaction            transaction     = NewTransaction();
            BoltResultHandle             resultHandle    = NewResultHandle(new Exception("some error"));
            TransactionStateMachineV1SPI stateMachineSPI = NewTransactionStateMachineSPI(transaction, resultHandle);
            TransactionStateMachine      stateMachine    = NewTransactionStateMachine(stateMachineSPI);

            Exception e = assertThrows(typeof(Exception), () => stateMachine.Run("SOME STATEMENT", null));

            assertEquals("some error", e.Message);

            assertNull(stateMachine.Ctx.currentResultHandle);
            assertNull(stateMachine.Ctx.currentResult);
            assertNull(stateMachine.Ctx.currentTransaction);
        }
Ejemplo n.º 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldThrowDuringStreamResultIfPendingTerminationNoticeExists() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldThrowDuringStreamResultIfPendingTerminationNoticeExists()
        {
            KernelTransaction            transaction     = NewTimedOutTransaction();
            TransactionStateMachineV1SPI stateMachineSPI = NewTransactionStateMachineSPI(transaction);
            TransactionStateMachine      stateMachine    = NewTransactionStateMachine(stateMachineSPI);

            stateMachine.Run("SOME STATEMENT", null);
            stateMachine.Ctx.pendingTerminationNotice = Org.Neo4j.Kernel.Api.Exceptions.Status_Transaction.TransactionTimedOut;

            TransactionTerminatedException e = assertThrows(typeof(TransactionTerminatedException), () =>
            {
                stateMachine.StreamResult(boltResult =>
                {
                });
            });

            assertEquals(Org.Neo4j.Kernel.Api.Exceptions.Status_Transaction.TransactionTimedOut, e.Status());
        }
Ejemplo n.º 6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldNotOpenExplicitTransactionForPeriodicCommitQuery() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldNotOpenExplicitTransactionForPeriodicCommitQuery()
        {
            KernelTransaction            transaction     = NewTransaction();
            TransactionStateMachineV1SPI stateMachineSPI = NewTransactionStateMachineSPI(transaction);

            when(stateMachineSPI.IsPeriodicCommit(_periodicCommitQuery)).thenReturn(true);

            TransactionStateMachine stateMachine = NewTransactionStateMachine(stateMachineSPI);

            stateMachine.Run(_periodicCommitQuery, EMPTY_MAP);

            // transaction was created only to stream back result of the periodic commit query
            assertEquals(transaction, stateMachine.Ctx.currentTransaction);

            InOrder inOrder = inOrder(stateMachineSPI);

            inOrder.verify(stateMachineSPI).isPeriodicCommit(_periodicCommitQuery);
            // periodic commit query was executed without starting an explicit transaction
            inOrder.verify(stateMachineSPI).executeQuery(any(typeof(LoginContext)), eq(_periodicCommitQuery), eq(EMPTY_MAP), any(), any());
            // explicit transaction was started only after query execution to stream the result
            inOrder.verify(stateMachineSPI).beginTransaction(any(typeof(LoginContext)), any(), any());
        }