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); }
//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); }
//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); }
public override Pair <string, string> Evaluate(string script) { if (StringUtils.EMPTY.Equals(script.Trim())) { return(Pair.of(StringUtils.EMPTY, null)); } string resultString; try { TransactionalContext tc = _cypherExecutor.createTransactionContext(script, emptyMap(), _request); ExecutionEngine engine = _cypherExecutor.ExecutionEngine; Result result = engine.ExecuteQuery(script, emptyMap(), tc); resultString = result.ResultAsString(); } catch (SyntaxException error) { resultString = error.Message; } catch (Exception exception) { _log.error("Unknown error executing cypher query", exception); resultString = "Error: " + exception.GetType().Name + " - " + exception.Message; } return(Pair.of(resultString, null)); }
//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); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldIncludePlanIfPresent() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldIncludePlanIfPresent() { // Given QueryStatistics queryStatistics = mock(typeof(QueryStatistics)); when(queryStatistics.ContainsUpdates()).thenReturn(false); QueryResult result = mock(typeof(QueryResult)); when(result.FieldNames()).thenReturn(new string[0]); when(result.ExecutionType()).thenReturn(explained(READ_ONLY)); when(result.QueryStatistics()).thenReturn(queryStatistics); when(result.Notifications).thenReturn(Collections.emptyList()); when(result.ExecutionPlanDescription()).thenReturn(Plan("Join", map("arg1", 1), singletonList("id1"), Plan("Scan", map("arg2", 1), singletonList("id2")))); TransactionalContext tc = mock(typeof(TransactionalContext)); CypherAdapterStream stream = new CypherAdapterStream(result, Clock.systemUTC()); // When MapValue meta = MetadataOf(stream); // Then MapValue expectedChild = MapValues("args", MapValues("arg2", intValue(1)), "identifiers", list(stringValue("id2")), "operatorType", stringValue("Scan"), "children", VirtualValues.EMPTY_LIST); MapValue expectedPlan = MapValues("args", MapValues("arg1", intValue(1)), "identifiers", list(stringValue("id1")), "operatorType", stringValue("Join"), "children", list(expectedChild)); assertThat(meta.Get("plan"), equalTo(expectedPlan)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldIncludeProfileIfPresent() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldIncludeProfileIfPresent() { // Given QueryStatistics queryStatistics = mock(typeof(QueryStatistics)); when(queryStatistics.ContainsUpdates()).thenReturn(false); QueryResult result = mock(typeof(QueryResult)); when(result.FieldNames()).thenReturn(new string[0]); when(result.ExecutionType()).thenReturn(explained(READ_ONLY)); when(result.QueryStatistics()).thenReturn(queryStatistics); when(result.Notifications).thenReturn(Collections.emptyList()); when(result.ExecutionPlanDescription()).thenReturn(Plan("Join", map("arg1", 1), 2, 4, 3, 1, singletonList("id1"), Plan("Scan", map("arg2", 1), 2, 4, 7, 1, singletonList("id2")))); TransactionalContext tc = mock(typeof(TransactionalContext)); CypherAdapterStream stream = new CypherAdapterStream(result, Clock.systemUTC()); // When MapValue meta = MetadataOf(stream); // Then MapValue expectedChild = MapValues("args", MapValues("arg2", intValue(1)), "identifiers", list(stringValue("id2")), "operatorType", stringValue("Scan"), "children", VirtualValues.EMPTY_LIST, "rows", longValue(1L), "dbHits", longValue(2L), "pageCacheHits", longValue(4L), "pageCacheMisses", longValue(7L), "pageCacheHitRatio", doubleValue(4.0 / 11)); MapValue expectedProfile = MapValues("args", MapValues("arg1", intValue(1)), "identifiers", list(stringValue("id1")), "operatorType", stringValue("Join"), "children", list(expectedChild), "rows", longValue(1L), "dbHits", longValue(2L), "pageCacheHits", longValue(4L), "pageCacheMisses", longValue(3L), "pageCacheHitRatio", doubleValue(4.0 / 7)); AssertMapEqualsWithDelta(( MapValue )meta.Get("profile"), expectedProfile, 0.0001); }
public BoltResultHandleV1(TransactionStateMachineV1SPI outerInstance, string statement, MapValue @params, TransactionalContext transactionalContext) { this._outerInstance = outerInstance; this.Statement = statement; this.Params = @params; this.TransactionalContext = transactionalContext; }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldIncludeNotificationsIfPresent() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldIncludeNotificationsIfPresent() { // Given QueryResult result = mock(typeof(QueryResult)); when(result.FieldNames()).thenReturn(new string[0]); QueryStatistics queryStatistics = mock(typeof(QueryStatistics)); when(queryStatistics.ContainsUpdates()).thenReturn(false); when(result.QueryStatistics()).thenReturn(queryStatistics); when(result.ExecutionType()).thenReturn(query(READ_WRITE)); when(result.Notifications).thenReturn(Arrays.asList(NotificationCode.INDEX_HINT_UNFULFILLABLE.notification(InputPosition.empty), NotificationCode.PLANNER_UNSUPPORTED.notification(new InputPosition(4, 5, 6)))); TransactionalContext tc = mock(typeof(TransactionalContext)); CypherAdapterStream stream = new CypherAdapterStream(result, Clock.systemUTC()); // When MapValue meta = MetadataOf(stream); // Then MapValue msg1 = MapValues("severity", stringValue("WARNING"), "code", stringValue("Neo.ClientError.Schema.IndexNotFound"), "title", stringValue("The request (directly or indirectly) referred to an index that does not exist."), "description", stringValue("The hinted index does not exist, please check the schema")); MapValue msg2 = MapValues("severity", stringValue("WARNING"), "code", stringValue("Neo.ClientNotification.Statement.PlannerUnsupportedWarning"), "title", stringValue("This query is not supported by the COST planner."), "description", stringValue("Using COST planner is unsupported for this query, please use RULE planner instead"), "position", MapValues("offset", intValue(4), "column", intValue(6), "line", intValue(5))); assertThat(meta.Get("notifications"), equalTo(list(msg1, msg2))); }
public override BoltResultHandle ExecuteQuery(LoginContext loginContext, string statement, MapValue @params, Duration txTimeout, IDictionary <string, object> txMetadata) { InternalTransaction internalTransaction = BeginTransaction(@implicit, loginContext, txTimeout, txMetadata); TransactionalContext transactionalContext = _contextFactory.newContext(_boltChannel.info(), internalTransaction, statement, @params); return(NewBoltResultHandle(statement, @params, transactionalContext)); }
//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); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private org.neo4j.graphdb.Result safelyExecute(Statement statement, boolean hasPeriodicCommit, org.neo4j.kernel.impl.query.TransactionalContext tc) throws org.neo4j.kernel.impl.query.QueryExecutionKernelException, java.io.IOException private Result SafelyExecute(Statement statement, bool hasPeriodicCommit, TransactionalContext tc) { try { return(_engine.executeQuery(statement.StatementConflict(), ValueUtils.asMapValue(statement.Parameters()), tc)); } finally { if (hasPeriodicCommit) { _context.reopenAfterPeriodicCommit(); } } }
/// <summary> /// Libère le contexte. /// </summary> public void Dispose() { if (!_completed) { // Libération des objets associés à la transaction dans le cas d'une annulation (connexions). TransactionalContext context = SqlServerManager.Instance.CurrentTransactionalContext(); if (context != null) { Transaction t = Transaction.Current; if (t != null) { context.ReleaseConnections(t); } } } _scope.Dispose(); _scope = null; }
//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); }
//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); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldIncludeBasicMetadata() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldIncludeBasicMetadata() { // Given QueryStatistics queryStatistics = mock(typeof(QueryStatistics)); when(queryStatistics.ContainsUpdates()).thenReturn(true); when(queryStatistics.NodesCreated).thenReturn(1); when(queryStatistics.NodesDeleted).thenReturn(2); when(queryStatistics.RelationshipsCreated).thenReturn(3); when(queryStatistics.RelationshipsDeleted).thenReturn(4); when(queryStatistics.PropertiesSet).thenReturn(5); when(queryStatistics.IndexesAdded).thenReturn(6); when(queryStatistics.IndexesRemoved).thenReturn(7); when(queryStatistics.ConstraintsAdded).thenReturn(8); when(queryStatistics.ConstraintsRemoved).thenReturn(9); when(queryStatistics.LabelsAdded).thenReturn(10); when(queryStatistics.LabelsRemoved).thenReturn(11); QueryResult result = mock(typeof(QueryResult)); when(result.FieldNames()).thenReturn(new string[0]); when(result.ExecutionType()).thenReturn(query(READ_WRITE)); when(result.QueryStatistics()).thenReturn(queryStatistics); when(result.Notifications).thenReturn(Collections.emptyList()); Clock clock = mock(typeof(Clock)); when(clock.millis()).thenReturn(0L, 1337L); TransactionalContext tc = mock(typeof(TransactionalContext)); CypherAdapterStream stream = new CypherAdapterStream(result, clock); // When MapValue meta = MetadataOf(stream); // Then assertThat(meta.Get("type"), equalTo(stringValue("rw"))); assertThat(meta.Get("stats"), equalTo(MapValues("nodes-created", intValue(1), "nodes-deleted", intValue(2), "relationships-created", intValue(3), "relationships-deleted", intValue(4), "properties-set", intValue(5), "indexes-added", intValue(6), "indexes-removed", intValue(7), "constraints-added", intValue(8), "constraints-removed", intValue(9), "labels-added", intValue(10), "labels-removed", intValue(11)))); assertThat(meta.Get("result_consumed_after"), equalTo(longValue(1337L))); }
//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); }
//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); }
internal TransactionalContextWrapper(TransactionalContext @delegate, params LockOperationListener[] listeners) : this(@delegate, new List <>(), listeners)
protected internal virtual BoltResultHandle NewBoltResultHandle(string statement, MapValue @params, TransactionalContext transactionalContext) { return(new BoltResultHandleV1(this, statement, @params, transactionalContext)); }
public TeamsRepository(TransactionalContext context) { _context = context ?? throw new ArgumentNullException(nameof(context)); }
private void ExecuteStatements(StatementDeserializer statements, ExecutionResultSerializer output, IList <Neo4jError> errors, HttpServletRequest request) { try { bool hasPrevious = false; while (statements.MoveNext()) { Statement statement = statements.Current; try { bool hasPeriodicCommit = _engine.isPeriodicCommit(statement.StatementConflict()); //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: if ((statements.HasNext() || hasPrevious) && hasPeriodicCommit) { throw new QueryExecutionKernelException(new InvalidSemanticsException("Cannot execute another statement after executing " + "PERIODIC COMMIT statement in the same transaction")); } if (!hasPrevious && hasPeriodicCommit) { _context.closeTransactionForPeriodicCommit(); } hasPrevious = true; TransactionalContext tc = _txManagerFacade.create(request, _queryService, _type, _loginContext, statement.StatementConflict(), statement.Parameters()); Result result = SafelyExecute(statement, hasPeriodicCommit, tc); output.StatementResult(result, statement.IncludeStats(), statement.ResultDataContents()); output.Notifications(result.Notifications); } catch (Exception e) when(e is KernelException || e is CypherException || e is AuthorizationViolationException || e is WriteOperationsNotAllowedException) { errors.Add(new Neo4jError(e.status(), e)); break; } catch (DeadlockDetectedException e) { errors.Add(new Neo4jError(Org.Neo4j.Kernel.Api.Exceptions.Status_Transaction.DeadlockDetected, e)); } catch (IOException e) { errors.Add(new Neo4jError(Org.Neo4j.Kernel.Api.Exceptions.Status_Network.CommunicationError, e)); break; } catch (Exception e) { Exception cause = e.InnerException; if (cause is Org.Neo4j.Kernel.Api.Exceptions.Status_HasStatus) { errors.Add(new Neo4jError(((Org.Neo4j.Kernel.Api.Exceptions.Status_HasStatus)cause).Status(), cause)); } else { errors.Add(new Neo4jError(Org.Neo4j.Kernel.Api.Exceptions.Status_Statement.ExecutionFailed, e)); } break; } } addToCollection(statements.Errors(), errors); } catch (Exception e) { errors.Add(new Neo4jError(Org.Neo4j.Kernel.Api.Exceptions.Status_General.UnknownError, e)); } }
public Org.Neo4j.Graphdb.Result ProfileQuery(string query, [email protected] parameter, TransactionalContext context) { throw NoQueryEngineConflict(); }
internal TransactionalContextWrapper(TransactionalContext @delegate, IList <LockOperationRecord> recordedLocks, params LockOperationListener[] listeners) { this.Delegate = @delegate; this.RecordedLocks = recordedLocks; this.Listeners = listeners; }