TINKERPOP-1857 Added the new "sink" test for GLVs

This involved adding "sink" infrastructure to the test server configuration and 
including it in the gherkin setups for each GLV


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7212253e
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7212253e
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7212253e

Branch: refs/heads/tp32
Commit: 7212253e6ff962232c906705c14fa95067fd11b9
Parents: 58d9382
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Feb 14 11:17:15 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Feb 14 15:34:10 2018 -0500

----------------------------------------------------------------------
 .../Gherkin/ScenarioData.cs                         |  2 +-
 .../gremlin-javascript/test/cucumber/world.js       |  2 +-
 gremlin-python/src/main/jython/radish/terrain.py    |  4 ++--
 gremlin-server/src/test/scripts/generate-all.groovy |  4 +++-
 .../src/test/scripts/test-server-start.groovy       |  2 ++
 gremlin-test/features/branch/Repeat.feature         | 16 ++++++++++++++++
 6 files changed, 25 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7212253e/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
----------------------------------------------------------------------
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
index ed767d5..77552f9 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
@@ -42,7 +42,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         private static readonly Regex EdgeLRegex = new Regex("l=(.+?)[,}]", 
RegexOptions.Compiled);
         private static readonly Regex EdgeIRegex = new Regex("i=(.+?)[,}]", 
RegexOptions.Compiled);
         
-        private static readonly string[] GraphNames = {"modern", "classic", 
"crew", "grateful"};
+        private static readonly string[] GraphNames = {"modern", "classic", 
"crew", "grateful", "sink"};
 
         private static readonly IDictionary<string, Vertex> EmptyVertices =
             new ReadOnlyDictionary<string, Vertex>(new Dictionary<string, 
Vertex>());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7212253e/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
----------------------------------------------------------------------
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
index ae3f9a6..f531720 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
@@ -68,7 +68,7 @@ defineSupportCode(function (methods) {
 
   methods.BeforeAll(function () {
     // load all traversals
-    const promises = ['modern', 'classic', 'crew', 'grateful', 
'empty'].map(graphName => {
+    const promises = ['modern', 'classic', 'crew', 'grateful', 'sink', 
'empty'].map(graphName => {
       let connection = null;
       if (graphName === 'empty') {
         connection = helper.getConnection('ggraph');

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7212253e/gremlin-python/src/main/jython/radish/terrain.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/radish/terrain.py 
b/gremlin-python/src/main/jython/radish/terrain.py
index 9aed647..4db443e 100644
--- a/gremlin-python/src/main/jython/radish/terrain.py
+++ b/gremlin-python/src/main/jython/radish/terrain.py
@@ -34,7 +34,7 @@ def prepare_static_traversal_source(features, marker):
     # as the various traversal sources for testing do not change their data, 
there is no need to re-create remotes
     # and client side lookup data over and over. it can be created once for 
all tests and be reused.
     cache = {}
-    for graph_name in (("modern", "gmodern"), ("classic", "gclassic"), 
("crew", "gcrew"), ("grateful", "ggrateful")):
+    for graph_name in (("modern", "gmodern"), ("classic", "gclassic"), 
("crew", "gcrew"), ("grateful", "ggrateful"), ("sink", "gsink")):
         cache[graph_name[0]] = {}
         remote = __create_remote(graph_name[1])
         cache[graph_name[0]]["remote_conn"] = __create_remote(graph_name[1])
@@ -52,7 +52,7 @@ def prepare_static_traversal_source(features, marker):
             scenario.context.lookup_v = {}
             scenario.context.lookup_e = {}
 
-            for graph_name in ("modern", "classic", "crew", "grateful"):
+            for graph_name in ("modern", "classic", "crew", "grateful", 
"sink"):
                 scenario.context.remote_conn[graph_name] = 
cache[graph_name]["remote_conn"]
                 scenario.context.lookup_v[graph_name] = 
cache[graph_name]["lookup_v"]
                 scenario.context.lookup_e[graph_name] = 
cache[graph_name]["lookup_e"]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7212253e/gremlin-server/src/test/scripts/generate-all.groovy
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/scripts/generate-all.groovy 
b/gremlin-server/src/test/scripts/generate-all.groovy
index b6be405..108ca5d 100644
--- a/gremlin-server/src/test/scripts/generate-all.groovy
+++ b/gremlin-server/src/test/scripts/generate-all.groovy
@@ -27,6 +27,7 @@ globals << [hook : [
     TinkerFactory.generateClassic(classic)
     TinkerFactory.generateModern(modern)
     TinkerFactory.generateTheCrew(crew)
+    TinkerFactory.generateKitchenSink(sink)
     grateful.io(gryo()).readGraph('data/grateful-dead.kryo')
   }
 ] as LifeCycleHook]
@@ -37,4 +38,5 @@ globals << [gmodern : modern.traversal()]
 globals << [gcrew : crew.traversal()]
 globals << [ggraph : graph.traversal()]
 globals << [g : modern.traversal()]
-globals << [ggrateful : grateful.traversal()]
\ No newline at end of file
+globals << [ggrateful : grateful.traversal()]
+globals << [gsink : sink.traversal()]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7212253e/gremlin-server/src/test/scripts/test-server-start.groovy
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/scripts/test-server-start.groovy 
b/gremlin-server/src/test/scripts/test-server-start.groovy
index 157f01c..1cb2c53 100644
--- a/gremlin-server/src/test/scripts/test-server-start.groovy
+++ b/gremlin-server/src/test/scripts/test-server-start.groovy
@@ -30,6 +30,7 @@ settings.graphs.classic = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empt
 settings.graphs.modern = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settings.graphs.crew = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settings.graphs.grateful = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settings.graphs.sink = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settings.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + 
"/src/test/scripts/generate-all.groovy"]
 if (Boolean.parseBoolean(python)) {
     settings.scriptEngines["gremlin-python"] = new 
Settings.ScriptEngineSettings()
@@ -49,6 +50,7 @@ settingsSecure.graphs.classic = gremlinServerDir + 
"/src/test/scripts/tinkergrap
 settingsSecure.graphs.modern = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settingsSecure.graphs.crew = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settingsSecure.graphs.grateful = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.sink = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settingsSecure.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + 
"/src/test/scripts/generate-all.groovy"]
 if (Boolean.parseBoolean(python)) {
     settingsSecure.scriptEngines["gremlin-python"] = new 
Settings.ScriptEngineSettings()

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7212253e/gremlin-test/features/branch/Repeat.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/branch/Repeat.feature 
b/gremlin-test/features/branch/Repeat.feature
index 009c380..6175519 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -228,3 +228,19 @@ Feature: Step - repeat()
       | josh  |
       | created |
       | ripple  |
+
+  Scenario: g_V_hasXloop_name_loopX_repeatXinX_timesX5X_path_by_name
+    Given the sink graph
+    And the traversal of
+      """
+      
g.V().has("loops","name","loop").repeat(__.in()).times(5).path().by("name")
+      """
+    When iterated next
+    Then the result should be unordered
+      | result |
+      | loop |
+      | loop |
+      | loop  |
+      | loop |
+      | loop  |
+      | loop  |

Reply via email to