//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); }
private static TransactionStateMachineV1SPI CreateTxSpi(System.Func <TransactionIdStore> txIdStore, Duration txAwaitDuration, DatabaseAvailabilityGuard availabilityGuard, Clock clock) { QueryExecutionEngine queryExecutionEngine = mock(typeof(QueryExecutionEngine)); DependencyResolver dependencyResolver = mock(typeof(DependencyResolver)); ThreadToStatementContextBridge bridge = new ThreadToStatementContextBridge(availabilityGuard); when(dependencyResolver.ResolveDependency(typeof(ThreadToStatementContextBridge))).thenReturn(bridge); when(dependencyResolver.ResolveDependency(typeof(QueryExecutionEngine))).thenReturn(queryExecutionEngine); when(dependencyResolver.ResolveDependency(typeof(DatabaseAvailabilityGuard))).thenReturn(availabilityGuard); when(dependencyResolver.ProvideDependency(typeof(TransactionIdStore))).thenReturn(txIdStore); GraphDatabaseAPI db = mock(typeof(GraphDatabaseAPI)); when(Db.DependencyResolver).thenReturn(dependencyResolver); GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService)); when(queryService.DependencyResolver).thenReturn(dependencyResolver); when(dependencyResolver.ResolveDependency(typeof(GraphDatabaseQueryService))).thenReturn(queryService); BoltChannel boltChannel = new BoltChannel("bolt-42", "bolt", new EmbeddedChannel()); return(new TransactionStateMachineV1SPI(db, boltChannel, txAwaitDuration, clock)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldHandleExecutionEngineThrowingUndeclaredCheckedExceptions() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldHandleExecutionEngineThrowingUndeclaredCheckedExceptions() { // given QueryExecutionEngine executionEngine = mock(typeof(QueryExecutionEngine)); when(executionEngine.ExecuteQuery(eq("match (n) return n"), eq(NoParams), any(typeof(TransactionalContext)))).thenAnswer(invocationOnMock => { throw new Exception("BOO"); }); TransactionRegistry registry = mock(typeof(TransactionRegistry)); when(registry.Begin(any(typeof(TransactionHandle)))).thenReturn(1337L); GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService)); TransactionHandle handle = new TransactionHandle(MockKernel(), executionEngine, queryService, registry, uriScheme, false, AUTH_DISABLED, anyLong(), NullLogProvider.Instance); ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer)); // when Statement statement = new Statement("match (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).statementResult(Null, eq(false), Null); 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 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 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); }
//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); }
public TransactionStateMachineV1SPI(GraphDatabaseAPI db, BoltChannel boltChannel, Duration txAwaitDuration, Clock clock) { this._db = db; this._boltChannel = boltChannel; this._txBridge = ResolveDependency(db, typeof(ThreadToStatementContextBridge)); this._queryExecutionEngine = ResolveDependency(db, typeof(QueryExecutionEngine)); this._transactionIdTracker = NewTransactionIdTracker(db); this._contextFactory = NewTransactionalContextFactory(db); this._txAwaitDuration = txAwaitDuration; this._clock = clock; }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private java.util.List<LockOperationRecord> traceQueryLocks(String query, LockOperationListener... listeners) throws org.neo4j.kernel.impl.query.QueryExecutionKernelException private IList <LockOperationRecord> TraceQueryLocks(string query, params LockOperationListener[] listeners) { GraphDatabaseQueryService graph = DatabaseRule.resolveDependency(typeof(GraphDatabaseQueryService)); QueryExecutionEngine executionEngine = DatabaseRule.resolveDependency(typeof(QueryExecutionEngine)); using (InternalTransaction tx = graph.BeginTransaction(KernelTransaction.Type.@implicit, LoginContext.AUTH_DISABLED)) { TransactionalContextWrapper context = new TransactionalContextWrapper(CreateTransactionContext(graph, tx, query), listeners); executionEngine.ExecuteQuery(query, VirtualValues.emptyMap(), context); return(new List <LockOperationRecord>(context.RecordingLocks.LockOperationRecords)); } }
//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); }
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); }
public static QueryExecutionEngine Initialize(Dependencies deps, GraphDatabaseAPI graphAPI, IEnumerable <QueryEngineProvider> providers) { IList <QueryEngineProvider> engineProviders = new IList <QueryEngineProvider> { providers }; //JAVA TO C# CONVERTER TODO TASK: Method reference arbitrary object instance method syntax is not converted by Java to C# Converter: engineProviders.sort(System.Collections.IComparer.comparingInt(QueryEngineProvider::enginePriority)); QueryEngineProvider provider = Iterables.firstOrNull(engineProviders); if (provider == null) { return(NoEngine()); } QueryExecutionEngine engine = provider.CreateEngine(deps, graphAPI); return(deps.SatisfyDependency(engine)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test @SuppressWarnings("unchecked") public void deadlockExceptionHasCorrectStatus() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void DeadlockExceptionHasCorrectStatus() { // given QueryExecutionEngine executionEngine = mock(typeof(QueryExecutionEngine)); when(executionEngine.ExecuteQuery(anyString(), any(typeof(MapValue)), Null)).thenThrow(new DeadlockDetectedException("deadlock")); GraphDatabaseQueryService queryService = mock(typeof(GraphDatabaseQueryService)); TransactionHandle handle = new TransactionHandle(MockKernel(), executionEngine, queryService, mock(typeof(TransactionRegistry)), uriScheme, true, AUTH_DISABLED, anyLong(), NullLogProvider.Instance); ExecutionResultSerializer output = mock(typeof(ExecutionResultSerializer)); // when handle.Execute(statements(new Statement("query", map(), false, (ResultDataContent[])null)), output, mock(typeof(HttpServletRequest))); // then verify(output).errors(argThat(HasErrors(Org.Neo4j.Kernel.Api.Exceptions.Status_Transaction.DeadlockDetected))); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldPickTheOneAndOnlyQueryEngineAvailable() public virtual void ShouldPickTheOneAndOnlyQueryEngineAvailable() { // Given QueryEngineProvider provider = mock(typeof(QueryEngineProvider)); when(provider.EnginePriority()).thenReturn(1); Dependencies deps = new Dependencies(); GraphDatabaseAPI graphAPI = mock(typeof(GraphDatabaseAPI)); QueryExecutionEngine executionEngine = mock(typeof(QueryExecutionEngine)); when(provider.CreateEngine(any(), any())).thenReturn(executionEngine); // When IEnumerable <QueryEngineProvider> providers = Iterables.asIterable(provider); QueryExecutionEngine engine = QueryEngineProvider.Initialize(deps, graphAPI, providers); // Then assertSame(executionEngine, engine); }
//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 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 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(); }
//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); }
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)); }