diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/PropertyDeserializationTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/PropertyDeserializationTests.cs index 01cd0b266cb..f7c41bdded0 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/PropertyDeserializationTests.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/PropertyDeserializationTests.cs @@ -35,6 +35,11 @@ namespace Gremlin.Net.IntegrationTest.Driver { + /// + /// Serialized with Gherkin tests to avoid reading vertices through an active GraphComputerView + /// when @GraphComputerOnly scenarios run concurrently, which would expose transient compute properties. + /// + [Collection("GremlinServerTests")] public class PropertyDeserializationTests { private readonly RemoteConnectionFactory _connectionFactory = new(); diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs index dd8f32fbca5..fae10dafd80 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs @@ -37,10 +37,10 @@ namespace Gremlin.Net.IntegrationTest.Gherkin { - [CollectionDefinition(nameof(GherkinTestDefinition), DisableParallelization = true)] - public class GherkinTestDefinition { } + [CollectionDefinition(nameof(GremlinServerTests), DisableParallelization = true)] + public class GremlinServerTests { } - [Collection(nameof(GherkinTestDefinition))] + [Collection(nameof(GremlinServerTests))] public class GherkinTestRunner { private static readonly IDictionary IgnoredScenarios = diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs index 718e0fbe84a..489994b4c0f 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs @@ -34,6 +34,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection { + [Collection("GremlinServerTests")] public class GraphTraversalTests { private readonly RemoteConnectionFactory _connectionFactory = new RemoteConnectionFactory(); diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpTransactionIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpTransactionIntegrateTest.java index dd61bfa1cc7..ce21743c509 100644 --- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpTransactionIntegrateTest.java +++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpTransactionIntegrateTest.java @@ -96,7 +96,7 @@ public Settings overrideSettings(final Settings settings) { settings.transactionTimeout = 1000; break; case "shouldTimeoutIdleTransactionWithNoOperations": - settings.transactionTimeout = 1; + settings.transactionTimeout = 500; break; case "shouldTimeoutAndRejectLateCommit": case "shouldTrackTransactionCountAccurately": @@ -333,7 +333,7 @@ public void shouldRejectEmptyTransactionId() throws Exception { public void shouldTimeoutIdleTransactionWithNoOperations() throws Exception { final String txId = beginTx(client, GTX); - // wait for the transaction to timeout (configured at 1ms) + // wait for the transaction to timeout (configured at 500ms) Thread.sleep(1000); // the transaction should be gone @@ -382,12 +382,16 @@ public void shouldTrackTransactionCountAccurately() throws Exception { assertEquals(3, txManager.getActiveTransactionCount()); - // commit one - commitTx(client, txId1, GTX); + // commit one - must close response to ensure server-side processing completes + try (final CloseableHttpResponse r = commitTx(client, txId1, GTX)) { + assertEquals(200, r.getStatusLine().getStatusCode()); + } assertEquals(2, txManager.getActiveTransactionCount()); // rollback one - rollbackTx(client, txId2, GTX); + try (final CloseableHttpResponse r = rollbackTx(client, txId2, GTX)) { + assertEquals(200, r.getStatusLine().getStatusCode()); + } assertEquals(1, txManager.getActiveTransactionCount()); // let the third one timeout