Beispiel #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldRollbackTransactionIfExecutionErrorOccurs() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldRollbackTransactionIfExecutionErrorOccurs()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel             = MockKernel();
            TransitionalTxManagementKernelTransaction  transactionContext = kernel.NewTransaction(@explicit, AUTH_DISABLED, -1);

            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            QueryExecutionEngine executionEngine      = mock(typeof(QueryExecutionEngine));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(executionEngine.ExecuteQuery("query", NoParams, transactionalContext)).thenThrow(new System.NullReferenceException());

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            TransactionHandle         handle = GetTransactionHandle(kernel, executionEngine, registry);
            ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer));

            // when
            handle.Execute(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest)));

            // then
            verify(transactionContext).rollback();
            verify(registry).forget(1337L);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).transactionCommitUri(uriScheme.txCommitUri(1337));
            outputOrder.verify(output).errors(argThat(HasErrors(Org.Neo4j.Kernel.Api.Exceptions.Status_Statement.ExecutionFailed)));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldCommitSinglePeriodicCommitStatement() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldCommitSinglePeriodicCommitStatement()
        {
            // given
            string queryText = "USING PERIODIC COMMIT CREATE()";
            TransitionalPeriodTransactionMessContainer kernel = MockKernel();

            QueryExecutionEngine executionEngine = mock(typeof(QueryExecutionEngine));
            Result executionResult = mock(typeof(Result));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(executionEngine.IsPeriodicCommit(queryText)).thenReturn(true);
            when(executionEngine.ExecuteQuery(eq(queryText), eq(NoParams), eq(transactionalContext))).thenReturn(executionResult);

            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            TransactionHandle         handle = GetTransactionHandle(kernel, executionEngine, registry);
            ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer));
            Statement statement = new Statement(queryText, map(), false, (ResultDataContent[])null);

            // when
            handle.Commit(statements(statement), output, mock(typeof(HttpServletRequest)));

            // then
            verify(executionEngine).executeQuery(queryText, NoParams, transactionalContext);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).statementResult(executionResult, false, ( ResultDataContent[] )null);
            outputOrder.verify(output).notifications(anyCollectionOf(typeof(Notification)));
            outputOrder.verify(output).errors(argThat(HasNoErrors()));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldExecuteStatements() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldExecuteStatements()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel = MockKernel();

            QueryExecutionEngine executionEngine = mock(typeof(QueryExecutionEngine));
            Result executionResult = mock(typeof(Result));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(executionEngine.ExecuteQuery("query", NoParams, transactionalContext)).thenReturn(executionResult);
            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            TransactionHandle         handle = GetTransactionHandle(kernel, executionEngine, registry);
            ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer));

            // when
            handle.Execute(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest)));

            // then
            verify(executionEngine).executeQuery("query", NoParams, transactionalContext);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).transactionCommitUri(uriScheme.txCommitUri(1337));
            outputOrder.verify(output).statementResult(executionResult, false, ( ResultDataContent[] )null);
            outputOrder.verify(output).notifications(anyCollection());
            outputOrder.verify(output).transactionStatus(anyLong());
            outputOrder.verify(output).errors(argThat(HasNoErrors()));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldLogMessageIfCypherSyntaxErrorOccurs() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldLogMessageIfCypherSyntaxErrorOccurs()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel = MockKernel();

            QueryExecutionEngine executionEngine      = mock(typeof(QueryExecutionEngine));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(executionEngine.ExecuteQuery("matsch (n) return n", NoParams, transactionalContext)).thenThrow(new QueryExecutionKernelException(new SyntaxException("did you mean MATCH?")));

            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService));
            TransactionHandle         handle       = new TransactionHandle(kernel, executionEngine, queryService, registry, uriScheme, false, AUTH_DISABLED, anyLong(), NullLogProvider.Instance);
            ExecutionResultSerializer output       = mock(typeof(ExecutionResultSerializer));

            // when
            Statement statement = new Statement("matsch (n) return n", map(), false, (ResultDataContent[])null);

            handle.Commit(statements(statement), output, mock(typeof(HttpServletRequest)));

            // then
            verify(registry).forget(1337L);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).errors(argThat(HasErrors(Org.Neo4j.Kernel.Api.Exceptions.Status_Statement.SyntaxError)));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #5
0
        private TransactionalContext PrepareKernelWithQuerySession(TransitionalPeriodTransactionMessContainer kernel)
        {
            TransactionalContext tc = mock(typeof(TransactionalContext));

            when(kernel.Create(any(typeof(HttpServletRequest)), any(typeof(GraphDatabaseQueryService)), any(typeof(Transaction_Type)), any(typeof(LoginContext)), any(typeof(string)), any(typeof(System.Collections.IDictionary)))).thenReturn(tc);
            return(tc);
        }
Beispiel #6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldRollbackTransactionAndTellRegistryToForgetItsHandle()
        public virtual void ShouldRollbackTransactionAndTellRegistryToForgetItsHandle()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel             = MockKernel();
            TransitionalTxManagementKernelTransaction  transactionContext = kernel.NewTransaction(@explicit, AUTH_DISABLED, -1);

            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService));
            TransactionHandle         handle       = new TransactionHandle(kernel, mock(typeof(QueryExecutionEngine)), queryService, registry, uriScheme, true, AUTH_DISABLED, anyLong(), NullLogProvider.Instance);
            ExecutionResultSerializer output       = mock(typeof(ExecutionResultSerializer));

            // when
            handle.Rollback(output);

            // then
            InOrder transactionOrder = inOrder(transactionContext, registry);

            transactionOrder.verify(transactionContext).rollback();
            transactionOrder.verify(registry).forget(1337L);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).errors(argThat(HasNoErrors()));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #7
0
        public static TransactionStateChecker Create(TransitionalPeriodTransactionMessContainer container)
        {
            KernelTransaction topLevelTransactionBoundToThisThread = container.Bridge.getKernelTransactionBoundToThisThread(true);
            KernelStatement   kernelStatement = ( KernelStatement )topLevelTransactionBoundToThisThread.AcquireStatement();

            return(new TransactionStateChecker(kernelStatement, nodeId => kernelStatement.HasTxStateWithChanges() && kernelStatement.TxState().nodeIsDeletedInThisTx(nodeId), relId => kernelStatement.HasTxStateWithChanges() && kernelStatement.TxState().relationshipIsDeletedInThisTx(relId)));
        }
Beispiel #8
0
 public TransactionFacade(TransitionalPeriodTransactionMessContainer kernel, QueryExecutionEngine engine, GraphDatabaseQueryService queryService, TransactionRegistry registry, LogProvider logProvider)
 {
     this._kernel       = kernel;
     this._engine       = engine;
     this._queryService = queryService;
     this._registry     = registry;
     this._logProvider  = logProvider;
 }
Beispiel #9
0
        private TransitionalPeriodTransactionMessContainer MockKernel()
        {
            TransitionalTxManagementKernelTransaction  context = mock(typeof(TransitionalTxManagementKernelTransaction));
            TransitionalPeriodTransactionMessContainer kernel  = mock(typeof(TransitionalPeriodTransactionMessContainer));

            when(kernel.NewTransaction(any(typeof(Transaction_Type)), any(typeof(LoginContext)), anyLong())).thenReturn(context);
            return(kernel);
        }
Beispiel #10
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldThrowSpecificExceptionOnConcurrentTransactionAccess() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldThrowSpecificExceptionOnConcurrentTransactionAccess()
        {
            // given
            TransactionRegistry registry = new TransactionHandleRegistry(mock(typeof(Clock)), 0, NullLogProvider.Instance);
            TransitionalPeriodTransactionMessContainer kernel           = mock(typeof(TransitionalPeriodTransactionMessContainer));
            GraphDatabaseQueryService queryService                      = mock(typeof(GraphDatabaseQueryService));
            TransitionalTxManagementKernelTransaction kernelTransaction = mock(typeof(TransitionalTxManagementKernelTransaction));

            when(kernel.NewTransaction(any(typeof(KernelTransaction.Type)), any(typeof(LoginContext)), anyLong())).thenReturn(kernelTransaction);
            TransactionFacade actions = new TransactionFacade(kernel, null, queryService, registry, NullLogProvider.Instance);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final TransactionHandle transactionHandle = actions.newTransactionHandle(new DisgustingUriScheme(), true, org.neo4j.internal.kernel.api.security.LoginContext.AUTH_DISABLED, -1);
            TransactionHandle transactionHandle = actions.NewTransactionHandle(new DisgustingUriScheme(), true, LoginContext.AUTH_DISABLED, -1);

//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();
            DoubleLatch latch = new DoubleLatch();

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final StatementDeserializer statements = mock(StatementDeserializer.class);
            StatementDeserializer statements = mock(typeof(StatementDeserializer));

//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            when(statements.HasNext()).thenAnswer(invocation =>
            {
                latch.StartAndWaitForAllToStartAndFinish();
                return(false);
            });

            (new Thread(() =>
            {
                // start and block until finish
                transactionHandle.Execute(statements, mock(typeof(ExecutionResultSerializer)), mock(typeof(HttpServletRequest)));
            })).Start();

            latch.WaitForAllToStart();

            try
            {
                // when
                actions.FindTransactionHandle(DisgustingUriScheme.ParseTxId(transactionHandle.Uri()));
                fail("should have thrown exception");
            }
            catch (InvalidConcurrentTransactionAccess)
            {
                // then we get here
            }
            finally
            {
                latch.Finish();
            }
        }
Beispiel #11
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void startTransactionWithRequestedTimeout()
        public virtual void StartTransactionWithRequestedTimeout()
        {
            QueryExecutionEngine      executionEngine = mock(typeof(QueryExecutionEngine));
            GraphDatabaseQueryService queryService    = mock(typeof(GraphDatabaseQueryService));
            ExecutionResultSerializer output          = mock(typeof(ExecutionResultSerializer));

            TransitionalPeriodTransactionMessContainer txManagerFacade = MockKernel();
            TransactionHandle handle = new TransactionHandle(txManagerFacade, executionEngine, queryService, mock(typeof(TransactionRegistry)), uriScheme, true, AUTH_DISABLED, 100, NullLogProvider.Instance);

            handle.Commit(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest)));

            verify(txManagerFacade).newTransaction(Transaction_Type.@implicit, AUTH_DISABLED, 100);
        }
Beispiel #12
0
 internal TransactionHandle(TransitionalPeriodTransactionMessContainer txManagerFacade, QueryExecutionEngine engine, GraphDatabaseQueryService queryService, TransactionRegistry registry, TransactionUriScheme uriScheme, bool implicitTransaction, LoginContext loginContext, long customTransactionTimeout, LogProvider logProvider)
 {
     this._txManagerFacade          = txManagerFacade;
     this._engine                   = engine;
     this._queryService             = queryService;
     this._registry                 = registry;
     this._uriScheme                = uriScheme;
     this._type                     = implicitTransaction ? Transaction_Type.@implicit : Transaction_Type.@explicit;
     this._loginContext             = loginContext;
     this._customTransactionTimeout = customTransactionTimeout;
     this._log = logProvider.getLog(this.GetType());
     this._id  = registry.Begin(this);
 }
Beispiel #13
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldLogMessageIfCommitErrorOccurs() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldLogMessageIfCommitErrorOccurs()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel             = MockKernel();
            TransitionalTxManagementKernelTransaction  transactionContext = kernel.NewTransaction(@explicit, AUTH_DISABLED, -1);

            doThrow(new System.NullReferenceException()).when(transactionContext).commit();

            LogProvider logProvider = mock(typeof(LogProvider));
            Log         log         = mock(typeof(Log));

            when(logProvider.GetLog(typeof(TransactionHandle))).thenReturn(log);

            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            QueryExecutionEngine engine = mock(typeof(QueryExecutionEngine));
            Result executionResult      = mock(typeof(Result));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(engine.ExecuteQuery("query", NoParams, transactionalContext)).thenReturn(executionResult);
            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService));
            TransactionHandle         handle       = new TransactionHandle(kernel, engine, queryService, registry, uriScheme, false, AUTH_DISABLED, anyLong(), logProvider);
            ExecutionResultSerializer output       = mock(typeof(ExecutionResultSerializer));

            // when
            Statement statement = new Statement("query", map(), false, (ResultDataContent[])null);

            handle.Commit(statements(statement), output, mock(typeof(HttpServletRequest)));

            // then
            verify(log).error(eq("Failed to commit transaction."), any(typeof(System.NullReferenceException)));
            verify(registry).forget(1337L);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).statementResult(executionResult, false, ( ResultDataContent[] )null);
            outputOrder.verify(output).notifications(anyCollectionOf(typeof(Notification)));
            outputOrder.verify(output).errors(argThat(HasErrors(Org.Neo4j.Kernel.Api.Exceptions.Status_Transaction.TransactionCommitFailed)));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldResumeTransactionWhenExecutingStatementsOnSecondRequest() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldResumeTransactionWhenExecutingStatementsOnSecondRequest()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel             = MockKernel();
            TransitionalTxManagementKernelTransaction  transactionContext = kernel.NewTransaction(@explicit, AUTH_DISABLED, -1);

            TransactionRegistry  registry             = mock(typeof(TransactionRegistry));
            QueryExecutionEngine executionEngine      = mock(typeof(QueryExecutionEngine));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            TransactionHandle         handle = GetTransactionHandle(kernel, executionEngine, registry);
            ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer));

            handle.Execute(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest)));
            reset(transactionContext, registry, executionEngine, output);
            Result executionResult = mock(typeof(Result));

            when(executionEngine.ExecuteQuery("query", NoParams, transactionalContext)).thenReturn(executionResult);

            // when
            handle.Execute(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest)));

            // then
            InOrder order = inOrder(transactionContext, registry, executionEngine);

            order.verify(transactionContext).resumeSinceTransactionsAreStillThreadBound();
            order.verify(executionEngine).executeQuery("query", NoParams, transactionalContext);
            order.verify(transactionContext).suspendSinceTransactionsAreStillThreadBound();
            order.verify(registry).release(1337L, handle);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).transactionCommitUri(uriScheme.txCommitUri(1337));
            outputOrder.verify(output).statementResult(executionResult, false, ( ResultDataContent[] )null);
            outputOrder.verify(output).notifications(anyCollectionOf(typeof(Notification)));
            outputOrder.verify(output).transactionStatus(anyLong());
            outputOrder.verify(output).errors(argThat(HasNoErrors()));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #15
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldCommitTransactionAndTellRegistryToForgetItsHandle() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldCommitTransactionAndTellRegistryToForgetItsHandle()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel             = MockKernel();
            TransitionalTxManagementKernelTransaction  transactionContext = kernel.NewTransaction(@explicit, AUTH_DISABLED, -1);

            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            QueryExecutionEngine engine = mock(typeof(QueryExecutionEngine));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);
            Result result = mock(typeof(Result));

            when(engine.ExecuteQuery("query", NoParams, transactionalContext)).thenReturn(result);
            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService));
            TransactionHandle         handle       = new TransactionHandle(kernel, engine, queryService, registry, uriScheme, false, AUTH_DISABLED, anyLong(), NullLogProvider.Instance);
            ExecutionResultSerializer output       = mock(typeof(ExecutionResultSerializer));

            // when
            Statement statement = new Statement("query", map(), false, (ResultDataContent[])null);

            handle.Commit(statements(statement), output, mock(typeof(HttpServletRequest)));

            // then
            InOrder transactionOrder = inOrder(transactionContext, registry);

            transactionOrder.verify(transactionContext).commit();
            transactionOrder.verify(registry).forget(1337L);

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).statementResult(result, false, ( ResultDataContent[] )null);
            outputOrder.verify(output).notifications(anyCollectionOf(typeof(Notification)));
            outputOrder.verify(output).errors(argThat(HasNoErrors()));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldCreateTransactionContextOnlyWhenFirstNeeded() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldCreateTransactionContextOnlyWhenFirstNeeded()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel = MockKernel();
            ExecutionResultSerializer output   = mock(typeof(ExecutionResultSerializer));
            TransactionRegistry       registry = mock(typeof(TransactionRegistry));

            // when
            QueryExecutionEngine engine = mock(typeof(QueryExecutionEngine));
            Result executionResult      = mock(typeof(Result));
            TransactionalContext transactionalContext = PrepareKernelWithQuerySession(kernel);

            when(engine.ExecuteQuery("query", NoParams, transactionalContext)).thenReturn(executionResult);
            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService));
            TransactionHandle         handle       = new TransactionHandle(kernel, engine, queryService, registry, uriScheme, true, AUTH_DISABLED, anyLong(), NullLogProvider.Instance);

            // then
            verifyZeroInteractions(kernel);

            // when
            handle.Execute(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest)));

            // then
            verify(kernel).newTransaction(any(typeof(Transaction_Type)), any(typeof(LoginContext)), anyLong());

            InOrder outputOrder = inOrder(output);

            outputOrder.verify(output).transactionCommitUri(uriScheme.txCommitUri(1337));
            outputOrder.verify(output).statementResult(executionResult, false, ( ResultDataContent[] )null);
            outputOrder.verify(output).notifications(anyCollectionOf(typeof(Notification)));
            outputOrder.verify(output).transactionStatus(anyLong());
            outputOrder.verify(output).errors(argThat(HasNoErrors()));
            outputOrder.verify(output).finish();
            verifyNoMoreInteractions(output);
        }
Beispiel #17
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldInterruptTransaction()
        public virtual void ShouldInterruptTransaction()
        {
            // given
            TransitionalPeriodTransactionMessContainer kernel = MockKernel();
            TransitionalTxManagementKernelTransaction  tx     = mock(typeof(TransitionalTxManagementKernelTransaction));

            when(kernel.NewTransaction(any(typeof(Transaction_Type)), any(typeof(LoginContext)), anyLong())).thenReturn(tx);
            TransactionRegistry registry = mock(typeof(TransactionRegistry));

            when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L);
            QueryExecutionEngine executionEngine = mock(typeof(QueryExecutionEngine));
            TransactionHandle    handle          = GetTransactionHandle(kernel, executionEngine, registry);

            ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer));
            Statement statement = new Statement("MATCH (n) RETURN n", map(), false, (ResultDataContent[])null);

            handle.Execute(statements(statement), output, mock(typeof(HttpServletRequest)));

            // when
            handle.Terminate();

            // then
            verify(tx, times(1)).terminate();
        }
Beispiel #18
0
        public ExecutionResultSerializer(Stream output, URI baseUri, LogProvider logProvider, TransitionalPeriodTransactionMessContainer container)
        {
            this._baseUri      = baseUri;
            this._log          = logProvider.getLog(this.GetType());
            this._container    = container;
            _jsonFactory.Codec = new Neo4jJsonCodec(container);
            JsonGenerator generator = null;

            try
            {
                generator = _jsonFactory.createJsonGenerator(output);
            }
            catch (IOException e)
            {
                LoggedIOException(e);
            }
            this.@out = generator;
        }
Beispiel #19
0
        private TransactionHandle GetTransactionHandle(TransitionalPeriodTransactionMessContainer kernel, QueryExecutionEngine executionEngine, TransactionRegistry registry)
        {
            GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService));

            return(new TransactionHandle(kernel, executionEngine, queryService, registry, uriScheme, true, AUTH_DISABLED, anyLong(), NullLogProvider.Instance));
        }