You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2019/12/11 13:39:40 UTC
[tinkerpop] 04/20: Added test to show fix for TINKERPOP-2132 which
related to problems with authentication over multiple threads.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch driver-35
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 889da7eb25ea3643f97aed8a71c5ec8ca003edf5
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Tue Oct 1 11:53:15 2019 -0400
Added test to show fix for TINKERPOP-2132 which related to problems with authentication over multiple threads.
---
...ClientSingleRequestConnectionIntegrateTest.java | 2 --
.../server/GremlinServerAuthKrb5IntegrateTest.java | 23 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/ClientSingleRequestConnectionIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/ClientSingleRequestConnectionIntegrateTest.java
index 89dfdda..49d39a4 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/ClientSingleRequestConnectionIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/ClientSingleRequestConnectionIntegrateTest.java
@@ -46,8 +46,6 @@ import java.util.stream.IntStream;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.not;
-import static org.hamcrest.core.IsCollectionContaining.hasItem;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthKrb5IntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthKrb5IntegrateTest.java
index de838e0..7ac1fbd 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthKrb5IntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthKrb5IntegrateTest.java
@@ -287,6 +287,29 @@ public class GremlinServerAuthKrb5IntegrateTest extends AbstractGremlinServerInt
assertAuthViaToStringWithSpecifiedSerializer(new GraphBinaryMessageSerializerV1());
}
+ @Test
+ public void shouldAuthenticateWithThreads() throws Exception {
+ final Cluster cluster = TestClientFactory.build().jaasEntry(TESTCONSOLE)
+ .protocol(kdcServer.serverPrincipalName).addContactPoint(kdcServer.hostname).create();
+ final GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using(cluster, "gmodern"));
+
+ final ExecutorService executor = Executors.newFixedThreadPool(4);
+ final Callable<Long> countTraversalJob = () -> g.V().both().both().count().next();
+ final List<Future<Long>> results = executor.invokeAll(Collections.nCopies(100, countTraversalJob));
+
+ assertEquals(100, results.size());
+ for (int ix = 0; ix < results.size(); ix++) {
+ try {
+ assertEquals(30L, results.get(ix).get(1000, TimeUnit.MILLISECONDS).longValue());
+ } catch (Exception ex) {
+ // failure but shouldn't have
+ cluster.close();
+ fail("Exception halted assertions - " + ex.getMessage());
+ }
+ }
+ cluster.close();
+ }
+
public void assertAuthViaToStringWithSpecifiedSerializer(final MessageSerializer serializer) throws InterruptedException, ExecutionException {
final Map<String,Object> config = new HashMap<>();
config.put("serializeResultToString", true);