[2/2] tinkerpop git commit: Merge branch 'tp32'
Merge branch 'tp32' Conflicts: gremlin-python/src/main/jython/radish/terrain.py Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7463b3ae Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7463b3ae Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7463b3ae Branch: refs/heads/master Commit: 7463b3ae3b273d11683bd698705c877ccca34227 Parents: 6a663fe 691ee9b Author: Stephen MalletteAuthored: Wed Nov 22 14:15:44 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 14:15:44 2017 -0500 -- gremlin-python/src/main/jython/radish/terrain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7463b3ae/gremlin-python/src/main/jython/radish/terrain.py --
tinkerpop git commit: Used a closure to solve concat issue in feature test setup
Repository: tinkerpop Updated Branches: refs/heads/tp32 78a1095bc -> 691ee9b26 Used a closure to solve concat issue in feature test setup Ended up going this route on the master branch and decided to backport it to tp32 CTR Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/691ee9b2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/691ee9b2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/691ee9b2 Branch: refs/heads/tp32 Commit: 691ee9b269765aea86ddccc953cfa98f8f52fc0b Parents: 78a1095 Author: Stephen MalletteAuthored: Wed Nov 22 14:10:28 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 14:10:28 2017 -0500 -- gremlin-python/src/main/jython/radish/terrain.py | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/691ee9b2/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 5897852..0c749eb 100644 --- a/gremlin-python/src/main/jython/radish/terrain.py +++ b/gremlin-python/src/main/jython/radish/terrain.py @@ -95,20 +95,6 @@ def __create_lookup_e(remote): # hold a map of the "name"/edge for use in asserting results - "name" in this context is in the form of # outgoingV-label->incomingV -projection_of_edges = g.E().group(). \ -by(project("o", "l", "i"). - by(outV().values("name")). - by(label()). - by(inV().values("name"))). \ +return g.E().group(). \ +by(lambda: ("it.outVertex().value('name') + '-' + it.label() + '->' + it.inVertex().value('name')", "gremlin-groovy")). \ by(tail()).next() -edges = {} - -# in GraphSON 3.0 the "key" will be a dictionary and this can work more nicely - right now it's stuck as -# a string and has to be parsed -for key, value in projection_of_edges.items(): -o = re.search("o=(.+?)[,\}]", key).group(1) -l = re.search("l=(.+?)[,\}]", key).group(1) -i = re.search("i=(.+?)[,\}]", key).group(1) -edges[o + "-" + l + "->" + i] = value - -return edges
[1/2] tinkerpop git commit: Used a closure to solve concat issue in feature test setup
Repository: tinkerpop Updated Branches: refs/heads/master 6a663fe2e -> 7463b3ae3 Used a closure to solve concat issue in feature test setup Ended up going this route on the master branch and decided to backport it to tp32 CTR Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/691ee9b2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/691ee9b2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/691ee9b2 Branch: refs/heads/master Commit: 691ee9b269765aea86ddccc953cfa98f8f52fc0b Parents: 78a1095 Author: Stephen MalletteAuthored: Wed Nov 22 14:10:28 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 14:10:28 2017 -0500 -- gremlin-python/src/main/jython/radish/terrain.py | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/691ee9b2/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 5897852..0c749eb 100644 --- a/gremlin-python/src/main/jython/radish/terrain.py +++ b/gremlin-python/src/main/jython/radish/terrain.py @@ -95,20 +95,6 @@ def __create_lookup_e(remote): # hold a map of the "name"/edge for use in asserting results - "name" in this context is in the form of # outgoingV-label->incomingV -projection_of_edges = g.E().group(). \ -by(project("o", "l", "i"). - by(outV().values("name")). - by(label()). - by(inV().values("name"))). \ +return g.E().group(). \ +by(lambda: ("it.outVertex().value('name') + '-' + it.label() + '->' + it.inVertex().value('name')", "gremlin-groovy")). \ by(tail()).next() -edges = {} - -# in GraphSON 3.0 the "key" will be a dictionary and this can work more nicely - right now it's stuck as -# a string and has to be parsed -for key, value in projection_of_edges.items(): -o = re.search("o=(.+?)[,\}]", key).group(1) -l = re.search("l=(.+?)[,\}]", key).group(1) -i = re.search("i=(.+?)[,\}]", key).group(1) -edges[o + "-" + l + "->" + i] = value - -return edges
tinkerpop git commit: Removed line jump from debugging CTR
Repository: tinkerpop Updated Branches: refs/heads/master 04c522018 -> 6a663fe2e Removed line jump from debugging CTR Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/6a663fe2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/6a663fe2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/6a663fe2 Branch: refs/heads/master Commit: 6a663fe2ed52d1d321230f642bc9f516f0076ea9 Parents: 04c5220 Author: Stephen MalletteAuthored: Wed Nov 22 13:49:56 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 13:49:56 2017 -0500 -- gremlin-python/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6a663fe2/gremlin-python/pom.xml -- diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml index 27b3221..6ef6228 100644 --- a/gremlin-python/pom.xml +++ b/gremlin-python/pom.xml @@ -449,7 +449,7 @@ limitations under the License. - +
[47/50] tinkerpop git commit: TINKERPOP-1784 Fixed data type in fold feature test
TINKERPOP-1784 Fixed data type in fold feature test Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/11a180f9 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/11a180f9 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/11a180f9 Branch: refs/heads/master Commit: 11a180f9ba4ed836270395901a553d57de8884fa Parents: 7231b5a Author: Stephen MalletteAuthored: Mon Nov 20 11:52:12 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-test/features/map/Fold.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/11a180f9/gremlin-test/features/map/Fold.feature -- diff --git a/gremlin-test/features/map/Fold.feature b/gremlin-test/features/map/Fold.feature index 83f4be4..c711e1d 100644 --- a/gremlin-test/features/map/Fold.feature +++ b/gremlin-test/features/map/Fold.feature @@ -53,5 +53,5 @@ Feature: Step - fold() When iterated to list Then the result should be unordered | result | - | d[123].l | + | d[123].i |
[50/50] tinkerpop git commit: Merge branch 'tp32'
Merge branch 'tp32' Conflicts: gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-performance.yaml gremlin-server/src/test/scripts/test-server-start.groovy gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/OptionalTest.java Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/04c52201 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/04c52201 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/04c52201 Branch: refs/heads/master Commit: 04c52201857a92ccfdd7e8d2e19e4aceaae9d76a Parents: 65259d2 78a1095 Author: Stephen MalletteAuthored: Wed Nov 22 13:47:48 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 13:47:48 2017 -0500 -- CHANGELOG.asciidoc | 2 + .../Driver/Remote/DriverRemoteConnection.cs | 16 +- .../GraphTraversalTests.cs | 8 +- .../RemoteConnectionFactory.cs | 8 +- gremlin-dotnet/test/pom.xml | 6 +- gremlin-python/pom.xml | 21 +- .../src/main/jython/radish/feature_steps.py | 230 + .../src/main/jython/radish/terrain.py | 101 gremlin-python/src/main/jython/setup.py | 4 +- .../remote/gremlin-server-integration.yaml | 3 - .../server/gremlin-server-integration.yaml | 3 - .../src/test/scripts/generate-all.groovy| 40 ++ .../src/test/scripts/test-server-start.groovy | 26 +- .../test/scripts/tinkergraph-empty.properties | 20 + gremlin-test/features/branch/Branch.feature | 92 gremlin-test/features/branch/Choose.feature | 124 + gremlin-test/features/branch/Local.feature | 183 +++ gremlin-test/features/branch/Optional.feature | 81 gremlin-test/features/branch/Repeat.feature | 230 + gremlin-test/features/branch/Union.feature | 140 ++ gremlin-test/features/filter/And.feature| 69 +++ gremlin-test/features/filter/Coin.feature | 43 ++ gremlin-test/features/filter/CyclicPath.feature | 52 ++ gremlin-test/features/filter/Dedup.feature | 237 + gremlin-test/features/filter/Drop.feature | 63 +++ gremlin-test/features/filter/Filter.feature | 111 + gremlin-test/features/filter/Has.feature| 45 ++ gremlin-test/features/filter/Is.feature | 75 +++ gremlin-test/features/filter/Or.feature | 62 +++ gremlin-test/features/filter/Range.feature | 171 +++ gremlin-test/features/filter/Sample.feature | 75 +++ gremlin-test/features/filter/SimplePath.feature | 72 +++ gremlin-test/features/filter/Tail.feature | 145 ++ gremlin-test/features/filter/Where.feature | 105 gremlin-test/features/map/AddEdge.feature | 307 gremlin-test/features/map/AddVertex.feature | 147 ++ gremlin-test/features/map/Coalesce.feature | 78 +++ gremlin-test/features/map/Constant.feature | 52 ++ gremlin-test/features/map/Count.feature | 125 + gremlin-test/features/map/FlatMap.feature | 35 ++ gremlin-test/features/map/Fold.feature | 57 +++ gremlin-test/features/map/Graph.feature | 109 + gremlin-test/features/map/Loops.feature | 68 +++ gremlin-test/features/map/Map.feature | 108 + gremlin-test/features/map/Match.feature | 80 gremlin-test/features/map/Max.feature | 51 ++ gremlin-test/features/map/Mean.feature | 40 ++ gremlin-test/features/map/Min.feature | 51 ++ gremlin-test/features/map/Order.feature | 132 ++ gremlin-test/features/map/Path.feature | 105 gremlin-test/features/map/Project.feature | 55 +++ gremlin-test/features/map/Properties.feature| 68 +++ gremlin-test/features/map/Select.feature| 324 + gremlin-test/features/map/Sum.feature | 40 ++ gremlin-test/features/map/Unfold.feature| 76 +++ gremlin-test/features/map/ValueMap.feature | 62 +++ gremlin-test/features/map/Vertex.feature| 475 +++ .../features/sideEffect/Aggregate.feature | 80 gremlin-test/features/sideEffect/Group.feature | 244 ++ .../features/sideEffect/GroupCount.feature | 187 gremlin-test/features/sideEffect/Inject.feature | 51 ++ gremlin-test/features/sideEffect/Sack.feature | 71 +++ .../features/sideEffect/SideEffectCap.feature | 38 ++
[17/50] tinkerpop git commit: TINKERPOP-1784 Added sample() feature tests
TINKERPOP-1784 Added sample() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d11787a7 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d11787a7 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d11787a7 Branch: refs/heads/tp32 Commit: d11787a7e1177491cb126def43d1c101485d1e22 Parents: 22e113d Author: Stephen MalletteAuthored: Tue Oct 24 12:35:59 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/Sample.feature | 75 1 file changed, 75 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d11787a7/gremlin-test/features/filter/Sample.feature -- diff --git a/gremlin-test/features/filter/Sample.feature b/gremlin-test/features/filter/Sample.feature new file mode 100644 index 000..0f30527 --- /dev/null +++ b/gremlin-test/features/filter/Sample.feature @@ -0,0 +1,75 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sample() + + Scenario: g_E_sampleX1X +Given the modern graph +And the traversal of + """ + g.E().sample(1) + """ +When iterated to list +Then should have a result count of 1 + + Scenario: g_E_sampleX2X_byXweightX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.E().sample(2).by("weight") + """ +When iterated to list +Then should have a result count of 2 + + Scenario: g_V_localXoutE_sampleX1X_byXweightXX +Given the modern graph +And the traversal of + """ + g.V().local(__.outE().sample(1).by("weight")) + """ +When iterated to list +Then should have a result count of 3 + + Scenario: g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX +Given the modern graph +And the traversal of + """ + g.V().group().by(T.label).by(__.bothE().values("weight").sample(2).fold()) + """ +When iterated to list +Then nothing should happen because + """ + The return value of this traversal is a map of samples weights in a list for each key which makes it + especially hard to assert with the current test language established and the non-deterministic outcomes + of sample(). + """ + + Scenario: g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX +Given the modern graph +And the traversal of + """ + g.V().group().by(T.label).by(__.bothE().values("weight").fold().sample(Scope.local, 5)) + """ +When iterated to list +Then nothing should happen because + """ + The return value of this traversal is a map of samples weights in a list for each key which makes it + especially hard to assert with the current test language established and the non-deterministic outcomes + of sample(). + """ +
[13/50] tinkerpop git commit: TINKERPOP-1784 Added sample() feature tests
TINKERPOP-1784 Added sample() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d11787a7 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d11787a7 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d11787a7 Branch: refs/heads/master Commit: d11787a7e1177491cb126def43d1c101485d1e22 Parents: 22e113d Author: Stephen MalletteAuthored: Tue Oct 24 12:35:59 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/Sample.feature | 75 1 file changed, 75 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d11787a7/gremlin-test/features/filter/Sample.feature -- diff --git a/gremlin-test/features/filter/Sample.feature b/gremlin-test/features/filter/Sample.feature new file mode 100644 index 000..0f30527 --- /dev/null +++ b/gremlin-test/features/filter/Sample.feature @@ -0,0 +1,75 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sample() + + Scenario: g_E_sampleX1X +Given the modern graph +And the traversal of + """ + g.E().sample(1) + """ +When iterated to list +Then should have a result count of 1 + + Scenario: g_E_sampleX2X_byXweightX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.E().sample(2).by("weight") + """ +When iterated to list +Then should have a result count of 2 + + Scenario: g_V_localXoutE_sampleX1X_byXweightXX +Given the modern graph +And the traversal of + """ + g.V().local(__.outE().sample(1).by("weight")) + """ +When iterated to list +Then should have a result count of 3 + + Scenario: g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX +Given the modern graph +And the traversal of + """ + g.V().group().by(T.label).by(__.bothE().values("weight").sample(2).fold()) + """ +When iterated to list +Then nothing should happen because + """ + The return value of this traversal is a map of samples weights in a list for each key which makes it + especially hard to assert with the current test language established and the non-deterministic outcomes + of sample(). + """ + + Scenario: g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX +Given the modern graph +And the traversal of + """ + g.V().group().by(T.label).by(__.bothE().values("weight").fold().sample(Scope.local, 5)) + """ +When iterated to list +Then nothing should happen because + """ + The return value of this traversal is a map of samples weights in a list for each key which makes it + especially hard to assert with the current test language established and the non-deterministic outcomes + of sample(). + """ +
[48/50] tinkerpop git commit: TINKERPOP-1784 Introduced types for all numerics of the feature test
TINKERPOP-1784 Introduced types for all numerics of the feature test Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/014d552f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/014d552f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/014d552f Branch: refs/heads/tp32 Commit: 014d552fac9174c0fc3b0d6c3174269f7386f25c Parents: 5286c20 Author: Stephen MalletteAuthored: Fri Nov 17 08:37:17 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 2 +- gremlin-test/features/branch/Branch.feature | 24 ++-- gremlin-test/features/branch/Local.feature | 22 +- gremlin-test/features/branch/Repeat.feature | 6 ++--- gremlin-test/features/branch/Union.feature | 22 +- gremlin-test/features/filter/Dedup.feature | 4 ++-- gremlin-test/features/filter/Is.feature | 10 gremlin-test/features/filter/Tail.feature | 2 +- gremlin-test/features/map/Coalesce.feature | 2 +- gremlin-test/features/map/Constant.feature | 12 +- gremlin-test/features/map/Count.feature | 16 ++--- gremlin-test/features/map/Fold.feature | 2 +- gremlin-test/features/map/Map.feature | 12 +- gremlin-test/features/map/Match.feature | 12 +- gremlin-test/features/map/Max.feature | 6 ++--- gremlin-test/features/map/Mean.feature | 4 ++-- gremlin-test/features/map/Min.feature | 6 ++--- gremlin-test/features/map/Order.feature | 12 +- gremlin-test/features/map/Path.feature | 10 gremlin-test/features/map/Project.feature | 8 +++ gremlin-test/features/map/Properties.feature| 16 ++--- gremlin-test/features/map/Select.feature| 20 gremlin-test/features/map/Sum.feature | 4 ++-- .../features/sideEffect/Aggregate.feature | 8 +++ gremlin-test/features/sideEffect/Group.feature | 18 +++ .../features/sideEffect/GroupCount.feature | 14 ++-- gremlin-test/features/sideEffect/Inject.feature | 8 +++ gremlin-test/features/sideEffect/Sack.feature | 6 ++--- gremlin-test/features/sideEffect/Store.feature | 16 ++--- 29 files changed, 152 insertions(+), 152 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 94b0c77..9f00535 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -136,7 +136,7 @@ def _convert(val, ctx): return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse set return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) -elif isinstance(val, str) and re.match("^d\[.*\]$", val): # parse numeric +elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val): # parse numeric return float(val[2:-1]) if val[2:-1].__contains__(".") else long(val[2:-1]) elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse vertex id return ctx.lookup_v["modern"][val[2:-4]].id http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/gremlin-test/features/branch/Branch.feature -- diff --git a/gremlin-test/features/branch/Branch.feature b/gremlin-test/features/branch/Branch.feature index b8690c6..6ee261f 100644 --- a/gremlin-test/features/branch/Branch.feature +++ b/gremlin-test/features/branch/Branch.feature @@ -35,10 +35,10 @@ Feature: Step - branch() | java | | lop | | ripple | - | d[29] | - | d[27] | - | d[32] | - | d[35] | + | d[29].i | + | d[27].i | + | d[32].i | + | d[35].i | Scenario: g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX Given the modern graph @@ -57,10 +57,10 @@ Feature: Step - branch() | java | | lop | | ripple | - | d[29] | - | d[27] | - | d[32] | - | d[35] | + | d[29].i | + | d[27].i | + | d[32].i | + | d[35].i | Scenario: g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX Given the modern graph @@ -80,10 +80,10
[50/50] tinkerpop git commit: Merge branch 'TINKERPOP-1784' into tp32
Merge branch 'TINKERPOP-1784' into tp32 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/78a1095b Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/78a1095b Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/78a1095b Branch: refs/heads/tp32 Commit: 78a1095bc768c5aa623182b5368ff5a404884673 Parents: 0f27197 2819dba Author: Stephen MalletteAuthored: Wed Nov 22 08:12:45 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 08:12:45 2017 -0500 -- CHANGELOG.asciidoc | 2 + .../Driver/Remote/DriverRemoteConnection.cs | 16 +- .../GraphTraversalTests.cs | 8 +- .../RemoteConnectionFactory.cs | 8 +- gremlin-dotnet/test/pom.xml | 6 +- gremlin-python/pom.xml | 21 +- .../src/main/jython/radish/feature_steps.py | 230 + .../src/main/jython/radish/terrain.py | 114 + gremlin-python/src/main/jython/setup.py | 4 +- .../remote/gremlin-server-integration.yaml | 7 +- .../server/gremlin-server-integration.yaml | 7 +- .../server/gremlin-server-performance.yaml | 7 +- .../src/test/scripts/generate-all.groovy| 40 ++ .../src/test/scripts/test-server-start.groovy | 24 +- .../test/scripts/tinkergraph-empty.properties | 20 + gremlin-test/features/branch/Branch.feature | 92 gremlin-test/features/branch/Choose.feature | 124 + gremlin-test/features/branch/Local.feature | 183 +++ gremlin-test/features/branch/Optional.feature | 81 gremlin-test/features/branch/Repeat.feature | 230 + gremlin-test/features/branch/Union.feature | 140 ++ gremlin-test/features/filter/And.feature| 69 +++ gremlin-test/features/filter/Coin.feature | 43 ++ gremlin-test/features/filter/CyclicPath.feature | 52 ++ gremlin-test/features/filter/Dedup.feature | 237 + gremlin-test/features/filter/Drop.feature | 63 +++ gremlin-test/features/filter/Filter.feature | 111 + gremlin-test/features/filter/Has.feature| 45 ++ gremlin-test/features/filter/Is.feature | 75 +++ gremlin-test/features/filter/Or.feature | 62 +++ gremlin-test/features/filter/Range.feature | 228 + gremlin-test/features/filter/Sample.feature | 75 +++ gremlin-test/features/filter/SimplePath.feature | 72 +++ gremlin-test/features/filter/Tail.feature | 166 +++ gremlin-test/features/filter/Where.feature | 105 gremlin-test/features/map/AddEdge.feature | 307 gremlin-test/features/map/AddVertex.feature | 147 ++ gremlin-test/features/map/Coalesce.feature | 78 +++ gremlin-test/features/map/Constant.feature | 52 ++ gremlin-test/features/map/Count.feature | 125 + gremlin-test/features/map/FlatMap.feature | 35 ++ gremlin-test/features/map/Fold.feature | 57 +++ gremlin-test/features/map/Graph.feature | 109 + gremlin-test/features/map/Loops.feature | 68 +++ gremlin-test/features/map/Map.feature | 108 + gremlin-test/features/map/Match.feature | 80 gremlin-test/features/map/Max.feature | 51 ++ gremlin-test/features/map/Mean.feature | 40 ++ gremlin-test/features/map/Min.feature | 51 ++ gremlin-test/features/map/Order.feature | 132 ++ gremlin-test/features/map/Path.feature | 105 gremlin-test/features/map/Project.feature | 55 +++ gremlin-test/features/map/Properties.feature| 68 +++ gremlin-test/features/map/Select.feature| 324 + gremlin-test/features/map/Sum.feature | 40 ++ gremlin-test/features/map/Unfold.feature| 76 +++ gremlin-test/features/map/ValueMap.feature | 62 +++ gremlin-test/features/map/Vertex.feature| 475 +++ .../features/sideEffect/Aggregate.feature | 80 gremlin-test/features/sideEffect/Group.feature | 244 ++ .../features/sideEffect/GroupCount.feature | 187 gremlin-test/features/sideEffect/Inject.feature | 51 ++ gremlin-test/features/sideEffect/Sack.feature | 71 +++ .../features/sideEffect/SideEffectCap.feature | 38 ++ gremlin-test/features/sideEffect/Store.feature | 87 .../traversal/step/branch/OptionalTest.java | 4 +- .../step/sideEffect/GroupCountTest.java | 2 +- .../gremlin/process/FeatureCoverageTest.java| 131 + 68 files changed, 6270 insertions(+), 37 deletions(-) --
[33/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for order()
TINKERPOP-1784 Added feature tests for order() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5045a56c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5045a56c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5045a56c Branch: refs/heads/tp32 Commit: 5045a56c208b5e069dedeb330ab6bef092419880 Parents: 754b7f5 Author: Stephen MalletteAuthored: Fri Nov 10 14:15:28 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Order.feature | 132 +++ 1 file changed, 132 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5045a56c/gremlin-test/features/map/Order.feature -- diff --git a/gremlin-test/features/map/Order.feature b/gremlin-test/features/map/Order.feature new file mode 100644 index 000..9005465 --- /dev/null +++ b/gremlin-test/features/map/Order.feature @@ -0,0 +1,132 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - order() + + Scenario: g_V_name_order +Given the modern graph +And the traversal of + """ + g.V().values("name").order() + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop | + | marko | + | peter | + | ripple | + | vadas | + + Scenario: g_V_name_order_byXa1_b1X_byXb2_a2X +Given the modern graph +And using the parameter l1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]" +And using the parameter l2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]" +And the traversal of + """ + g.V().values("name").order().by(l1).by(l2) + """ +When iterated to list +Then the result should be ordered + | result | + | marko | + | vadas | + | peter | + | ripple | + | josh | + | lop| + + Scenario: g_V_order_byXname_incrX_name +Given the modern graph +And the traversal of + """ + g.V().order().by("name", Order.incr).values("name") + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop | + | marko | + | peter | + | ripple | + | vadas | + + Scenario: g_V_order_byXnameX_name +Given the modern graph +And the traversal of + """ + g.V().order().by("name").values("name") + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop | + | marko | + | peter | + | ripple | + | vadas | + + Scenario: g_V_outE_order_byXweight_decrX_weight +Given the modern graph +And the traversal of + """ + g.V().outE().order().by("weight", Order.decr).values("weight") + """ +When iterated to list +Then the result should be ordered + | result | + | d[1.0] | + | d[1.0] | + | d[0.5] | + | d[0.4] | + | d[0.4] | + | d[0.2] | + + Scenario: g_V_order_byXname_a1_b1X_byXname_b2_a2X_name +Given the modern graph +And using the parameter l1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]" +And using the parameter l2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]" +And the traversal of + """ + g.V().order().by("name", l1).by("name", l2).values("name") + """ +When iterated to list +Then the result should be ordered + | result | + | marko | + | vadas | + | peter | + | ripple | + | josh | + | lop| + + Scenario: g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX +Given the modern graph +And the traversal of + """ + g.V().as("a").out("created").as("b").order().by(Order.shuffle).select("a", "b") + """ +When iterated to list +Then the result should be unordered + | result
[41/50] tinkerpop git commit: TINKERPOP-1784 Fixed data type in fold feature test
TINKERPOP-1784 Fixed data type in fold feature test Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/11a180f9 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/11a180f9 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/11a180f9 Branch: refs/heads/tp32 Commit: 11a180f9ba4ed836270395901a553d57de8884fa Parents: 7231b5a Author: Stephen MalletteAuthored: Mon Nov 20 11:52:12 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-test/features/map/Fold.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/11a180f9/gremlin-test/features/map/Fold.feature -- diff --git a/gremlin-test/features/map/Fold.feature b/gremlin-test/features/map/Fold.feature index 83f4be4..c711e1d 100644 --- a/gremlin-test/features/map/Fold.feature +++ b/gremlin-test/features/map/Fold.feature @@ -53,5 +53,5 @@ Feature: Step - fold() When iterated to list Then the result should be unordered | result | - | d[123].l | + | d[123].i |
[49/50] tinkerpop git commit: TINKERPOP-1784 Fixed configuration for secure test server
TINKERPOP-1784 Fixed configuration for secure test server Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2819dba8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2819dba8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2819dba8 Branch: refs/heads/tp32 Commit: 2819dba8ecd269b3ca3234f07e6fbfb5888fcf5a Parents: c0a3ce0 Author: Stephen MalletteAuthored: Wed Nov 22 07:01:28 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 07:01:28 2017 -0500 -- gremlin-server/src/test/scripts/test-server-start.groovy | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2819dba8/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 d793d26..157f01c 100644 --- a/gremlin-server/src/test/scripts/test-server-start.groovy +++ b/gremlin-server/src/test/scripts/test-server-start.groovy @@ -44,11 +44,11 @@ project.setContextValue("gremlin.server", server) log.info("Gremlin Server with no authentication started on port 45940") def settingsSecure = Settings.read("${settingsFile}") -settings.graphs.graph = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" -settings.graphs.classic = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" -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" +settingsSecure.graphs.graph = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" +settingsSecure.graphs.classic = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" +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.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + "/src/test/scripts/generate-all.groovy"] if (Boolean.parseBoolean(python)) { settingsSecure.scriptEngines["gremlin-python"] = new Settings.ScriptEngineSettings()
[47/50] tinkerpop git commit: TINKERPOP-1784 Removed the linejump option to clean up output to console
TINKERPOP-1784 Removed the linejump option to clean up output to console Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2b24f589 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2b24f589 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2b24f589 Branch: refs/heads/tp32 Commit: 2b24f589e6f6468fec2cba5dda6a7e95cefc8987 Parents: f980366 Author: Stephen MalletteAuthored: Fri Nov 10 15:27:45 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b24f589/gremlin-python/pom.xml -- diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml index 67cc35b..d1a4a76 100644 --- a/gremlin-python/pom.xml +++ b/gremlin-python/pom.xml @@ -449,7 +449,7 @@ limitations under the License. - +
[27/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for addV()
TINKERPOP-1784 Added feature tests for addV() Included Cardinality in imports for test logic Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/99105194 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/99105194 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/99105194 Branch: refs/heads/tp32 Commit: 9910519423bbf89f05f48ec83986ea9e6cec0e4f Parents: 9c93fd7 Author: Stephen MalletteAuthored: Fri Nov 10 12:55:01 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 3 +- gremlin-test/features/map/AddVertex.feature | 147 +++ 2 files changed, 149 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 6c72bf1..90b0120 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -21,7 +21,7 @@ import json import re from gremlin_python.structure.graph import Graph, Path from gremlin_python.process.graph_traversal import __ -from gremlin_python.process.traversal import P, Scope, Column, Order, Direction, T, Pick, Operator +from gremlin_python.process.traversal import Cardinality, P, Scope, Column, Order, Direction, T, Pick, Operator from radish import given, when, then from hamcrest import * @@ -215,6 +215,7 @@ def _translate(traversal): def _make_traversal(g, traversal_string, params): b = {"g": g, "__": __, + "Cardinality": Cardinality, "Column": Column, "Direction": Direction, "Order": Order, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/gremlin-test/features/map/AddVertex.feature -- diff --git a/gremlin-test/features/map/AddVertex.feature b/gremlin-test/features/map/AddVertex.feature new file mode 100644 index 000..3335e29 --- /dev/null +++ b/gremlin-test/features/map/AddVertex.feature @@ -0,0 +1,147 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - addV() + + Scenario: g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko"). +addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas"). +addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop"). +addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh"). +addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple"). +addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter'). +addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5). +addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0). +addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4). +addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0). +addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4). +addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2) + """ +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).as("a").addV("animal").property("age", __.select("a").by("age")).property("name", "puppy") + """ +When iterated to list +Then the result should have a
[31/50] tinkerpop git commit: TINKERPOP-1784 Fixed some badly named feature tests
TINKERPOP-1784 Fixed some badly named feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c7347ab2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c7347ab2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c7347ab2 Branch: refs/heads/tp32 Commit: c7347ab2c61c759f35cbdb0a9e5b81c665f9d271 Parents: 5045a56 Author: Stephen MalletteAuthored: Fri Nov 10 14:31:01 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Max.feature | 2 +- gremlin-test/features/map/Min.feature | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Max.feature -- diff --git a/gremlin-test/features/map/Max.feature b/gremlin-test/features/map/Max.feature index 24cb81a..bb7e3d4 100644 --- a/gremlin-test/features/map/Max.feature +++ b/gremlin-test/features/map/Max.feature @@ -39,7 +39,7 @@ Feature: Step - max() | result | | d[35] | - Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX Given the modern graph And the traversal of """ http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Min.feature -- diff --git a/gremlin-test/features/map/Min.feature b/gremlin-test/features/map/Min.feature index 172fbaf..c4b86c6 100644 --- a/gremlin-test/features/map/Min.feature +++ b/gremlin-test/features/map/Min.feature @@ -39,7 +39,7 @@ Feature: Step - min() | result | | d[27] | - Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX Given the modern graph And the traversal of """
[30/50] tinkerpop git commit: TINKERPOP-1784 Added where() feature tests
TINKERPOP-1784 Added where() feature tests This is not complete, but it is enough for now. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9c93fd7c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9c93fd7c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9c93fd7c Branch: refs/heads/tp32 Commit: 9c93fd7c558933532349aae1d42e84f0afbc Parents: e67cbdb Author: Stephen MalletteAuthored: Fri Nov 10 12:35:04 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/filter/Where.feature | 105 1 file changed, 105 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c93fd7c/gremlin-test/features/filter/Where.feature -- diff --git a/gremlin-test/features/filter/Where.feature b/gremlin-test/features/filter/Where.feature new file mode 100644 index 000..5c520da --- /dev/null +++ b/gremlin-test/features/filter/Where.feature @@ -0,0 +1,105 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - where() + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_eqXbXX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where("a", P.eq("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[josh]"}] | + | m[{"a":"v[josh]","b":"v[josh]"}] | + | m[{"a":"v[peter]","b":"v[peter]"}] | + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_neqXbXX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where("a", P.neq("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[josh]"}] | + | m[{"a":"v[marko]","b":"v[peter]"}] | + | m[{"a":"v[josh]","b":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[peter]"}] | + | m[{"a":"v[peter]","b":"v[marko]"}] | + | m[{"a":"v[peter]","b":"v[josh]"}] | + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where(__.as("b").has("name", "marko")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[marko]"}] | + | m[{"a":"v[peter]","b":"v[marko]"}] | + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where(__.as("a").out("knows").as("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[josh]"}] | + + Scenario: g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name +Given the modern graph +And the traversal of + """ + g.V().as("a").out("created").where(__.as("a").values("name").is("josh")).in("created").values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | josh | + | josh | + | marko | + | peter | + + Scenario: g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX +Given the modern graph +And using the parameter l defined as "l[josh,peter]" +
[26/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for constant()
TINKERPOP-1784 Added feature tests for constant() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/1588d3e2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/1588d3e2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/1588d3e2 Branch: refs/heads/tp32 Commit: 1588d3e27d91c01808ef342773be3616d8ec8fae Parents: 5478e5d Author: Stephen MalletteAuthored: Tue Oct 24 15:42:29 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Constant.feature | 50 + 1 file changed, 50 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1588d3e2/gremlin-test/features/map/Constant.feature -- diff --git a/gremlin-test/features/map/Constant.feature b/gremlin-test/features/map/Constant.feature new file mode 100644 index 000..f4ff337 --- /dev/null +++ b/gremlin-test/features/map/Constant.feature @@ -0,0 +1,50 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - constant() + + Scenario: g_V_constantX123X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V().constant(123) + """ +When iterated to list +Then the result should be unordered + | d[123] | + | d[123] | + | d[123] | + | d[123] | + | d[123] | + | d[123] | + + Scenario: g_V_chooseXhasLabelXpersonX_valuesXnameX_constantXinhumanXX +Given the modern graph +And the traversal of + """ + g.V().choose(__.hasLabel("person"), __.values("name"), __.constant("inhuman")) + """ +When iterated to list +Then the result should be unordered + | marko | + | vadas | + | inhuman | + | josh | + | inhuman | + | peter | +
[35/50] tinkerpop git commit: TINKERPOP-1784 Added mean() feature test
TINKERPOP-1784 Added mean() feature test Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/754b7f5c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/754b7f5c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/754b7f5c Branch: refs/heads/tp32 Commit: 754b7f5c5def7a1388d955df464507cbb44e40b0 Parents: 26779e1 Author: Stephen MalletteAuthored: Fri Nov 10 13:38:55 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Mean.feature | 40 + 1 file changed, 40 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/754b7f5c/gremlin-test/features/map/Mean.feature -- diff --git a/gremlin-test/features/map/Mean.feature b/gremlin-test/features/map/Mean.feature new file mode 100644 index 000..22fab7d --- /dev/null +++ b/gremlin-test/features/map/Mean.feature @@ -0,0 +1,40 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - mean() + + Scenario: g_V_age_mean +Given the modern graph +And the traversal of + """ + g.V().values("age").mean() + """ +When iterated to list +Then the result should be unordered + | result | + | d[30.75] | + + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_meanX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").mean()) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":1.0,"lop":0.}] | \ No newline at end of file
[23/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for simplePath()
TINKERPOP-1784 Added feature tests for simplePath() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c24d5b40 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c24d5b40 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c24d5b40 Branch: refs/heads/tp32 Commit: c24d5b40746950c28c02fef97da27cb95abf687b Parents: d11787a Author: Stephen MalletteAuthored: Tue Oct 24 12:46:26 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/SimplePath.feature | 69 1 file changed, 69 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c24d5b40/gremlin-test/features/filter/SimplePath.feature -- diff --git a/gremlin-test/features/filter/SimplePath.feature b/gremlin-test/features/filter/SimplePath.feature new file mode 100644 index 000..c8091af --- /dev/null +++ b/gremlin-test/features/filter/SimplePath.feature @@ -0,0 +1,69 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - simplePath() + + Scenario: g_VX1X_outXcreatedX_inXcreatedX_simplePath +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").in("created").simplePath() + """ +When iterated to list +Then the result should be unordered + | v[josh] | + | v[peter] | + + Scenario: get_g_V_repeatXboth_simplePathX_timesX3X_path +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both().simplePath()).times(3).path() + """ +When iterated to list +Then the result should be unordered + | p[v[marko],v[lop],v[josh],v[ripple]] | + | p[v[marko],v[josh],v[lop],v[peter]] | + | p[v[vadas],v[marko],v[lop],v[josh]] | + | p[v[vadas],v[marko],v[lop],v[peter]] | + | p[v[vadas],v[marko],v[josh],v[ripple]] | + | p[v[vadas],v[marko],v[josh],v[lop]] | + | p[v[lop],v[marko],v[josh],v[ripple]] | + | p[v[lop],v[josh],v[marko],v[vadas]] | + | p[v[josh],v[lop],v[marko],v[vadas]] | + | p[v[josh],v[marko],v[lop],v[peter]] | + | p[v[ripple],v[josh],v[lop],v[marko]] | + | p[v[ripple],v[josh],v[lop],v[peter]] | + | p[v[ripple],v[josh],v[marko],v[lop]] | + | p[v[ripple],v[josh],v[marko],v[vadas]] | + | p[v[peter],v[lop],v[marko],v[vadas]] | + | p[v[peter],v[lop],v[marko],v[josh]] | + | p[v[peter],v[lop],v[josh],v[ripple]] | + | p[v[peter],v[lop],v[josh],v[marko]] | + + Scenario: get_g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V().as("a").out().as("b").out().as("c").simplePath().by(T.label).from("b").to("c").path().by("name") + """ +When iterated to list +Then the result should be unordered + | p[marko,josh,ripple] | + | p[marko,josh,lop]|
[21/50] tinkerpop git commit: TINKERPOP-1784 Add more tests for group() and cap()
TINKERPOP-1784 Add more tests for group() and cap() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c3a3848d Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c3a3848d Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c3a3848d Branch: refs/heads/tp32 Commit: c3a3848d274a04eda8f930f0bfcf964b675f40c0 Parents: 3314644 Author: Stephen MalletteAuthored: Tue Oct 31 09:23:22 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 2 +- gremlin-test/features/sideEffect/Group.feature | 244 +++ .../features/sideEffect/SideEffectCap.feature | 38 +++ 3 files changed, 283 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index b48b7ef..b8b31ce 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -149,7 +149,7 @@ def _convert(val, ctx): elif isinstance(val, str) and re.match("^e\[.*\]$", val): # parse edge return ctx.lookup_e["modern"][val[2:-1]] elif isinstance(val, str) and re.match("^m\[.*\]$", val): # parse json as a map -return _convert(json.loads(val[2:-1]), ctx) +return _convert(json.loads(val[2:-1].replace('\\"', '"')), ctx) elif isinstance(val, str) and re.match("^p\[.*\]$", val): # parse path path_objects = list(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) return Path([set([])], path_objects) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/gremlin-test/features/sideEffect/Group.feature -- diff --git a/gremlin-test/features/sideEffect/Group.feature b/gremlin-test/features/sideEffect/Group.feature new file mode 100644 index 000..9ba57ec --- /dev/null +++ b/gremlin-test/features/sideEffect/Group.feature @@ -0,0 +1,244 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - group() + + Scenario: g_V_group_byXnameX +Given the modern graph +And the traversal of + """ + g.V().group().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", "vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", "marko":"l[v[marko]]"}] | + + Scenario: g_V_group_byXnameX_by +Given the modern graph +And the traversal of + """ + g.V().group().by("name").by() + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", "vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", "marko":"l[v[marko]]"}] | + + Scenario: g_V_groupXaX_byXnameX_capXaX +Given the modern graph +And the traversal of + """ + g.V().group("a").by("name").cap("a") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", "vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", "marko":"l[v[marko]]"}] | + + Scenario: g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX +Given the modern graph +And the traversal of + """ + g.V().has("lang").group("a").by("lang").by("name").out().cap("a") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"java":["lop","ripple"]}] | + + Scenario: g_V_hasXlangX_group_byXlangX_byXcountX +Given the modern graph +And the traversal of + """ +
[02/50] tinkerpop git commit: TINKERPOP-1784 Added valueMap() feature tests
TINKERPOP-1784 Added valueMap() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/72e98b68 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/72e98b68 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/72e98b68 Branch: refs/heads/master Commit: 72e98b68f8f120f5b6ba0f011b97007fca759c30 Parents: 8437c18 Author: Stephen MalletteAuthored: Fri Oct 20 13:57:59 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:51 2017 -0500 -- gremlin-test/features/map/ValueMap.feature | 59 .../gremlin/process/FeatureCoverageTest.java| 2 + 2 files changed, 61 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/gremlin-test/features/map/ValueMap.feature -- diff --git a/gremlin-test/features/map/ValueMap.feature b/gremlin-test/features/map/ValueMap.feature new file mode 100644 index 000..0a2220e --- /dev/null +++ b/gremlin-test/features/map/ValueMap.feature @@ -0,0 +1,59 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - valueMap() + + Scenario: g_V_valueMap +Given the modern graph +And the traversal of + """ + g.V().valueMap() + """ +When iterated to list +Then the result should be unordered + | m[{"name": ["marko"], "age": [29]}] | + | m[{"name": ["josh"], "age": [32]}] | + | m[{"name": ["peter"], "age": [35]}] | + | m[{"name": ["vadas"], "age": [27]}] | + | m[{"name": ["lop"], "lang": ["java"]}] | + | m[{"name": ["ripple"], "lang": ["java"]}] | + + Scenario: g_V_valueMapXname_ageX +Given the modern graph +And the traversal of + """ + g.V().valueMap("name", "age") + """ +When iterated to list +Then the result should be unordered + | m[{"name": ["marko"], "age": [29]}] | + | m[{"name": ["josh"], "age": [32]}] | + | m[{"name": ["peter"], "age": [35]}] | + | m[{"name": ["vadas"], "age": [27]}] | + | m[{"name": ["lop"]}] | + | m[{"name": ["ripple"]}] | + + Scenario: g_VX1X_outXcreatedX_valueMap +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").valueMap() + """ +When iterated to list +Then the result should be unordered + | m[{"name": ["lop"], "lang": ["java"]}] | \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index eb62f77..97f1fd6 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -27,6 +27,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest; +import org.apache.tinkerpop.gremlin.process.traversal.step.map.ValueMapTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest; @@ -78,6 +79,7 @@ public class FeatureCoverageTest { CountTest.class, PathTest.class, ProjectTest.class, +ValueMapTest.class, VertexTest.class,
[12/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for coalesce()
TINKERPOP-1784 Added feature tests for coalesce() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e9ee40ff Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e9ee40ff Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e9ee40ff Branch: refs/heads/master Commit: e9ee40ff808253ad52655c3533ca9e81c97a73ea Parents: 3a294df Author: Stephen MalletteAuthored: Thu Nov 2 07:52:49 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Coalesce.feature | 78 + 1 file changed, 78 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9ee40ff/gremlin-test/features/map/Coalesce.feature -- diff --git a/gremlin-test/features/map/Coalesce.feature b/gremlin-test/features/map/Coalesce.feature new file mode 100644 index 000..f7786ff --- /dev/null +++ b/gremlin-test/features/map/Coalesce.feature @@ -0,0 +1,78 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - coalesce() + + Scenario: g_V_coalesceXoutXfooX_outXbarXX +Given the modern graph +And the traversal of + """ + g.V().coalesce(__.out("foo"), __.out("bar")) + """ +When iterated to list +Then the result should be empty + + Scenario: g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).coalesce(__.out("knows"), __.out("created")).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | vadas | + | josh | + + Scenario: g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).coalesce(__.out("created"), __.out("knows")).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | lop | + + Scenario: g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX +Given the modern graph +And the traversal of + """ + g.V().coalesce(__.out("likes"), __.out("knows"), __.out("created")).groupCount().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":1, "vadas":1, "josh":1, "lop":2}] | + + Scenario: g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX +Given the modern graph +And the traversal of + """ + g.V().coalesce(__.outE("knows"), __.outE("created")).otherV().path().by("name").by(T.label) + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,knows,vadas] | + | p[marko,knows,josh] | + | p[josh,created,ripple] | + | p[josh,created,lop] | + | p[peter,created,lop] |
[07/50] tinkerpop git commit: TINKERPOP-1784 Added local() feature tests
TINKERPOP-1784 Added local() feature tests Had to add a way to assert a results that matched any in a set as limit() type steps might force different results depending on the graph being tested. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c45bac78 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c45bac78 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c45bac78 Branch: refs/heads/master Commit: c45bac7890f5bd06d94726c6da15801b8c14d596 Parents: 77d59dd Author: Stephen MalletteAuthored: Mon Oct 23 10:00:34 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 23 ++- gremlin-test/features/branch/Local.feature | 172 +++ 2 files changed, 191 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index f58f0da..2d2ae8d 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -34,7 +34,9 @@ regex_not = re.compile(r"([(.,\s])not\(") regex_or = re.compile(r"([(.,\s])or\(") -ignores = ["g.V(v1Id).out().inject(v2).values(\"name\")"] +ignores = [ +"g.V(v1Id).out().inject(v2).values(\"name\")" # bug in attachment won't connect v2 + ] @given("the {graph_name:w} graph") @@ -89,12 +91,14 @@ def assert_result(step, characterized_as): if step.context.ignore: return -if characterized_as == "empty": +if characterized_as == "empty":# no results assert_that(len(step.context.result), equal_to(0)) -elif characterized_as == "ordered": +elif characterized_as == "ordered":# results asserted in the order of the data table _table_assertion(step.table, step.context.result, step.context, True) -elif characterized_as == "unordered": +elif characterized_as == "unordered": # results asserted in any order _table_assertion(step.table, step.context.result, step.context, False) +elif characterized_as == "of": # results may be of any of the specified items in the data table +_any_assertion(step.table, step.context.result, step.context) else: raise ValueError("unknown data characterization of " + characterized_as) @@ -108,6 +112,11 @@ def assert_side_effects(step, count, traversal_string): assert_that(count, equal_to(t.count().next())) +@then("only have a result count of {count:d}") +def assert_count(step, count): +assert_that(count, equal_to(len(step.context.result))) + + @then("nothing should happen because") def nothing_happening(step): return @@ -158,6 +167,12 @@ def _convert_results(val): return val +def _any_assertion(data, result, ctx): +converted = [_convert(line[0], ctx) for line in data] +for r in result: +assert_that(r, is_in(converted)) + + def _table_assertion(data, result, ctx, ordered): # results from traversal should have the same number of entries as the feature data table assert_that(len(result), equal_to(len(data))) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature new file mode 100644 index 000..53ae3ab --- /dev/null +++ b/gremlin-test/features/branch/Local.feature @@ -0,0 +1,172 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contriAndor license agreements. See the NOTICE file +# distriAnded with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distriAnded under the License is distriAnded on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - local() + + Scenario: g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value +Given the crew graph +And the traversal of + """ +
[17/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for simplePath()
TINKERPOP-1784 Added feature tests for simplePath() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c24d5b40 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c24d5b40 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c24d5b40 Branch: refs/heads/master Commit: c24d5b40746950c28c02fef97da27cb95abf687b Parents: d11787a Author: Stephen MalletteAuthored: Tue Oct 24 12:46:26 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/SimplePath.feature | 69 1 file changed, 69 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c24d5b40/gremlin-test/features/filter/SimplePath.feature -- diff --git a/gremlin-test/features/filter/SimplePath.feature b/gremlin-test/features/filter/SimplePath.feature new file mode 100644 index 000..c8091af --- /dev/null +++ b/gremlin-test/features/filter/SimplePath.feature @@ -0,0 +1,69 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - simplePath() + + Scenario: g_VX1X_outXcreatedX_inXcreatedX_simplePath +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").in("created").simplePath() + """ +When iterated to list +Then the result should be unordered + | v[josh] | + | v[peter] | + + Scenario: get_g_V_repeatXboth_simplePathX_timesX3X_path +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both().simplePath()).times(3).path() + """ +When iterated to list +Then the result should be unordered + | p[v[marko],v[lop],v[josh],v[ripple]] | + | p[v[marko],v[josh],v[lop],v[peter]] | + | p[v[vadas],v[marko],v[lop],v[josh]] | + | p[v[vadas],v[marko],v[lop],v[peter]] | + | p[v[vadas],v[marko],v[josh],v[ripple]] | + | p[v[vadas],v[marko],v[josh],v[lop]] | + | p[v[lop],v[marko],v[josh],v[ripple]] | + | p[v[lop],v[josh],v[marko],v[vadas]] | + | p[v[josh],v[lop],v[marko],v[vadas]] | + | p[v[josh],v[marko],v[lop],v[peter]] | + | p[v[ripple],v[josh],v[lop],v[marko]] | + | p[v[ripple],v[josh],v[lop],v[peter]] | + | p[v[ripple],v[josh],v[marko],v[lop]] | + | p[v[ripple],v[josh],v[marko],v[vadas]] | + | p[v[peter],v[lop],v[marko],v[vadas]] | + | p[v[peter],v[lop],v[marko],v[josh]] | + | p[v[peter],v[lop],v[josh],v[ripple]] | + | p[v[peter],v[lop],v[josh],v[marko]] | + + Scenario: get_g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V().as("a").out().as("b").out().as("c").simplePath().by(T.label).from("b").to("c").path().by("name") + """ +When iterated to list +Then the result should be unordered + | p[marko,josh,ripple] | + | p[marko,josh,lop]|
[01/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for or()
Repository: tinkerpop Updated Branches: refs/heads/tp32 0f271978f -> 78a1095bc TINKERPOP-1784 Added feature tests for or() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd3868b5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd3868b5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd3868b5 Branch: refs/heads/tp32 Commit: bd3868b5aaeeaaad98261fe7ab4e31e2abf96c02 Parents: 72e98b6 Author: Stephen MalletteAuthored: Fri Oct 20 14:06:15 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:51 2017 -0500 -- gremlin-test/features/filter/Or.feature | 59 .../gremlin/process/FeatureCoverageTest.java| 2 + 2 files changed, 61 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/gremlin-test/features/filter/Or.feature -- diff --git a/gremlin-test/features/filter/Or.feature b/gremlin-test/features/filter/Or.feature new file mode 100644 index 000..111315a --- /dev/null +++ b/gremlin-test/features/filter/Or.feature @@ -0,0 +1,59 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - or() + + Scenario: g_V_orXhasXage_gt_27X__outE_count_gte_2X_name +Given the modern graph +And the traversal of + """ + g.V().or(__.has("age", P.gt(27)), __.outE().count().is(P.gte(2l))).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | josh | + | peter | + + Scenario: g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name +Given the modern graph +And the traversal of + """ + g.V().or(__.outE("knows"), __.has(T.label, "software").or().has("age", P.gte(35))).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | ripple | + | lop | + | peter | + + Scenario: g_V_asXaX_orXselectXaX_selectXaXX +Given the modern graph +And the traversal of + """ + g.V().as("a").or(__.select("a"), __.select("a")) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index 97f1fd6..282d8a8 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.branch.OptionalTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.CoinTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest; +import org.apache.tinkerpop.gremlin.process.traversal.step.filter.OrTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest; @@ -75,6 +76,7 @@ public class FeatureCoverageTest { CoinTest.class, DropTest.class, IsTest.class, +OrTest.class, // map CountTest.class, PathTest.class,
[45/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog
TINKERPOP-1784 Updated changelog Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/57675441 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/57675441 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/57675441 Branch: refs/heads/tp32 Commit: 576754415381205936f9a8be5cf50259d13faacb Parents: 314ab67 Author: Stephen MalletteAuthored: Sat Nov 11 06:20:32 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- CHANGELOG.asciidoc | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/57675441/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index d722066..5ba7c70 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -30,6 +30,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`. * Added test framework for GLVs. +* Added alias support in the .NET `DriverRemoteConnection`. * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.
[36/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog
TINKERPOP-1784 Updated changelog Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/04c903e5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/04c903e5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/04c903e5 Branch: refs/heads/tp32 Commit: 04c903e55c7bba523c1729625b6463a89031e2b4 Parents: 4a5b87c Author: Stephen MalletteAuthored: Fri Nov 10 15:17:03 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:13 2017 -0500 -- CHANGELOG.asciidoc | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04c903e5/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 918bbd4..cb2779a 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -29,6 +29,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Bump to Netty 4.0.52 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`. +* Added test framework for GLVs. +* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.
[46/50] tinkerpop git commit: TINKERPOP-1784 Removed a commented out debug line
TINKERPOP-1784 Removed a commented out debug line Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/50f8286e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/50f8286e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/50f8286e Branch: refs/heads/tp32 Commit: 50f8286e6bafd9ca3b1a92b01b1317e330579e89 Parents: a3c981f Author: Stephen MalletteAuthored: Mon Nov 13 07:58:54 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/src/main/jython/radish/feature_steps.py | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/50f8286e/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 90b0120..94b0c77 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -227,5 +227,4 @@ def _make_traversal(g, traversal_string, params): b.update(params) -# print _translate(step.text + " - " + str(b)) return eval(_translate(traversal_string), b)
[34/50] tinkerpop git commit: TINKERPOP-1784 Added properties() feature tests
TINKERPOP-1784 Added properties() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/447e57c2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/447e57c2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/447e57c2 Branch: refs/heads/tp32 Commit: 447e57c2e2bad029ead63de2227b12db708cbd85 Parents: c7347ab Author: Stephen MalletteAuthored: Fri Nov 10 14:31:20 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Properties.feature | 68 +++ 1 file changed, 68 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/447e57c2/gremlin-test/features/map/Properties.feature -- diff --git a/gremlin-test/features/map/Properties.feature b/gremlin-test/features/map/Properties.feature new file mode 100644 index 000..35ccd77 --- /dev/null +++ b/gremlin-test/features/map/Properties.feature @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - properties() + + Scenario: g_V_hasXageX_propertiesXname_ageX_value +Given the modern graph +And the traversal of + """ + g.V().has("age").properties("name", "age").value() + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | d[29] | + | vadas | + | d[27] | + | josh | + | d[32] | + | peter | + | d[35] | + + Scenario: g_V_hasXageX_propertiesXage_nameX_value +Given the modern graph +And the traversal of + """ + g.V().has("age").properties("age", "name").value() + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | d[29] | + | vadas | + | d[27] | + | josh | + | d[32] | + | peter | + | d[35] | + + Scenario: g_V_hasXageX_properties_hasXid_nameIdX_value +Given an unsupported test +Then nothing should happen because + """ + There is no way to currently get property identifiers on elements. + """ + + Scenario: g_V_hasXageX_propertiesXnameX +Given an unsupported test +Then nothing should happen because + """ + There is no way to currently assert property elements in the test logic. + """
[39/50] tinkerpop git commit: TINKERPOP-1784 Added validation for traversalSource alias
TINKERPOP-1784 Added validation for traversalSource alias Ensures that a RemoteConnection in .NET is properly initialized. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a3c981f1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a3c981f1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a3c981f1 Branch: refs/heads/tp32 Commit: a3c981f1c6ae1bc272255d87cc36df36833eac4e Parents: 5767544 Author: Stephen MalletteAuthored: Mon Nov 13 07:52:42 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- .../src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a3c981f1/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs -- diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs index 80bd100..8cbd43d 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs @@ -56,7 +56,7 @@ namespace Gremlin.Net.Driver.Remote public DriverRemoteConnection(IGremlinClient client, string traversalSource) { _client = client ?? throw new ArgumentNullException(nameof(client)); -_traversalSource = traversalSource; +_traversalSource = traversalSource ?? throw new ArgumentNullException(nameof(traversalSource)); } ///
[24/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for min()
TINKERPOP-1784 Added feature tests for min() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d55e058d Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d55e058d Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d55e058d Branch: refs/heads/tp32 Commit: d55e058d873954af84a07683f7023f7b97755f37 Parents: c24d5b4 Author: Stephen MalletteAuthored: Tue Oct 24 13:36:36 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Min.feature | 48 ++ 1 file changed, 48 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d55e058d/gremlin-test/features/map/Min.feature -- diff --git a/gremlin-test/features/map/Min.feature b/gremlin-test/features/map/Min.feature new file mode 100644 index 000..48ceeb9 --- /dev/null +++ b/gremlin-test/features/map/Min.feature @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - min() + + Scenario: g_V_age_min +Given the modern graph +And the traversal of + """ + g.V().values("age").min() + """ +When iterated to list +Then the result should be unordered + | d[27] | + + Scenario: g_V_repeatXbothX_timesX5X_age_min +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both()).times(5).values("age").min() + """ +When iterated to list +Then the result should be unordered + | d[27] | + + Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").min()) + """ +When iterated to list +Then the result should be unordered + | m[{"ripple":1.0,"lop":0.2}] |
[37/50] tinkerpop git commit: TINKERPOP-1784 Added sack() feature tests
TINKERPOP-1784 Added sack() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f9803660 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f9803660 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f9803660 Branch: refs/heads/tp32 Commit: f98036605cfefac5d6a18b8e4e0f9ffeee690323 Parents: 04c903e Author: Stephen MalletteAuthored: Fri Nov 10 15:17:20 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:13 2017 -0500 -- gremlin-test/features/sideEffect/Sack.feature | 71 ++ 1 file changed, 71 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f9803660/gremlin-test/features/sideEffect/Sack.feature -- diff --git a/gremlin-test/features/sideEffect/Sack.feature b/gremlin-test/features/sideEffect/Sack.feature new file mode 100644 index 000..b0d4cc0 --- /dev/null +++ b/gremlin-test/features/sideEffect/Sack.feature @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sack() + + Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack +Given the modern graph +And the traversal of + """ + g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack() + """ +When iterated to list +Then the result should be unordered + | result | + | created | + | knows | + | knows | + | created | + | created | + | created | + + Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum() + """ +When iterated to list +Then the result should be unordered + | result | + | d[3.5] | + + Scenario: g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack() + """ +When iterated to list +Then the result should be unordered + | result | + | d[2.0] | + | d[1.4] | + + Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum +Given an unsupported test +Then nothing should happen because + """ + This API is deprecated - will not test. + """ + + Scenario: g_withSackX0X_V_repeatXoutE_sackXsum_weightX_inVX_timesX2X_sack +Given an unsupported test +Then nothing should happen because + """ + This API is deprecated - will not test. + """ \ No newline at end of file
[02/50] tinkerpop git commit: TINKERPOP-1784 Added valueMap() feature tests
TINKERPOP-1784 Added valueMap() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/72e98b68 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/72e98b68 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/72e98b68 Branch: refs/heads/tp32 Commit: 72e98b68f8f120f5b6ba0f011b97007fca759c30 Parents: 8437c18 Author: Stephen MalletteAuthored: Fri Oct 20 13:57:59 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:51 2017 -0500 -- gremlin-test/features/map/ValueMap.feature | 59 .../gremlin/process/FeatureCoverageTest.java| 2 + 2 files changed, 61 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/gremlin-test/features/map/ValueMap.feature -- diff --git a/gremlin-test/features/map/ValueMap.feature b/gremlin-test/features/map/ValueMap.feature new file mode 100644 index 000..0a2220e --- /dev/null +++ b/gremlin-test/features/map/ValueMap.feature @@ -0,0 +1,59 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - valueMap() + + Scenario: g_V_valueMap +Given the modern graph +And the traversal of + """ + g.V().valueMap() + """ +When iterated to list +Then the result should be unordered + | m[{"name": ["marko"], "age": [29]}] | + | m[{"name": ["josh"], "age": [32]}] | + | m[{"name": ["peter"], "age": [35]}] | + | m[{"name": ["vadas"], "age": [27]}] | + | m[{"name": ["lop"], "lang": ["java"]}] | + | m[{"name": ["ripple"], "lang": ["java"]}] | + + Scenario: g_V_valueMapXname_ageX +Given the modern graph +And the traversal of + """ + g.V().valueMap("name", "age") + """ +When iterated to list +Then the result should be unordered + | m[{"name": ["marko"], "age": [29]}] | + | m[{"name": ["josh"], "age": [32]}] | + | m[{"name": ["peter"], "age": [35]}] | + | m[{"name": ["vadas"], "age": [27]}] | + | m[{"name": ["lop"]}] | + | m[{"name": ["ripple"]}] | + + Scenario: g_VX1X_outXcreatedX_valueMap +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").valueMap() + """ +When iterated to list +Then the result should be unordered + | m[{"name": ["lop"], "lang": ["java"]}] | \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index eb62f77..97f1fd6 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -27,6 +27,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest; +import org.apache.tinkerpop.gremlin.process.traversal.step.map.ValueMapTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest; @@ -78,6 +79,7 @@ public class FeatureCoverageTest { CountTest.class, PathTest.class, ProjectTest.class, +ValueMapTest.class, VertexTest.class,
[14/50] tinkerpop git commit: TINKERPOP-1784 Added range() feature tests
TINKERPOP-1784 Added range() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/22e113d1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/22e113d1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/22e113d1 Branch: refs/heads/tp32 Commit: 22e113d1a1e746d87a3da57df16f9f3adc0a6f33 Parents: a5d9977 Author: Stephen MalletteAuthored: Tue Oct 24 12:17:43 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/Range.feature | 213 1 file changed, 213 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/22e113d1/gremlin-test/features/filter/Range.feature -- diff --git a/gremlin-test/features/filter/Range.feature b/gremlin-test/features/filter/Range.feature new file mode 100644 index 000..d5ea3bc --- /dev/null +++ b/gremlin-test/features/filter/Range.feature @@ -0,0 +1,213 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - range() + + Scenario: g_VX1X_out_limitX2X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out().limit(2) + """ +When iterated to list +Then the result should be of + | v[josh] | + | v[vadas] | + | v[lop] | +And should have a result count of 2 + + Scenario: g_V_localXoutE_limitX1X_inVX_limitX3X +Given the modern graph +And the traversal of + """ + g.V().local(__.outE().limit(1)).inV().limit(3) + """ +When iterated to list +Then the result should be of + | v[josh] | + | v[vadas] | + | v[lop] | + | v[ripple] | +And should have a result count of 3 + + Scenario: g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("knows").outE("created").range(0, 1).inV() + """ +When iterated to list +Then the result should be of + | v[lop] | + | v[ripple] | +And should have a result count of 1 + + Scenario: g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("knows").out("created").range(0, 1) + """ +When iterated to list +Then the result should be of + | v[lop] | + | v[ripple] | +And should have a result count of 1 + + Scenario: g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").in("created").range(1, 3) + """ +When iterated to list +Then the result should be of + | v[marko] | + | v[josh] | + | v[peter] | +And should have a result count of 2 + + Scenario: get_g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").inE("created").range(1, 3).outV() + """ +When iterated to list +Then the result should be of + | v[marko] | + | v[josh] | + | v[peter] | +And should have a result count of 2 + + Scenario: get_g_V_repeatXbothX_timesX3X_rangeX5_11X +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both()).times(3).range(5, 11) + """ +When iterated to list +Then the result should be of + | v[marko] | + | v[josh] | + | v[peter] | + | v[lop] | + | v[vadas] | + | v[ripple] | +And should have a result count of 6 + + Scenario: g_V_asXaX_in_asXaX_in_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_limitXlocal_2X +Given the modern graph +And the traversal of +
[46/50] tinkerpop git commit: TINKERPOP-1784 Introduced types for all numerics of the feature test
TINKERPOP-1784 Introduced types for all numerics of the feature test Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/014d552f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/014d552f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/014d552f Branch: refs/heads/master Commit: 014d552fac9174c0fc3b0d6c3174269f7386f25c Parents: 5286c20 Author: Stephen MalletteAuthored: Fri Nov 17 08:37:17 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 2 +- gremlin-test/features/branch/Branch.feature | 24 ++-- gremlin-test/features/branch/Local.feature | 22 +- gremlin-test/features/branch/Repeat.feature | 6 ++--- gremlin-test/features/branch/Union.feature | 22 +- gremlin-test/features/filter/Dedup.feature | 4 ++-- gremlin-test/features/filter/Is.feature | 10 gremlin-test/features/filter/Tail.feature | 2 +- gremlin-test/features/map/Coalesce.feature | 2 +- gremlin-test/features/map/Constant.feature | 12 +- gremlin-test/features/map/Count.feature | 16 ++--- gremlin-test/features/map/Fold.feature | 2 +- gremlin-test/features/map/Map.feature | 12 +- gremlin-test/features/map/Match.feature | 12 +- gremlin-test/features/map/Max.feature | 6 ++--- gremlin-test/features/map/Mean.feature | 4 ++-- gremlin-test/features/map/Min.feature | 6 ++--- gremlin-test/features/map/Order.feature | 12 +- gremlin-test/features/map/Path.feature | 10 gremlin-test/features/map/Project.feature | 8 +++ gremlin-test/features/map/Properties.feature| 16 ++--- gremlin-test/features/map/Select.feature| 20 gremlin-test/features/map/Sum.feature | 4 ++-- .../features/sideEffect/Aggregate.feature | 8 +++ gremlin-test/features/sideEffect/Group.feature | 18 +++ .../features/sideEffect/GroupCount.feature | 14 ++-- gremlin-test/features/sideEffect/Inject.feature | 8 +++ gremlin-test/features/sideEffect/Sack.feature | 6 ++--- gremlin-test/features/sideEffect/Store.feature | 16 ++--- 29 files changed, 152 insertions(+), 152 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 94b0c77..9f00535 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -136,7 +136,7 @@ def _convert(val, ctx): return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse set return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) -elif isinstance(val, str) and re.match("^d\[.*\]$", val): # parse numeric +elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val): # parse numeric return float(val[2:-1]) if val[2:-1].__contains__(".") else long(val[2:-1]) elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse vertex id return ctx.lookup_v["modern"][val[2:-4]].id http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/gremlin-test/features/branch/Branch.feature -- diff --git a/gremlin-test/features/branch/Branch.feature b/gremlin-test/features/branch/Branch.feature index b8690c6..6ee261f 100644 --- a/gremlin-test/features/branch/Branch.feature +++ b/gremlin-test/features/branch/Branch.feature @@ -35,10 +35,10 @@ Feature: Step - branch() | java | | lop | | ripple | - | d[29] | - | d[27] | - | d[32] | - | d[35] | + | d[29].i | + | d[27].i | + | d[32].i | + | d[35].i | Scenario: g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX Given the modern graph @@ -57,10 +57,10 @@ Feature: Step - branch() | java | | lop | | ripple | - | d[29] | - | d[27] | - | d[32] | - | d[35] | + | d[29].i | + | d[27].i | + | d[32].i | + | d[35].i | Scenario: g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX Given the modern graph @@ -80,10
[40/50] tinkerpop git commit: TINKERPOP-1784 Changed expected datatypes for sack assertions
TINKERPOP-1784 Changed expected datatypes for sack assertions Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c0a3ce0e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c0a3ce0e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c0a3ce0e Branch: refs/heads/tp32 Commit: c0a3ce0e32c70af1d61312966485b5651afc3076 Parents: 11a180f Author: Stephen MalletteAuthored: Tue Nov 21 15:50:07 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-test/features/sideEffect/Sack.feature | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0a3ce0e/gremlin-test/features/sideEffect/Sack.feature -- diff --git a/gremlin-test/features/sideEffect/Sack.feature b/gremlin-test/features/sideEffect/Sack.feature index d83d7e1..73e65da 100644 --- a/gremlin-test/features/sideEffect/Sack.feature +++ b/gremlin-test/features/sideEffect/Sack.feature @@ -53,8 +53,8 @@ Feature: Step - sack() When iterated to list Then the result should be unordered | result | - | d[2.0].d | - | d[1.4].d | + | d[2.0].m | + | d[1.4].m | Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum Given an unsupported test
[42/50] tinkerpop git commit: TINKERPOP-1784 Removed duplicate entry from bad merge in changelog
TINKERPOP-1784 Removed duplicate entry from bad merge in changelog Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/33258993 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/33258993 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/33258993 Branch: refs/heads/tp32 Commit: 33258993494225f61697fc8fe58d3b54d59766f8 Parents: 2b24f58 Author: Stephen MalletteAuthored: Fri Nov 10 20:13:12 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- CHANGELOG.asciidoc | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33258993/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index cb2779a..d722066 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -30,7 +30,6 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`. * Added test framework for GLVs. -* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.
[38/50] tinkerpop git commit: TINKERPOP-1784 Added support for BigDecimal and fixed broken tests
TINKERPOP-1784 Added support for BigDecimal and fixed broken tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7231b5a6 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7231b5a6 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7231b5a6 Branch: refs/heads/tp32 Commit: 7231b5a61c851cd3065cb63844e94b9d8d1466ea Parents: 014d552 Author: Stephen MalletteAuthored: Fri Nov 17 12:35:28 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/src/main/jython/radish/feature_steps.py | 4 ++-- gremlin-test/features/branch/Local.feature | 2 +- gremlin-test/features/branch/Repeat.feature| 2 +- gremlin-test/features/map/Mean.feature | 2 +- gremlin-test/features/map/Min.feature | 2 +- gremlin-test/features/map/Order.feature| 2 +- gremlin-test/features/map/Properties.feature | 2 +- gremlin-test/features/sideEffect/Group.feature | 2 +- gremlin-test/features/sideEffect/Sack.feature | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 9f00535..5cb4b9a 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -136,8 +136,8 @@ def _convert(val, ctx): return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse set return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) -elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val): # parse numeric -return float(val[2:-1]) if val[2:-1].__contains__(".") else long(val[2:-1]) +elif isinstance(val, str) and re.match("^d\[.*\]\.[ilfdm]$", val): # parse numeric +return float(val[2:-3]) if val[2:-3].__contains__(".") else long(val[2:-3]) elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse vertex id return ctx.lookup_v["modern"][val[2:-4]].id elif isinstance(val, str) and re.match("^v\[.*\]\.sid$", val):# parse vertex id as string http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature index d6e809e..9efe921 100644 --- a/gremlin-test/features/branch/Local.feature +++ b/gremlin-test/features/branch/Local.feature @@ -47,7 +47,7 @@ Feature: Step - local() | m[{"a":"marko","b":"d[3].i"}] | | m[{"a":"josh","b":"d[5].i"}] | | m[{"a":"josh","b":"d[3].i"}] | - | m[{"a":"peter","b":"d[3].i}] | + | m[{"a":"peter","b":"d[3].i"}] | Scenario: g_V_localXoutE_countX Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature index 89eb002..009c380 100644 --- a/gremlin-test/features/branch/Repeat.feature +++ b/gremlin-test/features/branch/Repeat.feature @@ -212,7 +212,7 @@ Feature: Step - repeat() When iterated to list Then the result should be unordered | result | - | m[{"ripple":"d[3].l,"vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}] | + | m[{"ripple":"d[3].l","vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}] | Scenario: g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/map/Mean.feature -- diff --git a/gremlin-test/features/map/Mean.feature b/gremlin-test/features/map/Mean.feature index b716bde..b109356 100644 --- a/gremlin-test/features/map/Mean.feature +++ b/gremlin-test/features/map/Mean.feature @@ -37,4 +37,4 @@ Feature: Step - mean() When iterated to list Then the result should be unordered | result | - | m[{"ripple":"d[1.0]".d,"lop":"d[0.].d"}] | \ No newline at end of file + |
[03/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for match()
TINKERPOP-1784 Added feature tests for match() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3b542678 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3b542678 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3b542678 Branch: refs/heads/master Commit: 3b54267846bc86a927cf44839c1333e2ba63135a Parents: 8f0b8f7 Author: Stephen MalletteAuthored: Thu Nov 9 12:50:52 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Match.feature | 80 1 file changed, 80 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3b542678/gremlin-test/features/map/Match.feature -- diff --git a/gremlin-test/features/map/Match.feature b/gremlin-test/features/map/Match.feature new file mode 100644 index 000..59c56fd --- /dev/null +++ b/gremlin-test/features/map/Match.feature @@ -0,0 +1,80 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - match() + + Scenario: g_V_valueMap_matchXa_selectXnameX_bX +Given the modern graph +And the traversal of + """ + g.V().valueMap().match(__.as("a").select("name").as("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":{"name":["marko"],"age":[29]},"b":["marko"]}] | + | m[{"a":{"name":["vadas"],"age":[27]},"b":["vadas"]}] | + | m[{"a":{"name":["lop"],"lang":["java"]},"b":["lop"]}] | + | m[{"a":{"name":["josh"],"age":[32]},"b":["josh"]}] | + | m[{"a":{"name":["ripple"],"lang":["java"]},"b":["ripple"]}] | + | m[{"a":{"name":["peter"],"age":[35]},"b":["peter"]}] | + + Scenario: g_V_matchXa_out_bX +Given the modern graph +And the traversal of + """ + g.V().match(__.as("a").out().as("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[lop]"}] | + | m[{"a":"v[marko]","b":"v[vadas]"}] | + | m[{"a":"v[marko]","b":"v[josh]"}] | + | m[{"a":"v[josh]","b":"v[ripple]"}] | + | m[{"a":"v[josh]","b":"v[lop]"}] | + | m[{"a":"v[peter]","b":"v[lop]"}] | + + Scenario: g_V_matchXa_out_bX_selectXb_idX +Given the modern graph +And the traversal of + """ + g.V().match(__.as("a").out().as("b")).select("b").by(T.id) + """ +When iterated to list +Then the result should be unordered + | result | + | d[3] | + | d[2] | + | d[4] | + | d[5] | + | d[3] | + | d[3] | + + Scenario: g_V_matchXa_knows_b__b_created_cX +Given the modern graph +And the traversal of + """ + g.V().match(__.as("a").out("knows").as("b"), + __.as("b").out("created").as("c")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[josh]", "c":"v[ripple]"}] | + | m[{"a":"v[marko]","b":"v[josh]", "c":"v[lop]"}] | +
[22/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for min()
TINKERPOP-1784 Added feature tests for min() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d55e058d Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d55e058d Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d55e058d Branch: refs/heads/master Commit: d55e058d873954af84a07683f7023f7b97755f37 Parents: c24d5b4 Author: Stephen MalletteAuthored: Tue Oct 24 13:36:36 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Min.feature | 48 ++ 1 file changed, 48 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d55e058d/gremlin-test/features/map/Min.feature -- diff --git a/gremlin-test/features/map/Min.feature b/gremlin-test/features/map/Min.feature new file mode 100644 index 000..48ceeb9 --- /dev/null +++ b/gremlin-test/features/map/Min.feature @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - min() + + Scenario: g_V_age_min +Given the modern graph +And the traversal of + """ + g.V().values("age").min() + """ +When iterated to list +Then the result should be unordered + | d[27] | + + Scenario: g_V_repeatXbothX_timesX5X_age_min +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both()).times(5).values("age").min() + """ +When iterated to list +Then the result should be unordered + | d[27] | + + Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").min()) + """ +When iterated to list +Then the result should be unordered + | m[{"ripple":1.0,"lop":0.2}] |
[48/50] tinkerpop git commit: TINKERPOP-1784 Fixed configuration for secure test server
TINKERPOP-1784 Fixed configuration for secure test server Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2819dba8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2819dba8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2819dba8 Branch: refs/heads/master Commit: 2819dba8ecd269b3ca3234f07e6fbfb5888fcf5a Parents: c0a3ce0 Author: Stephen MalletteAuthored: Wed Nov 22 07:01:28 2017 -0500 Committer: Stephen Mallette Committed: Wed Nov 22 07:01:28 2017 -0500 -- gremlin-server/src/test/scripts/test-server-start.groovy | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2819dba8/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 d793d26..157f01c 100644 --- a/gremlin-server/src/test/scripts/test-server-start.groovy +++ b/gremlin-server/src/test/scripts/test-server-start.groovy @@ -44,11 +44,11 @@ project.setContextValue("gremlin.server", server) log.info("Gremlin Server with no authentication started on port 45940") def settingsSecure = Settings.read("${settingsFile}") -settings.graphs.graph = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" -settings.graphs.classic = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" -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" +settingsSecure.graphs.graph = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" +settingsSecure.graphs.classic = gremlinServerDir + "/src/test/scripts/tinkergraph-empty.properties" +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.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + "/src/test/scripts/generate-all.groovy"] if (Boolean.parseBoolean(python)) { settingsSecure.scriptEngines["gremlin-python"] = new Settings.ScriptEngineSettings()
[44/50] tinkerpop git commit: TINKERPOP-1784 Killed some whitespace in gremlin-python pom
TINKERPOP-1784 Killed some whitespace in gremlin-python pom Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5286c204 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5286c204 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5286c204 Branch: refs/heads/tp32 Commit: 5286c2042690369c25bda8dd69692ae11b02841e Parents: 50f8286 Author: Stephen MalletteAuthored: Mon Nov 13 08:04:28 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5286c204/gremlin-python/pom.xml -- diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml index d1a4a76..a1aee4a 100644 --- a/gremlin-python/pom.xml +++ b/gremlin-python/pom.xml @@ -450,7 +450,7 @@ limitations under the License. failonerror="true"> - +
[40/50] tinkerpop git commit: TINKERPOP-1784 Removed the linejump option to clean up output to console
TINKERPOP-1784 Removed the linejump option to clean up output to console Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2b24f589 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2b24f589 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2b24f589 Branch: refs/heads/master Commit: 2b24f589e6f6468fec2cba5dda6a7e95cefc8987 Parents: f980366 Author: Stephen MalletteAuthored: Fri Nov 10 15:27:45 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b24f589/gremlin-python/pom.xml -- diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml index 67cc35b..d1a4a76 100644 --- a/gremlin-python/pom.xml +++ b/gremlin-python/pom.xml @@ -449,7 +449,7 @@ limitations under the License. - +
[08/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for filter()
TINKERPOP-1784 Added feature tests for filter() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/77d59ddf Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/77d59ddf Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/77d59ddf Branch: refs/heads/tp32 Commit: 77d59ddf9c323842872c875445e35952210784ca Parents: bd3868b Author: Stephen MalletteAuthored: Fri Oct 20 15:13:06 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/Filter.feature | 106 +++ .../gremlin/process/FeatureCoverageTest.java| 2 + 2 files changed, 108 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/gremlin-test/features/filter/Filter.feature -- diff --git a/gremlin-test/features/filter/Filter.feature b/gremlin-test/features/filter/Filter.feature new file mode 100644 index 000..05e7cea --- /dev/null +++ b/gremlin-test/features/filter/Filter.feature @@ -0,0 +1,106 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - filter() + + Scenario: g_V_filterXfalseX +Given the modern graph +And using the parameter l1 defined as "c[false]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be empty + + Scenario: g_V_filterXtrueX +Given the modern graph +And using the parameter l1 defined as "c[true]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + Scenario: g_V_filterXlang_eq_javaX +Given the modern graph +And using the parameter l1 defined as "c[it.get().property('lang').orElse('none').equals('java')]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[ripple] | + | v[lop] | + + Scenario: g_VX1X_out_filterXage_gt_30X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And using the parameter l1 defined as "c[it.get().property('age').orElse(0) > 30]" +And the traversal of + """ + g.V(v1Id).out().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[josh] | + + Scenario: g_V_filterXname_startsWith_m_OR_name_startsWith_pX +Given the modern graph +And using the parameter l1 defined as "c[{name = it.get().value('name'); name.startsWith('m') || name.startsWith('p')}]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[peter] | + + Scenario: g_E_filterXfalseX +Given the modern graph +And using the parameter l1 defined as "c[false]" +And the traversal of + """ + g.E().filter(l1) + """ +When iterated to list +Then the result should be empty + + Scenario: g_E_filterXtrueX +Given the modern graph +And using the parameter l1 defined as "c[true]" +And the traversal of + """ + g.E().filter(l1) + """ +When iterated to list +Then the result should be unordered + | e[marko-created->lop] | + | e[marko-knows->josh] | + | e[marko-knows->vadas] | + | e[peter-created->lop] | + | e[josh-created->lop] | + | e[josh-created->ripple] | \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
[28/50] tinkerpop git commit: TINKERPOP-1784 Renamed loops() feature test to match the step name
TINKERPOP-1784 Renamed loops() feature test to match the step name Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/26779e19 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/26779e19 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/26779e19 Branch: refs/heads/tp32 Commit: 26779e1904d24db9702c9a4b98f5107b930bf49f Parents: 9910519 Author: Stephen MalletteAuthored: Fri Nov 10 12:56:34 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Loop.feature | 68 gremlin-test/features/map/Loops.feature | 68 2 files changed, 68 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loop.feature -- diff --git a/gremlin-test/features/map/Loop.feature b/gremlin-test/features/map/Loop.feature deleted file mode 100644 index efd439f..000 --- a/gremlin-test/features/map/Loop.feature +++ /dev/null @@ -1,68 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -Feature: Step - loop() - - Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX -Given the modern graph -And using the parameter v1Id defined as "v[marko].id" -And the traversal of - """ - g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name") - """ -When iterated to list -Then the result should be unordered - | result | - | p[marko,lop,peter] | - | p[marko,josh,lop,peter] | - - Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX -Given the modern graph -And using the parameter v1Id defined as "v[marko].id" -And the traversal of - """ - g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name") - """ -When iterated to list -Then the result should be unordered - | result | - | p[marko,lop,peter] | - - Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX -Given the modern graph -And using the parameter v1Id defined as "v[marko].id" -And the traversal of - """ - g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name") - """ -When iterated to list -Then the result should be unordered - | result | - | p[marko,josh,lop,peter] | - - Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX -Given the modern graph -And the traversal of - """ - g.V().emit(__.has("name", "marko").or().loops().is(2)).repeat(__.out()).values("name") - """ -When iterated to list -Then the result should be unordered - | result | - | marko | - | ripple | - | lop | http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loops.feature -- diff --git a/gremlin-test/features/map/Loops.feature b/gremlin-test/features/map/Loops.feature new file mode 100644 index 000..b8a70ae --- /dev/null +++ b/gremlin-test/features/map/Loops.feature @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless
[45/50] tinkerpop git commit: TINKERPOP-1784 Changed expected datatypes for sack assertions
TINKERPOP-1784 Changed expected datatypes for sack assertions Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c0a3ce0e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c0a3ce0e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c0a3ce0e Branch: refs/heads/master Commit: c0a3ce0e32c70af1d61312966485b5651afc3076 Parents: 11a180f Author: Stephen MalletteAuthored: Tue Nov 21 15:50:07 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-test/features/sideEffect/Sack.feature | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0a3ce0e/gremlin-test/features/sideEffect/Sack.feature -- diff --git a/gremlin-test/features/sideEffect/Sack.feature b/gremlin-test/features/sideEffect/Sack.feature index d83d7e1..73e65da 100644 --- a/gremlin-test/features/sideEffect/Sack.feature +++ b/gremlin-test/features/sideEffect/Sack.feature @@ -53,8 +53,8 @@ Feature: Step - sack() When iterated to list Then the result should be unordered | result | - | d[2.0].d | - | d[1.4].d | + | d[2.0].m | + | d[1.4].m | Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum Given an unsupported test
[39/50] tinkerpop git commit: TINKERPOP-1784 Added support for BigDecimal and fixed broken tests
TINKERPOP-1784 Added support for BigDecimal and fixed broken tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7231b5a6 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7231b5a6 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7231b5a6 Branch: refs/heads/master Commit: 7231b5a61c851cd3065cb63844e94b9d8d1466ea Parents: 014d552 Author: Stephen MalletteAuthored: Fri Nov 17 12:35:28 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/src/main/jython/radish/feature_steps.py | 4 ++-- gremlin-test/features/branch/Local.feature | 2 +- gremlin-test/features/branch/Repeat.feature| 2 +- gremlin-test/features/map/Mean.feature | 2 +- gremlin-test/features/map/Min.feature | 2 +- gremlin-test/features/map/Order.feature| 2 +- gremlin-test/features/map/Properties.feature | 2 +- gremlin-test/features/sideEffect/Group.feature | 2 +- gremlin-test/features/sideEffect/Sack.feature | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 9f00535..5cb4b9a 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -136,8 +136,8 @@ def _convert(val, ctx): return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse set return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) -elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val): # parse numeric -return float(val[2:-1]) if val[2:-1].__contains__(".") else long(val[2:-1]) +elif isinstance(val, str) and re.match("^d\[.*\]\.[ilfdm]$", val): # parse numeric +return float(val[2:-3]) if val[2:-3].__contains__(".") else long(val[2:-3]) elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse vertex id return ctx.lookup_v["modern"][val[2:-4]].id elif isinstance(val, str) and re.match("^v\[.*\]\.sid$", val):# parse vertex id as string http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature index d6e809e..9efe921 100644 --- a/gremlin-test/features/branch/Local.feature +++ b/gremlin-test/features/branch/Local.feature @@ -47,7 +47,7 @@ Feature: Step - local() | m[{"a":"marko","b":"d[3].i"}] | | m[{"a":"josh","b":"d[5].i"}] | | m[{"a":"josh","b":"d[3].i"}] | - | m[{"a":"peter","b":"d[3].i}] | + | m[{"a":"peter","b":"d[3].i"}] | Scenario: g_V_localXoutE_countX Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature index 89eb002..009c380 100644 --- a/gremlin-test/features/branch/Repeat.feature +++ b/gremlin-test/features/branch/Repeat.feature @@ -212,7 +212,7 @@ Feature: Step - repeat() When iterated to list Then the result should be unordered | result | - | m[{"ripple":"d[3].l,"vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}] | + | m[{"ripple":"d[3].l","vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}] | Scenario: g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/map/Mean.feature -- diff --git a/gremlin-test/features/map/Mean.feature b/gremlin-test/features/map/Mean.feature index b716bde..b109356 100644 --- a/gremlin-test/features/map/Mean.feature +++ b/gremlin-test/features/map/Mean.feature @@ -37,4 +37,4 @@ Feature: Step - mean() When iterated to list Then the result should be unordered | result | - | m[{"ripple":"d[1.0]".d,"lop":"d[0.].d"}] | \ No newline at end of file + |
[09/50] tinkerpop git commit: TINKERPOP-1784 Disabled coverage test for features
TINKERPOP-1784 Disabled coverage test for features No point to enabling at this time since all tests aren't really targetted for migration with this initial body of work. It will be turned on later when all test are intended for migration. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7896264e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7896264e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7896264e Branch: refs/heads/master Commit: 7896264edf6a3ea94a2f7ae396da1f1db152311e Parents: 3b54267 Author: Stephen MalletteAuthored: Fri Nov 10 11:24:47 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7896264e/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index dba865b..cc6e9bd 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -35,6 +35,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateT import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.InjectTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.StoreTest; +import org.junit.Ignore; import org.junit.Test; import java.io.BufferedReader; @@ -65,6 +66,7 @@ public class FeatureCoverageTest { private static Pattern scenarioName = Pattern.compile("^\\s*Scenario:\\s*(.*)$"); @Test +@Ignore("As it stands we won't have all of these tests migrated initially so there is no point to running this in full - it can be flipped on later") public void shouldImplementAllProcessTestsAsFeatures() throws Exception { // TEMPORARY while test framework is under development - all tests should ultimately be included
[25/50] tinkerpop git commit: TINKERPOP-1784 radish bumped version and broke stuff
TINKERPOP-1784 radish bumped version and broke stuff Tables now return a list of maps that required a header so all feature files needed header. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/33146446 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/33146446 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/33146446 Branch: refs/heads/tp32 Commit: 33146446fe67ff25e378e2025d2b03e2c207d119 Parents: 1588d3e Author: Stephen MalletteAuthored: Tue Oct 31 08:24:28 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 4 +-- gremlin-python/src/main/jython/setup.py | 2 +- gremlin-test/features/branch/Branch.feature | 3 ++ gremlin-test/features/branch/Choose.feature | 6 gremlin-test/features/branch/Local.feature | 11 +++ gremlin-test/features/branch/Optional.feature | 4 +++ gremlin-test/features/branch/Repeat.feature | 13 gremlin-test/features/branch/Union.feature | 7 gremlin-test/features/filter/And.feature| 4 +++ gremlin-test/features/filter/Coin.feature | 1 + gremlin-test/features/filter/CyclicPath.feature | 2 ++ gremlin-test/features/filter/Dedup.feature | 15 + gremlin-test/features/filter/Filter.feature | 5 +++ gremlin-test/features/filter/Has.feature| 2 ++ gremlin-test/features/filter/Is.feature | 5 +++ gremlin-test/features/filter/Or.feature | 3 ++ gremlin-test/features/filter/Range.feature | 15 + gremlin-test/features/filter/SimplePath.feature | 7 ++-- gremlin-test/features/map/Constant.feature | 2 ++ gremlin-test/features/map/Count.feature | 9 ++ gremlin-test/features/map/Max.feature | 3 ++ gremlin-test/features/map/Min.feature | 3 ++ gremlin-test/features/map/Path.feature | 7 gremlin-test/features/map/Project.feature | 2 ++ gremlin-test/features/map/Select.feature| 20 gremlin-test/features/map/ValueMap.feature | 3 ++ gremlin-test/features/map/Vertex.feature| 34 +++- .../features/sideEffect/Aggregate.feature | 4 +++ .../features/sideEffect/GroupCount.feature | 10 ++ gremlin-test/features/sideEffect/Inject.feature | 2 ++ gremlin-test/features/sideEffect/Store.feature | 3 ++ 31 files changed, 205 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 14a0153..b48b7ef 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -168,7 +168,7 @@ def _convert_results(val): def _any_assertion(data, result, ctx): -converted = [_convert(line[0], ctx) for line in data] +converted = [_convert(line['result'], ctx) for line in data] for r in result: assert_that(r, is_in(converted)) @@ -182,7 +182,7 @@ def _table_assertion(data, result, ctx, ordered): # finds a match in the results for each line of data to assert and then removes that item # from the list - in the end there should be no items left over and each will have been asserted for ix, line in enumerate(data): -val = _convert(line[0], ctx) +val = _convert(line['result'], ctx) # clear the labels since we don't define them in .feature files if isinstance(val, Path): http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-python/src/main/jython/setup.py -- diff --git a/gremlin-python/src/main/jython/setup.py b/gremlin-python/src/main/jython/setup.py index 9a66c81..c72a4d3 100644 --- a/gremlin-python/src/main/jython/setup.py +++ b/gremlin-python/src/main/jython/setup.py @@ -71,7 +71,7 @@ setup( tests_require=[ 'pytest', 'mock', -'radish-bdd', +'radish-bdd==0.8.0', 'PyHamcrest' ], install_requires=install_requires, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-test/features/branch/Branch.feature -- diff --git a/gremlin-test/features/branch/Branch.feature b/gremlin-test/features/branch/Branch.feature index d306c3b..b8690c6 100644 --- a/gremlin-test/features/branch/Branch.feature +++ b/gremlin-test/features/branch/Branch.feature @@
[08/50] tinkerpop git commit: TINKERPOP-1784 Added tail() feature tests
TINKERPOP-1784 Added tail() feature tests Added fixes to python test logic for the reserved global keyword and fixed ordering test logic a bit. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e67cbdb8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e67cbdb8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e67cbdb8 Branch: refs/heads/master Commit: e67cbdb86241dd7d2baa42cb9a6e1458788839ee Parents: 7896264 Author: Stephen MalletteAuthored: Fri Nov 10 12:05:57 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 7 +- gremlin-test/features/filter/Tail.feature | 166 +++ 2 files changed, 171 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index dae6361a..6c72bf1 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -28,6 +28,7 @@ from hamcrest import * regex_and = re.compile(r"([(.,\s])and\(") regex_as = re.compile(r"([(.,\s])as\(") regex_from = re.compile(r"([(.,\s])from\(") +regex_global = re.compile(r"([(.,\s])global") regex_in = re.compile(r"([(.,\s])in\(") regex_is = re.compile(r"([(.,\s])is\(") regex_not = re.compile(r"([(.,\s])not\(") @@ -193,15 +194,17 @@ def _table_assertion(data, result, ctx, ordered): assert_that(results_to_test[ix], equal_to(val)) else: assert_that(val, is_in(results_to_test)) -results_to_test.remove(val) +results_to_test.remove(val) -assert_that(len(results_to_test), is_(0)) +if not ordered: +assert_that(len(results_to_test), is_(0)) def _translate(traversal): replaced = traversal.replace("\n", "") replaced = regex_and.sub(r"\1and_(", replaced) replaced = regex_from.sub(r"\1from_(", replaced) +replaced = regex_global.sub(r"\1global_", replaced) replaced = regex_as.sub(r"\1as_(", replaced) replaced = regex_is.sub(r"\1is_(", replaced) replaced = regex_not.sub(r"\1not_(", replaced) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/gremlin-test/features/filter/Tail.feature -- diff --git a/gremlin-test/features/filter/Tail.feature b/gremlin-test/features/filter/Tail.feature new file mode 100644 index 000..35083ef --- /dev/null +++ b/gremlin-test/features/filter/Tail.feature @@ -0,0 +1,166 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - tail() + + Scenario: g_V_valuesXnameX_order_tailXglobal_2X +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail(Scope.global, 2) + """ +When iterated to list +Then the result should be ordered + | result | + | ripple | + | vadas | + + Scenario: g_V_valuesXnameX_order_tailX2X +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail(2) + """ +When iterated to list +Then the result should be ordered + | result | + | ripple | + | vadas | + + Scenario: g_V_valuesXnameX_order_tail +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail() + """ +When iterated to list +Then the result should be ordered + | result | + | vadas | + + Scenario: g_V_valuesXnameX_order_tailX7X +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail(7) + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop| +
[32/50] tinkerpop git commit: TINKERPOP-1784 Added sum() feature tests
TINKERPOP-1784 Added sum() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5dd6a240 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5dd6a240 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5dd6a240 Branch: refs/heads/tp32 Commit: 5dd6a240b30c29cd2d2d4625a0415159b191818f Parents: 447e57c Author: Stephen MalletteAuthored: Fri Nov 10 14:36:03 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Sum.feature | 40 ++ 1 file changed, 40 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5dd6a240/gremlin-test/features/map/Sum.feature -- diff --git a/gremlin-test/features/map/Sum.feature b/gremlin-test/features/map/Sum.feature new file mode 100644 index 000..35571fa --- /dev/null +++ b/gremlin-test/features/map/Sum.feature @@ -0,0 +1,40 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sum() + + Scenario: g_V_valuesXageX_sum +Given the modern graph +And the traversal of + """ + g.V().values("age").sum() + """ +When iterated to list +Then the result should be unordered + | result | + | d[123] | + + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").sum()) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":1.0,"lop":1.0}] | \ No newline at end of file
[11/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for match()
TINKERPOP-1784 Added feature tests for match() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3b542678 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3b542678 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3b542678 Branch: refs/heads/tp32 Commit: 3b54267846bc86a927cf44839c1333e2ba63135a Parents: 8f0b8f7 Author: Stephen MalletteAuthored: Thu Nov 9 12:50:52 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Match.feature | 80 1 file changed, 80 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3b542678/gremlin-test/features/map/Match.feature -- diff --git a/gremlin-test/features/map/Match.feature b/gremlin-test/features/map/Match.feature new file mode 100644 index 000..59c56fd --- /dev/null +++ b/gremlin-test/features/map/Match.feature @@ -0,0 +1,80 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - match() + + Scenario: g_V_valueMap_matchXa_selectXnameX_bX +Given the modern graph +And the traversal of + """ + g.V().valueMap().match(__.as("a").select("name").as("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":{"name":["marko"],"age":[29]},"b":["marko"]}] | + | m[{"a":{"name":["vadas"],"age":[27]},"b":["vadas"]}] | + | m[{"a":{"name":["lop"],"lang":["java"]},"b":["lop"]}] | + | m[{"a":{"name":["josh"],"age":[32]},"b":["josh"]}] | + | m[{"a":{"name":["ripple"],"lang":["java"]},"b":["ripple"]}] | + | m[{"a":{"name":["peter"],"age":[35]},"b":["peter"]}] | + + Scenario: g_V_matchXa_out_bX +Given the modern graph +And the traversal of + """ + g.V().match(__.as("a").out().as("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[lop]"}] | + | m[{"a":"v[marko]","b":"v[vadas]"}] | + | m[{"a":"v[marko]","b":"v[josh]"}] | + | m[{"a":"v[josh]","b":"v[ripple]"}] | + | m[{"a":"v[josh]","b":"v[lop]"}] | + | m[{"a":"v[peter]","b":"v[lop]"}] | + + Scenario: g_V_matchXa_out_bX_selectXb_idX +Given the modern graph +And the traversal of + """ + g.V().match(__.as("a").out().as("b")).select("b").by(T.id) + """ +When iterated to list +Then the result should be unordered + | result | + | d[3] | + | d[2] | + | d[4] | + | d[5] | + | d[3] | + | d[3] | + + Scenario: g_V_matchXa_knows_b__b_created_cX +Given the modern graph +And the traversal of + """ + g.V().match(__.as("a").out("knows").as("b"), + __.as("b").out("created").as("c")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[josh]", "c":"v[ripple]"}] | + | m[{"a":"v[marko]","b":"v[josh]", "c":"v[lop]"}] | +
[05/50] tinkerpop git commit: TINKERPOP-1784 Added flatMap()/fold() feature tests
TINKERPOP-1784 Added flatMap()/fold() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/78fd4fdc Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/78fd4fdc Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/78fd4fdc Branch: refs/heads/tp32 Commit: 78fd4fdc8f177ecab960f7d5c94aa6374606cd61 Parents: e9ee40f Author: Stephen MalletteAuthored: Thu Nov 2 08:11:48 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 3 +- gremlin-test/features/map/FlatMap.feature | 35 gremlin-test/features/map/Fold.feature | 57 3 files changed, 94 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index b7050e9..dae6361a 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -21,7 +21,7 @@ import json import re from gremlin_python.structure.graph import Graph, Path from gremlin_python.process.graph_traversal import __ -from gremlin_python.process.traversal import P, Scope, Column, Order, Direction, T, Pick +from gremlin_python.process.traversal import P, Scope, Column, Order, Direction, T, Pick, Operator from radish import given, when, then from hamcrest import * @@ -218,6 +218,7 @@ def _make_traversal(g, traversal_string, params): "P": P, "Pick": Pick, "Scope": Scope, + "Operator": Operator, "T": T} b.update(params) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/FlatMap.feature -- diff --git a/gremlin-test/features/map/FlatMap.feature b/gremlin-test/features/map/FlatMap.feature new file mode 100644 index 000..7384ee3 --- /dev/null +++ b/gremlin-test/features/map/FlatMap.feature @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - flatMap() + + Scenario: g_V_asXaX_flatMapXselectXaXX +Given the modern graph +And the traversal of + """ + g.V().as("a").flatMap(__.select("a")) + """ +When iterated to list +Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/Fold.feature -- diff --git a/gremlin-test/features/map/Fold.feature b/gremlin-test/features/map/Fold.feature new file mode 100644 index 000..1c71b27 --- /dev/null +++ b/gremlin-test/features/map/Fold.feature @@ -0,0 +1,57 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - fold() + + Scenario: g_V_fold +Given the modern graph +And the traversal of + """ +
[07/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for V()
TINKERPOP-1784 Added feature tests for V() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/75d1e27b Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/75d1e27b Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/75d1e27b Branch: refs/heads/tp32 Commit: 75d1e27bb517494df7ab3fdc7ac02a23935ef91d Parents: 78fd4fd Author: Stephen MalletteAuthored: Thu Nov 2 08:58:27 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Graph.feature | 109 +++ 1 file changed, 109 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/75d1e27b/gremlin-test/features/map/Graph.feature -- diff --git a/gremlin-test/features/map/Graph.feature b/gremlin-test/features/map/Graph.feature new file mode 100644 index 000..249d6a3 --- /dev/null +++ b/gremlin-test/features/map/Graph.feature @@ -0,0 +1,109 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - V() + + Scenario: g_VX1X_V_valuesXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).V().values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | vadas | + | lop | + | josh | + | ripple | + | peter | + + Scenario: g_V_outXknowsX_V_name +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V().out("knows").V().values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | marko | + | vadas | + | vadas | + | lop | + | lop | + | josh | + | josh | + | ripple | + | ripple | + | peter | + | peter | + + Scenario: g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name +Given the grateful graph +And the traversal of + """ + g.V().has("artist", "name", "Garcia").in("sungBy").as("song"). +V().has("artist", "name", "Willie_Dixon").in("writtenBy").where(P.eq("song")).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | MY BABE | + | HOOCHIE COOCHIE MAN | + + Scenario: g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko"). +addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas"). +addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop"). +addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh"). +addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple"). +addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter'). +addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5). +addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0). +addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4). +addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0). +addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4). +addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2) + """ +And using the parameter software defined as "l[v[lop],v[ripple]]" +And using the parameter v1Id defined as "v[marko].id" +And using the parameter v2Id defined as "v[vadas].id" +
[22/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for max()
TINKERPOP-1784 Added feature tests for max() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5478e5dd Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5478e5dd Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5478e5dd Branch: refs/heads/tp32 Commit: 5478e5ddca1c228a4df48310a4373dca97192c61 Parents: d55e058 Author: Stephen MalletteAuthored: Tue Oct 24 13:51:30 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Max.feature | 48 ++ 1 file changed, 48 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5478e5dd/gremlin-test/features/map/Max.feature -- diff --git a/gremlin-test/features/map/Max.feature b/gremlin-test/features/map/Max.feature new file mode 100644 index 000..c36177d --- /dev/null +++ b/gremlin-test/features/map/Max.feature @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - max() + + Scenario: g_V_age_max +Given the modern graph +And the traversal of + """ + g.V().values("age").max() + """ +When iterated to list +Then the result should be unordered + | d[35] | + + Scenario: g_V_repeatXbothX_timesX5X_age_max +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both()).times(5).values("age").max() + """ +When iterated to list +Then the result should be unordered + | d[35] | + + Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").max()) + """ +When iterated to list +Then the result should be unordered + | m[{"ripple":1.0,"lop":0.4}] |
[09/50] tinkerpop git commit: TINKERPOP-1784 Added tail() feature tests
TINKERPOP-1784 Added tail() feature tests Added fixes to python test logic for the reserved global keyword and fixed ordering test logic a bit. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e67cbdb8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e67cbdb8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e67cbdb8 Branch: refs/heads/tp32 Commit: e67cbdb86241dd7d2baa42cb9a6e1458788839ee Parents: 7896264 Author: Stephen MalletteAuthored: Fri Nov 10 12:05:57 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 7 +- gremlin-test/features/filter/Tail.feature | 166 +++ 2 files changed, 171 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index dae6361a..6c72bf1 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -28,6 +28,7 @@ from hamcrest import * regex_and = re.compile(r"([(.,\s])and\(") regex_as = re.compile(r"([(.,\s])as\(") regex_from = re.compile(r"([(.,\s])from\(") +regex_global = re.compile(r"([(.,\s])global") regex_in = re.compile(r"([(.,\s])in\(") regex_is = re.compile(r"([(.,\s])is\(") regex_not = re.compile(r"([(.,\s])not\(") @@ -193,15 +194,17 @@ def _table_assertion(data, result, ctx, ordered): assert_that(results_to_test[ix], equal_to(val)) else: assert_that(val, is_in(results_to_test)) -results_to_test.remove(val) +results_to_test.remove(val) -assert_that(len(results_to_test), is_(0)) +if not ordered: +assert_that(len(results_to_test), is_(0)) def _translate(traversal): replaced = traversal.replace("\n", "") replaced = regex_and.sub(r"\1and_(", replaced) replaced = regex_from.sub(r"\1from_(", replaced) +replaced = regex_global.sub(r"\1global_", replaced) replaced = regex_as.sub(r"\1as_(", replaced) replaced = regex_is.sub(r"\1is_(", replaced) replaced = regex_not.sub(r"\1not_(", replaced) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/gremlin-test/features/filter/Tail.feature -- diff --git a/gremlin-test/features/filter/Tail.feature b/gremlin-test/features/filter/Tail.feature new file mode 100644 index 000..35083ef --- /dev/null +++ b/gremlin-test/features/filter/Tail.feature @@ -0,0 +1,166 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - tail() + + Scenario: g_V_valuesXnameX_order_tailXglobal_2X +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail(Scope.global, 2) + """ +When iterated to list +Then the result should be ordered + | result | + | ripple | + | vadas | + + Scenario: g_V_valuesXnameX_order_tailX2X +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail(2) + """ +When iterated to list +Then the result should be ordered + | result | + | ripple | + | vadas | + + Scenario: g_V_valuesXnameX_order_tail +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail() + """ +When iterated to list +Then the result should be ordered + | result | + | vadas | + + Scenario: g_V_valuesXnameX_order_tailX7X +Given the modern graph +And the traversal of + """ + g.V().values("name").order().tail(7) + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop| +
[10/50] tinkerpop git commit: TINKERPOP-1784 Disabled coverage test for features
TINKERPOP-1784 Disabled coverage test for features No point to enabling at this time since all tests aren't really targetted for migration with this initial body of work. It will be turned on later when all test are intended for migration. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7896264e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7896264e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7896264e Branch: refs/heads/tp32 Commit: 7896264edf6a3ea94a2f7ae396da1f1db152311e Parents: 3b54267 Author: Stephen MalletteAuthored: Fri Nov 10 11:24:47 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7896264e/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index dba865b..cc6e9bd 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -35,6 +35,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateT import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.InjectTest; import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.StoreTest; +import org.junit.Ignore; import org.junit.Test; import java.io.BufferedReader; @@ -65,6 +66,7 @@ public class FeatureCoverageTest { private static Pattern scenarioName = Pattern.compile("^\\s*Scenario:\\s*(.*)$"); @Test +@Ignore("As it stands we won't have all of these tests migrated initially so there is no point to running this in full - it can be flipped on later") public void shouldImplementAllProcessTestsAsFeatures() throws Exception { // TEMPORARY while test framework is under development - all tests should ultimately be included
[27/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for order()
TINKERPOP-1784 Added feature tests for order() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5045a56c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5045a56c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5045a56c Branch: refs/heads/master Commit: 5045a56c208b5e069dedeb330ab6bef092419880 Parents: 754b7f5 Author: Stephen MalletteAuthored: Fri Nov 10 14:15:28 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Order.feature | 132 +++ 1 file changed, 132 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5045a56c/gremlin-test/features/map/Order.feature -- diff --git a/gremlin-test/features/map/Order.feature b/gremlin-test/features/map/Order.feature new file mode 100644 index 000..9005465 --- /dev/null +++ b/gremlin-test/features/map/Order.feature @@ -0,0 +1,132 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - order() + + Scenario: g_V_name_order +Given the modern graph +And the traversal of + """ + g.V().values("name").order() + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop | + | marko | + | peter | + | ripple | + | vadas | + + Scenario: g_V_name_order_byXa1_b1X_byXb2_a2X +Given the modern graph +And using the parameter l1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]" +And using the parameter l2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]" +And the traversal of + """ + g.V().values("name").order().by(l1).by(l2) + """ +When iterated to list +Then the result should be ordered + | result | + | marko | + | vadas | + | peter | + | ripple | + | josh | + | lop| + + Scenario: g_V_order_byXname_incrX_name +Given the modern graph +And the traversal of + """ + g.V().order().by("name", Order.incr).values("name") + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop | + | marko | + | peter | + | ripple | + | vadas | + + Scenario: g_V_order_byXnameX_name +Given the modern graph +And the traversal of + """ + g.V().order().by("name").values("name") + """ +When iterated to list +Then the result should be ordered + | result | + | josh | + | lop | + | marko | + | peter | + | ripple | + | vadas | + + Scenario: g_V_outE_order_byXweight_decrX_weight +Given the modern graph +And the traversal of + """ + g.V().outE().order().by("weight", Order.decr).values("weight") + """ +When iterated to list +Then the result should be ordered + | result | + | d[1.0] | + | d[1.0] | + | d[0.5] | + | d[0.4] | + | d[0.4] | + | d[0.2] | + + Scenario: g_V_order_byXname_a1_b1X_byXname_b2_a2X_name +Given the modern graph +And using the parameter l1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]" +And using the parameter l2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]" +And the traversal of + """ + g.V().order().by("name", l1).by("name", l2).values("name") + """ +When iterated to list +Then the result should be ordered + | result | + | marko | + | vadas | + | peter | + | ripple | + | josh | + | lop| + + Scenario: g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX +Given the modern graph +And the traversal of + """ + g.V().as("a").out("created").as("b").order().by(Order.shuffle).select("a", "b") + """ +When iterated to list +Then the result should be unordered + |
[16/50] tinkerpop git commit: TINKERPOP-1784 Added repeat() feature tests
TINKERPOP-1784 Added repeat() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/401a44fc Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/401a44fc Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/401a44fc Branch: refs/heads/master Commit: 401a44fc95c628cccbdd6b47c604488561a13bd8 Parents: f784e71 Author: Stephen MalletteAuthored: Mon Oct 23 13:50:37 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/branch/Repeat.feature | 217 +++ 1 file changed, 217 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/401a44fc/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature new file mode 100644 index 000..e6049b5 --- /dev/null +++ b/gremlin-test/features/branch/Repeat.feature @@ -0,0 +1,217 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - repeat() + + Scenario: g_V_repeatXoutX_timesX2X_emit_path +Given the modern graph +And the traversal of + """ + g.V().repeat(__.out()).times(2).emit().path() + """ +When iterated to list +Then the result should be unordered + | p[v[marko],v[lop]] | + | p[v[marko],v[vadas]] | + | p[v[marko],v[josh]] | + | p[v[marko],v[josh],v[ripple]] | + | p[v[marko],v[josh],v[lop]] | + | p[v[josh],v[ripple]] | + | p[v[josh],v[lop]] | + | p[v[peter],v[lop]] | + + Scenario: g_V_repeatXoutX_timesX2X_repeatXinX_timesX2X_name +Given the modern graph +And the traversal of + """ + g.V().repeat(__.out()).times(2).repeat(__.in()).times(2).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | marko | + + Scenario: g_V_repeatXoutX_timesX2X +Given the modern graph +And the traversal of + """ + g.V().repeat(__.out()).times(2) + """ +When iterated to list +Then the result should be unordered + | v[ripple] | + | v[lop] | + + Scenario: g_V_repeatXoutX_timesX2X_emit +Given the modern graph +And the traversal of + """ + g.V().repeat(__.out()).times(2).emit() + """ +When iterated to list +Then the result should be of + | v[ripple] | + | v[lop] | + | v[josh] | + | v[vadas] | +And only have a result count of 8 + + Scenario: g_VX1X_timesX2X_repeatXoutX_name +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).times(2).repeat(__.out()).values("name") + """ +When iterated to list +Then the result should be unordered + | ripple | + | lop | + + Scenario: g_V_emit_timesX2X_repeatXoutX_path +Given the modern graph +And the traversal of + """ + g.V().emit().times(2).repeat(__.out()).path() + """ +When iterated to list +Then the result should be unordered + | p[v[marko]] | + | p[v[marko],v[lop]] | + | p[v[marko],v[vadas]] | + | p[v[marko],v[josh]] | + | p[v[marko],v[josh],v[ripple]] | + | p[v[marko],v[josh],v[lop]] | + | p[v[vadas]] | + | p[v[lop]] | + | p[v[josh]] | + | p[v[josh],v[ripple]] | + | p[v[josh],v[lop]] | + | p[v[ripple]] | + | p[v[peter]] | + | p[v[peter],v[lop]] | + + Scenario: g_V_emit_repeatXoutX_timesX2X_path +Given the modern graph +And the traversal of + """ + g.V().emit().repeat(__.out()).times(2).path() + """ +When iterated to list +Then the result should be unordered + | p[v[marko]] | + | p[v[marko],v[lop]] | + | p[v[marko],v[vadas]] | + | p[v[marko],v[josh]] | + | p[v[marko],v[josh],v[ripple]] | + | p[v[marko],v[josh],v[lop]] | + | p[v[vadas]] | + | p[v[lop]] | +
[16/50] tinkerpop git commit: TINKERPOP-1784 Added local() feature tests
TINKERPOP-1784 Added local() feature tests Had to add a way to assert a results that matched any in a set as limit() type steps might force different results depending on the graph being tested. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c45bac78 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c45bac78 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c45bac78 Branch: refs/heads/tp32 Commit: c45bac7890f5bd06d94726c6da15801b8c14d596 Parents: 77d59dd Author: Stephen MalletteAuthored: Mon Oct 23 10:00:34 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 23 ++- gremlin-test/features/branch/Local.feature | 172 +++ 2 files changed, 191 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index f58f0da..2d2ae8d 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -34,7 +34,9 @@ regex_not = re.compile(r"([(.,\s])not\(") regex_or = re.compile(r"([(.,\s])or\(") -ignores = ["g.V(v1Id).out().inject(v2).values(\"name\")"] +ignores = [ +"g.V(v1Id).out().inject(v2).values(\"name\")" # bug in attachment won't connect v2 + ] @given("the {graph_name:w} graph") @@ -89,12 +91,14 @@ def assert_result(step, characterized_as): if step.context.ignore: return -if characterized_as == "empty": +if characterized_as == "empty":# no results assert_that(len(step.context.result), equal_to(0)) -elif characterized_as == "ordered": +elif characterized_as == "ordered":# results asserted in the order of the data table _table_assertion(step.table, step.context.result, step.context, True) -elif characterized_as == "unordered": +elif characterized_as == "unordered": # results asserted in any order _table_assertion(step.table, step.context.result, step.context, False) +elif characterized_as == "of": # results may be of any of the specified items in the data table +_any_assertion(step.table, step.context.result, step.context) else: raise ValueError("unknown data characterization of " + characterized_as) @@ -108,6 +112,11 @@ def assert_side_effects(step, count, traversal_string): assert_that(count, equal_to(t.count().next())) +@then("only have a result count of {count:d}") +def assert_count(step, count): +assert_that(count, equal_to(len(step.context.result))) + + @then("nothing should happen because") def nothing_happening(step): return @@ -158,6 +167,12 @@ def _convert_results(val): return val +def _any_assertion(data, result, ctx): +converted = [_convert(line[0], ctx) for line in data] +for r in result: +assert_that(r, is_in(converted)) + + def _table_assertion(data, result, ctx, ordered): # results from traversal should have the same number of entries as the feature data table assert_that(len(result), equal_to(len(data))) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature new file mode 100644 index 000..53ae3ab --- /dev/null +++ b/gremlin-test/features/branch/Local.feature @@ -0,0 +1,172 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contriAndor license agreements. See the NOTICE file +# distriAnded with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distriAnded under the License is distriAnded on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - local() + + Scenario: g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value +Given the crew graph +And the traversal of + """ +
[19/50] tinkerpop git commit: TINKERPOP-1784 Added dedup() feature tests
TINKERPOP-1784 Added dedup() feature tests Reworked test language for asserting counts so that it works better as a standalone assertion. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a5d99774 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a5d99774 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a5d99774 Branch: refs/heads/tp32 Commit: a5d99774e2f6b8dbe312062e99380b5a80873816 Parents: a9af53f Author: Stephen MalletteAuthored: Tue Oct 24 11:37:18 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 2 +- gremlin-test/features/branch/Local.feature | 12 +- gremlin-test/features/branch/Repeat.feature | 2 +- gremlin-test/features/filter/Dedup.feature | 222 +++ 4 files changed, 230 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 2d2ae8d..14a0153 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -112,7 +112,7 @@ def assert_side_effects(step, count, traversal_string): assert_that(count, equal_to(t.count().next())) -@then("only have a result count of {count:d}") +@then("should have a result count of {count:d}") def assert_count(step, count): assert_that(count, equal_to(len(step.context.result))) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature index 53ae3ab..fa12d8c 100644 --- a/gremlin-test/features/branch/Local.feature +++ b/gremlin-test/features/branch/Local.feature @@ -73,7 +73,7 @@ Feature: Step - local() Then the result should be of | vadas | | josh | -And only have a result count of 1 +And should have a result count of 1 Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name Given the modern graph @@ -88,7 +88,7 @@ Feature: Step - local() | ripple | | josh | | peter | -And only have a result count of 5 +And should have a result count of 5 Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX Given the modern graph @@ -101,7 +101,7 @@ Feature: Step - local() Then the result should be of | e[josh-created->lop]| | e[josh-created->ripple] | -And only have a result count of 1 +And should have a result count of 1 Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX Given the modern graph @@ -115,7 +115,7 @@ Feature: Step - local() | e[marko-knows->josh]| | e[josh-created->lop]| | e[josh-created->ripple] | -And only have a result count of 1 +And should have a result count of 1 Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name Given the modern graph @@ -129,7 +129,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And only have a result count of 1 +And should have a result count of 1 Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name Given the modern graph @@ -143,7 +143,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And only have a result count of 2 +And should have a result count of 2 Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature index e6049b5..6d97fc0 100644 --- a/gremlin-test/features/branch/Repeat.feature +++ b/gremlin-test/features/branch/Repeat.feature @@ -68,7 +68,7 @@ Feature: Step - repeat() | v[lop] | | v[josh] | | v[vadas] | -And only have a result count of 8 +And should have a result count of 8 Scenario: g_VX1X_timesX2X_repeatXoutX_name Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/filter/Dedup.feature -- diff --git a/gremlin-test/features/filter/Dedup.feature b/gremlin-test/features/filter/Dedup.feature new file mode 100644 index
[13/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for AddEdge
TINKERPOP-1784 Added feature tests for AddEdge Minor refactoring to test language around result counts Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3a294df1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3a294df1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3a294df1 Branch: refs/heads/tp32 Commit: 3a294df142d7608eb8814542d6f9b9e7d24aa986 Parents: c3a3848 Author: Stephen MalletteAuthored: Wed Nov 1 15:36:23 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 7 +- gremlin-test/features/branch/Local.feature | 12 +- gremlin-test/features/branch/Repeat.feature | 2 +- gremlin-test/features/filter/Dedup.feature | 2 +- gremlin-test/features/filter/Range.feature | 14 +- gremlin-test/features/filter/Sample.feature | 6 +- gremlin-test/features/map/AddEdge.feature | 307 +++ gremlin-test/features/sideEffect/Group.feature | 4 +- 8 files changed, 331 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a294df1/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index b8b31ce..b7050e9 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -108,13 +108,14 @@ def assert_side_effects(step, count, traversal_string): if step.context.ignore: return -t = _make_traversal(step.context.g, traversal_string, {}) +t = _make_traversal(step.context.g, traversal_string.replace('\\"', '"'), +step.context.traversal_params if hasattr(step.context, "traversal_params") else {}) assert_that(count, equal_to(t.count().next())) -@then("should have a result count of {count:d}") +@then("the result should have a count of {count:d}") def assert_count(step, count): -assert_that(count, equal_to(len(step.context.result))) +assert_that(len(step.context.result), equal_to(count)) @then("nothing should happen because") http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a294df1/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature index 4b33d62..fbc0dec 100644 --- a/gremlin-test/features/branch/Local.feature +++ b/gremlin-test/features/branch/Local.feature @@ -77,7 +77,7 @@ Feature: Step - local() | result | | vadas | | josh | -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name Given the modern graph @@ -93,7 +93,7 @@ Feature: Step - local() | ripple | | josh | | peter | -And should have a result count of 5 +And the result should have a count of 5 Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX Given the modern graph @@ -107,7 +107,7 @@ Feature: Step - local() | result | | e[josh-created->lop]| | e[josh-created->ripple] | -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX Given the modern graph @@ -122,7 +122,7 @@ Feature: Step - local() | e[marko-knows->josh]| | e[josh-created->lop]| | e[josh-created->ripple] | -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name Given the modern graph @@ -137,7 +137,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name Given the modern graph @@ -152,7 +152,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And should have a result count of 2 +And the result should have a count of 2 Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a294df1/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature index 082a3c6..1a76452 100644 --- a/gremlin-test/features/branch/Repeat.feature +++
[38/50] tinkerpop git commit: TINKERPOP-1784 Removed duplicate entry from bad merge in changelog
TINKERPOP-1784 Removed duplicate entry from bad merge in changelog Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/33258993 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/33258993 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/33258993 Branch: refs/heads/master Commit: 33258993494225f61697fc8fe58d3b54d59766f8 Parents: 2b24f58 Author: Stephen MalletteAuthored: Fri Nov 10 20:13:12 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- CHANGELOG.asciidoc | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33258993/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index cb2779a..d722066 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -30,7 +30,6 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`. * Added test framework for GLVs. -* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.
[26/50] tinkerpop git commit: TINKERPOP-1784 Renamed loops() feature test to match the step name
TINKERPOP-1784 Renamed loops() feature test to match the step name Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/26779e19 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/26779e19 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/26779e19 Branch: refs/heads/master Commit: 26779e1904d24db9702c9a4b98f5107b930bf49f Parents: 9910519 Author: Stephen MalletteAuthored: Fri Nov 10 12:56:34 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Loop.feature | 68 gremlin-test/features/map/Loops.feature | 68 2 files changed, 68 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loop.feature -- diff --git a/gremlin-test/features/map/Loop.feature b/gremlin-test/features/map/Loop.feature deleted file mode 100644 index efd439f..000 --- a/gremlin-test/features/map/Loop.feature +++ /dev/null @@ -1,68 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -Feature: Step - loop() - - Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX -Given the modern graph -And using the parameter v1Id defined as "v[marko].id" -And the traversal of - """ - g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name") - """ -When iterated to list -Then the result should be unordered - | result | - | p[marko,lop,peter] | - | p[marko,josh,lop,peter] | - - Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX -Given the modern graph -And using the parameter v1Id defined as "v[marko].id" -And the traversal of - """ - g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name") - """ -When iterated to list -Then the result should be unordered - | result | - | p[marko,lop,peter] | - - Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX -Given the modern graph -And using the parameter v1Id defined as "v[marko].id" -And the traversal of - """ - g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name") - """ -When iterated to list -Then the result should be unordered - | result | - | p[marko,josh,lop,peter] | - - Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX -Given the modern graph -And the traversal of - """ - g.V().emit(__.has("name", "marko").or().loops().is(2)).repeat(__.out()).values("name") - """ -When iterated to list -Then the result should be unordered - | result | - | marko | - | ripple | - | lop | http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loops.feature -- diff --git a/gremlin-test/features/map/Loops.feature b/gremlin-test/features/map/Loops.feature new file mode 100644 index 000..b8a70ae --- /dev/null +++ b/gremlin-test/features/map/Loops.feature @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless
[04/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for loop() and map()
TINKERPOP-1784 Added feature tests for loop() and map() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8f0b8f7a Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8f0b8f7a Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8f0b8f7a Branch: refs/heads/tp32 Commit: 8f0b8f7a7c4455f92cd1384720262f068c8f8be6 Parents: 75d1e27 Author: Stephen MalletteAuthored: Thu Nov 2 11:59:10 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Loop.feature | 68 ++ gremlin-test/features/map/Map.feature | 108 2 files changed, 176 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Loop.feature -- diff --git a/gremlin-test/features/map/Loop.feature b/gremlin-test/features/map/Loop.feature new file mode 100644 index 000..efd439f --- /dev/null +++ b/gremlin-test/features/map/Loop.feature @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - loop() + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,lop,peter] | + | p[marko,josh,lop,peter] | + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,lop,peter] | + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,josh,lop,peter] | + + Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX +Given the modern graph +And the traversal of + """ + g.V().emit(__.has("name", "marko").or().loops().is(2)).repeat(__.out()).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | ripple | + | lop | http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Map.feature -- diff --git a/gremlin-test/features/map/Map.feature b/gremlin-test/features/map/Map.feature new file mode 100644 index 000..573b404 --- /dev/null +++ b/gremlin-test/features/map/Map.feature @@ -0,0 +1,108 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing,
[06/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for coalesce()
TINKERPOP-1784 Added feature tests for coalesce() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e9ee40ff Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e9ee40ff Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e9ee40ff Branch: refs/heads/tp32 Commit: e9ee40ff808253ad52655c3533ca9e81c97a73ea Parents: 3a294df Author: Stephen MalletteAuthored: Thu Nov 2 07:52:49 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Coalesce.feature | 78 + 1 file changed, 78 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9ee40ff/gremlin-test/features/map/Coalesce.feature -- diff --git a/gremlin-test/features/map/Coalesce.feature b/gremlin-test/features/map/Coalesce.feature new file mode 100644 index 000..f7786ff --- /dev/null +++ b/gremlin-test/features/map/Coalesce.feature @@ -0,0 +1,78 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - coalesce() + + Scenario: g_V_coalesceXoutXfooX_outXbarXX +Given the modern graph +And the traversal of + """ + g.V().coalesce(__.out("foo"), __.out("bar")) + """ +When iterated to list +Then the result should be empty + + Scenario: g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).coalesce(__.out("knows"), __.out("created")).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | vadas | + | josh | + + Scenario: g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).coalesce(__.out("created"), __.out("knows")).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | lop | + + Scenario: g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX +Given the modern graph +And the traversal of + """ + g.V().coalesce(__.out("likes"), __.out("knows"), __.out("created")).groupCount().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":1, "vadas":1, "josh":1, "lop":2}] | + + Scenario: g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX +Given the modern graph +And the traversal of + """ + g.V().coalesce(__.outE("knows"), __.outE("created")).otherV().path().by("name").by(T.label) + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,knows,vadas] | + | p[marko,knows,josh] | + | p[josh,created,ripple] | + | p[josh,created,lop] | + | p[peter,created,lop] |
[33/50] tinkerpop git commit: TINKERPOP-1784 Added sum() feature tests
TINKERPOP-1784 Added sum() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5dd6a240 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5dd6a240 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5dd6a240 Branch: refs/heads/master Commit: 5dd6a240b30c29cd2d2d4625a0415159b191818f Parents: 447e57c Author: Stephen MalletteAuthored: Fri Nov 10 14:36:03 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Sum.feature | 40 ++ 1 file changed, 40 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5dd6a240/gremlin-test/features/map/Sum.feature -- diff --git a/gremlin-test/features/map/Sum.feature b/gremlin-test/features/map/Sum.feature new file mode 100644 index 000..35571fa --- /dev/null +++ b/gremlin-test/features/map/Sum.feature @@ -0,0 +1,40 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sum() + + Scenario: g_V_valuesXageX_sum +Given the modern graph +And the traversal of + """ + g.V().values("age").sum() + """ +When iterated to list +Then the result should be unordered + | result | + | d[123] | + + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").sum()) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":1.0,"lop":1.0}] | \ No newline at end of file
[03/50] tinkerpop git commit: TINKERPOP-1784 Added tests for project()
TINKERPOP-1784 Added tests for project() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8437c18f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8437c18f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8437c18f Branch: refs/heads/tp32 Commit: 8437c18f9d0845c08106a02f1c3ee07b7b149240 Parents: e0cb76e Author: Stephen MalletteAuthored: Fri Oct 20 13:29:41 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:51 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 1 - gremlin-test/features/map/Project.feature | 53 .../gremlin/process/FeatureCoverageTest.java| 2 + 3 files changed, 55 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8437c18f/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 0d71f78..f58f0da 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -76,7 +76,6 @@ def translate_traversal(step): @when("iterated to list") def iterate_the_traversal(step): -print str(step.context.traversal.bytecode) step.context.result = map(lambda x: _convert_results(x), step.context.traversal.toList()) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8437c18f/gremlin-test/features/map/Project.feature -- diff --git a/gremlin-test/features/map/Project.feature b/gremlin-test/features/map/Project.feature new file mode 100644 index 000..3d8b9cc --- /dev/null +++ b/gremlin-test/features/map/Project.feature @@ -0,0 +1,53 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - project() + + Scenario: g_V_hasLabelXpersonX_projectXa_bX_byXoutE_countX_byXageX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("person"). +project("a", "b"). + by(__.outE().count()). + by("age") + """ +When iterated to list +Then the result should be unordered + | m[{"a":3, "b":29}] | + | m[{"a":0, "b":27}] | + | m[{"a":2, "b":32}] | + | m[{"a":1, "b":35}] | + + Scenario: g_V_outXcreatedX_projectXa_bX_byXnameX_byXinXcreatedX_countX_order_byXselectXbX__decrX_selectXaX +Given the modern graph +And the traversal of + """ + g.V().out("created"). +project("a", "b"). + by("name"). + by(__.in("created").count()). +order(). + by(__.select("b"), Order.decr). +select("a") + """ +When iterated to list +Then the result should be unordered + | lop | + | lop | + | lop | + | ripple | \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8437c18f/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index 09344b4..eb62f77 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -26,6 +26,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest; +import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest; import
[41/50] tinkerpop git commit: TINKERPOP-1784 Added validation for traversalSource alias
TINKERPOP-1784 Added validation for traversalSource alias Ensures that a RemoteConnection in .NET is properly initialized. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a3c981f1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a3c981f1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a3c981f1 Branch: refs/heads/master Commit: a3c981f1c6ae1bc272255d87cc36df36833eac4e Parents: 5767544 Author: Stephen MalletteAuthored: Mon Nov 13 07:52:42 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- .../src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a3c981f1/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs -- diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs index 80bd100..8cbd43d 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs @@ -56,7 +56,7 @@ namespace Gremlin.Net.Driver.Remote public DriverRemoteConnection(IGremlinClient client, string traversalSource) { _client = client ?? throw new ArgumentNullException(nameof(client)); -_traversalSource = traversalSource; +_traversalSource = traversalSource ?? throw new ArgumentNullException(nameof(traversalSource)); } ///
[31/50] tinkerpop git commit: TINKERPOP-1784 Added unfold() feature tests
TINKERPOP-1784 Added unfold() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4a5b87c5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4a5b87c5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4a5b87c5 Branch: refs/heads/master Commit: 4a5b87c5eaf74a114182dc7aa2cb6ced1944571b Parents: 5dd6a24 Author: Stephen MalletteAuthored: Fri Nov 10 14:50:32 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Unfold.feature | 76 +++ 1 file changed, 76 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4a5b87c5/gremlin-test/features/map/Unfold.feature -- diff --git a/gremlin-test/features/map/Unfold.feature b/gremlin-test/features/map/Unfold.feature new file mode 100644 index 000..3a20d08 --- /dev/null +++ b/gremlin-test/features/map/Unfold.feature @@ -0,0 +1,76 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - unfold() + + Scenario: g_V_localXoutE_foldX_unfold +Given the modern graph +And the traversal of + """ + g.V().local(__.outE().fold()).unfold() + """ +When iterated to list +Then the result should be unordered + | result | + | e[marko-created->lop] | + | e[marko-knows->vadas] | + | e[marko-knows->josh] | + | e[josh-created->ripple] | + | e[josh-created->lop] | + | e[peter-created->lop] | + + Scenario: g_V_valueMap_unfold_mapXkeyX +Given the modern graph +And using the parameter l defined as "c[it.get().getKey()]" +And the traversal of + """ + g.V().valueMap().unfold().map(l) + """ +When iterated to list +Then the result should be unordered + | result | + | name | + | age| + | name | + | age| + | name | + | lang | + | lang | + | name | + | age| + | name | + | name | + | age| + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And using the parameter v6Id defined as "v[peter].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.hasId(v6Id)).path().by("name").unfold() + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | lop | + | peter | + | marko | + | josh | + | lop | + | peter | \ No newline at end of file
[10/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for filter()
TINKERPOP-1784 Added feature tests for filter() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/77d59ddf Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/77d59ddf Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/77d59ddf Branch: refs/heads/master Commit: 77d59ddf9c323842872c875445e35952210784ca Parents: bd3868b Author: Stephen MalletteAuthored: Fri Oct 20 15:13:06 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/Filter.feature | 106 +++ .../gremlin/process/FeatureCoverageTest.java| 2 + 2 files changed, 108 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/gremlin-test/features/filter/Filter.feature -- diff --git a/gremlin-test/features/filter/Filter.feature b/gremlin-test/features/filter/Filter.feature new file mode 100644 index 000..05e7cea --- /dev/null +++ b/gremlin-test/features/filter/Filter.feature @@ -0,0 +1,106 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - filter() + + Scenario: g_V_filterXfalseX +Given the modern graph +And using the parameter l1 defined as "c[false]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be empty + + Scenario: g_V_filterXtrueX +Given the modern graph +And using the parameter l1 defined as "c[true]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + Scenario: g_V_filterXlang_eq_javaX +Given the modern graph +And using the parameter l1 defined as "c[it.get().property('lang').orElse('none').equals('java')]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[ripple] | + | v[lop] | + + Scenario: g_VX1X_out_filterXage_gt_30X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And using the parameter l1 defined as "c[it.get().property('age').orElse(0) > 30]" +And the traversal of + """ + g.V(v1Id).out().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[josh] | + + Scenario: g_V_filterXname_startsWith_m_OR_name_startsWith_pX +Given the modern graph +And using the parameter l1 defined as "c[{name = it.get().value('name'); name.startsWith('m') || name.startsWith('p')}]" +And the traversal of + """ + g.V().filter(l1) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[peter] | + + Scenario: g_E_filterXfalseX +Given the modern graph +And using the parameter l1 defined as "c[false]" +And the traversal of + """ + g.E().filter(l1) + """ +When iterated to list +Then the result should be empty + + Scenario: g_E_filterXtrueX +Given the modern graph +And using the parameter l1 defined as "c[true]" +And the traversal of + """ + g.E().filter(l1) + """ +When iterated to list +Then the result should be unordered + | e[marko-created->lop] | + | e[marko-knows->josh] | + | e[marko-knows->vadas] | + | e[peter-created->lop] | + | e[josh-created->lop] | + | e[josh-created->ripple] | \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
[11/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for cyclicPath()
TINKERPOP-1784 Added feature tests for cyclicPath() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a9af53ff Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a9af53ff Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a9af53ff Branch: refs/heads/master Commit: a9af53ffa88432a5adefaf93e8df8158151a186f Parents: d977d6a Author: Stephen MalletteAuthored: Tue Oct 24 10:24:40 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/CyclicPath.feature | 50 1 file changed, 50 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a9af53ff/gremlin-test/features/filter/CyclicPath.feature -- diff --git a/gremlin-test/features/filter/CyclicPath.feature b/gremlin-test/features/filter/CyclicPath.feature new file mode 100644 index 000..d07e4ad --- /dev/null +++ b/gremlin-test/features/filter/CyclicPath.feature @@ -0,0 +1,50 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - cyclicPath() + + Scenario: g_VX1X_outXcreatedX_inXcreatedX_cyclicPath +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").in("created").cyclicPath() + """ +When iterated to list +Then the result should be unordered + | v[marko] | + + Scenario: g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").in("created").cyclicPath().path() + """ +When iterated to list +Then the result should be unordered + | p[v[marko],v[lop],v[marko]] | + + Scenario: g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).as("a").out("created").as("b").in("created").as("c").cyclicPath().from("a").to("b").path() + """ +When iterated to list +Then the result should be empty
[37/50] tinkerpop git commit: TINKERPOP-1784 Added aliasing to .NET driver
TINKERPOP-1784 Added aliasing to .NET driver Tests were failing as a result of the change to using the mix server configuration that had all the graphs. On the way to dealing with that, I noticed the driver didn't seem to have aliasing capability which prevented it from choosing the correct graph traversal source on the server. For some reason, asserting longs on ids seemed to be a problem as well after this change and I'm pretty sure it has something to do with the configuration of the TinkerGraph in this new mixed mode configuration and not something in serialization. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/314ab67b Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/314ab67b Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/314ab67b Branch: refs/heads/master Commit: 314ab67b6bff2c33e7d1e0fb93cffd62d638707a Parents: 3325899 Author: Stephen MalletteAuthored: Sat Nov 11 06:17:19 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- .../Driver/Remote/DriverRemoteConnection.cs | 16 ++-- .../DriverRemoteConnection/GraphTraversalTests.cs | 8 .../RemoteConnectionFactory.cs | 8 +++- gremlin-dotnet/test/pom.xml | 6 +- 4 files changed, 30 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/314ab67b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs -- diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs index 0a8b93f..80bd100 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs @@ -36,15 +36,27 @@ namespace Gremlin.Net.Driver.Remote public class DriverRemoteConnection : IRemoteConnection, IDisposable { private readonly IGremlinClient _client; +private readonly string _traversalSource; /// /// Initializes a new . /// /// The that will be used for the connection. /// Thrown when client is null. -public DriverRemoteConnection(IGremlinClient client) +public DriverRemoteConnection(IGremlinClient client):this(client, "g") +{ +} + +/// +/// Initializes a new . +/// +/// The that will be used for the connection. +/// The name of the traversal source on the server to bind to. +/// Thrown when client is null. +public DriverRemoteConnection(IGremlinClient client, string traversalSource) { _client = client ?? throw new ArgumentNullException(nameof(client)); +_traversalSource = traversalSource; } /// @@ -66,7 +78,7 @@ namespace Gremlin.Net.Driver.Remote .Processor(Tokens.ProcessorTraversal) .OverrideRequestId(requestid) .AddArgument(Tokens.ArgsGremlin, bytecode) -.AddArgument(Tokens.ArgsAliases, new Dictionary {{"g", "g"}}) +.AddArgument(Tokens.ArgsAliases, new Dictionary {{"g", _traversalSource}}) .Create(); return await _client.SubmitAsync(requestMsg).ConfigureAwait(false); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/314ab67b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs -- 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 84a44a7..d9c47f1 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 @@ -55,8 +55,8 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection var vertex = g.V(1).Next(); -Assert.Equal(new Vertex((long) 1), vertex); -Assert.Equal((long) 1, vertex.Id); +Assert.Equal(new Vertex(1), vertex); +Assert.Equal(1, vertex.Id); } [Fact] @@ -68,7 +68,7 @@ namespace
[05/50] tinkerpop git commit: TINKERPOP-1784 Added flatMap()/fold() feature tests
TINKERPOP-1784 Added flatMap()/fold() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/78fd4fdc Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/78fd4fdc Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/78fd4fdc Branch: refs/heads/master Commit: 78fd4fdc8f177ecab960f7d5c94aa6374606cd61 Parents: e9ee40f Author: Stephen MalletteAuthored: Thu Nov 2 08:11:48 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 3 +- gremlin-test/features/map/FlatMap.feature | 35 gremlin-test/features/map/Fold.feature | 57 3 files changed, 94 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index b7050e9..dae6361a 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -21,7 +21,7 @@ import json import re from gremlin_python.structure.graph import Graph, Path from gremlin_python.process.graph_traversal import __ -from gremlin_python.process.traversal import P, Scope, Column, Order, Direction, T, Pick +from gremlin_python.process.traversal import P, Scope, Column, Order, Direction, T, Pick, Operator from radish import given, when, then from hamcrest import * @@ -218,6 +218,7 @@ def _make_traversal(g, traversal_string, params): "P": P, "Pick": Pick, "Scope": Scope, + "Operator": Operator, "T": T} b.update(params) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/FlatMap.feature -- diff --git a/gremlin-test/features/map/FlatMap.feature b/gremlin-test/features/map/FlatMap.feature new file mode 100644 index 000..7384ee3 --- /dev/null +++ b/gremlin-test/features/map/FlatMap.feature @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - flatMap() + + Scenario: g_V_asXaX_flatMapXselectXaXX +Given the modern graph +And the traversal of + """ + g.V().as("a").flatMap(__.select("a")) + """ +When iterated to list +Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/Fold.feature -- diff --git a/gremlin-test/features/map/Fold.feature b/gremlin-test/features/map/Fold.feature new file mode 100644 index 000..1c71b27 --- /dev/null +++ b/gremlin-test/features/map/Fold.feature @@ -0,0 +1,57 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - fold() + + Scenario: g_V_fold +Given the modern graph +And the traversal of + """ +
[18/50] tinkerpop git commit: TINKERPOP-1784 Add union() feature tests
TINKERPOP-1784 Add union() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f784e719 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f784e719 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f784e719 Branch: refs/heads/tp32 Commit: f784e71988183852cdef8713fa66b84f3e332a28 Parents: c45bac7 Author: Stephen MalletteAuthored: Mon Oct 23 10:58:36 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/branch/Union.feature | 133 1 file changed, 133 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f784e719/gremlin-test/features/branch/Union.feature -- diff --git a/gremlin-test/features/branch/Union.feature b/gremlin-test/features/branch/Union.feature new file mode 100644 index 000..938f51a --- /dev/null +++ b/gremlin-test/features/branch/Union.feature @@ -0,0 +1,133 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - union() + + Scenario: g_V_unionXout__inX_name +Given the modern graph +And the traversal of + """ + g.V().union(__.out(), __.in()).values("name") + """ +When iterated to list +Then the result should be unordered + | lop | + | vadas | + | josh | + | marko | + | marko | + | josh | + | peter | + | ripple | + | lop | + | marko | + | josh | + | lop | + + Scenario: g_VX1X_unionXrepeatXoutX_timesX2X__outX_name +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).union(__.repeat(__.out()).times(2), __.out()).values("name") + """ +When iterated to list +Then the result should be unordered + | ripple | + | lop | + | lop | + | vadas | + | josh | + + Scenario: g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX +Given the modern graph +And the traversal of + """ + g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), __.out().values("name")), __.in().label()) + """ +When iterated to list +Then the result should be unordered + | java | + | lop| + | vadas | + | josh | + | person | + | person | + | person | + | java | + | java | + | ripple | + | lop| + | person | + | java | + | lop| + + Scenario: g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount +Given the modern graph +And the traversal of + """ + g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), __.out().values("name")), __.in().label()).groupCount() + """ +When iterated to list +Then the result should be unordered + | m[{"java":4,"ripple":1,"person":4,"vadas":1,"josh":1,"lop":3}] | + + Scenario: g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount +Given the modern graph +And the traversal of + """ + g.V().union(__.repeat(__.union( +__.out("created"), +__.in("created"))).times(2), + __.repeat(__.union( +__.in("created"), +__.out("created"))).times(2)).label().groupCount() + """ +When iterated to list +Then the result should be unordered + | m[{"software":12,"person":20}] | + + Scenario: g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And using the parameter v2Id defined as "v[vadas].id" +And the traversal of + """ + g.V(v1Id, v2Id).union(__.outE().count(), __.inE().count(), __.outE().values("weight").sum()) + """ +When
[15/50] tinkerpop git commit: TINKERPOP-1784 Add union() feature tests
TINKERPOP-1784 Add union() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f784e719 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f784e719 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f784e719 Branch: refs/heads/master Commit: f784e71988183852cdef8713fa66b84f3e332a28 Parents: c45bac7 Author: Stephen MalletteAuthored: Mon Oct 23 10:58:36 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/branch/Union.feature | 133 1 file changed, 133 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f784e719/gremlin-test/features/branch/Union.feature -- diff --git a/gremlin-test/features/branch/Union.feature b/gremlin-test/features/branch/Union.feature new file mode 100644 index 000..938f51a --- /dev/null +++ b/gremlin-test/features/branch/Union.feature @@ -0,0 +1,133 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - union() + + Scenario: g_V_unionXout__inX_name +Given the modern graph +And the traversal of + """ + g.V().union(__.out(), __.in()).values("name") + """ +When iterated to list +Then the result should be unordered + | lop | + | vadas | + | josh | + | marko | + | marko | + | josh | + | peter | + | ripple | + | lop | + | marko | + | josh | + | lop | + + Scenario: g_VX1X_unionXrepeatXoutX_timesX2X__outX_name +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).union(__.repeat(__.out()).times(2), __.out()).values("name") + """ +When iterated to list +Then the result should be unordered + | ripple | + | lop | + | lop | + | vadas | + | josh | + + Scenario: g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX +Given the modern graph +And the traversal of + """ + g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), __.out().values("name")), __.in().label()) + """ +When iterated to list +Then the result should be unordered + | java | + | lop| + | vadas | + | josh | + | person | + | person | + | person | + | java | + | java | + | ripple | + | lop| + | person | + | java | + | lop| + + Scenario: g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount +Given the modern graph +And the traversal of + """ + g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), __.out().values("name")), __.in().label()).groupCount() + """ +When iterated to list +Then the result should be unordered + | m[{"java":4,"ripple":1,"person":4,"vadas":1,"josh":1,"lop":3}] | + + Scenario: g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount +Given the modern graph +And the traversal of + """ + g.V().union(__.repeat(__.union( +__.out("created"), +__.in("created"))).times(2), + __.repeat(__.union( +__.in("created"), +__.out("created"))).times(2)).label().groupCount() + """ +When iterated to list +Then the result should be unordered + | m[{"software":12,"person":20}] | + + Scenario: g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And using the parameter v2Id defined as "v[vadas].id" +And the traversal of + """ + g.V(v1Id, v2Id).union(__.outE().count(), __.inE().count(), __.outE().values("weight").sum()) + """ +When
[35/50] tinkerpop git commit: TINKERPOP-1784 Added sack() feature tests
TINKERPOP-1784 Added sack() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f9803660 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f9803660 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f9803660 Branch: refs/heads/master Commit: f98036605cfefac5d6a18b8e4e0f9ffeee690323 Parents: 04c903e Author: Stephen MalletteAuthored: Fri Nov 10 15:17:20 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:13 2017 -0500 -- gremlin-test/features/sideEffect/Sack.feature | 71 ++ 1 file changed, 71 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f9803660/gremlin-test/features/sideEffect/Sack.feature -- diff --git a/gremlin-test/features/sideEffect/Sack.feature b/gremlin-test/features/sideEffect/Sack.feature new file mode 100644 index 000..b0d4cc0 --- /dev/null +++ b/gremlin-test/features/sideEffect/Sack.feature @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - sack() + + Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack +Given the modern graph +And the traversal of + """ + g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack() + """ +When iterated to list +Then the result should be unordered + | result | + | created | + | knows | + | knows | + | created | + | created | + | created | + + Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum() + """ +When iterated to list +Then the result should be unordered + | result | + | d[3.5] | + + Scenario: g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack +Given the modern graph +And the traversal of + """ + g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack() + """ +When iterated to list +Then the result should be unordered + | result | + | d[2.0] | + | d[1.4] | + + Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum +Given an unsupported test +Then nothing should happen because + """ + This API is deprecated - will not test. + """ + + Scenario: g_withSackX0X_V_repeatXoutE_sackXsum_weightX_inVX_timesX2X_sack +Given an unsupported test +Then nothing should happen because + """ + This API is deprecated - will not test. + """ \ No newline at end of file
[01/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for or()
Repository: tinkerpop Updated Branches: refs/heads/master 65259d2ea -> 04c522018 TINKERPOP-1784 Added feature tests for or() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd3868b5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd3868b5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd3868b5 Branch: refs/heads/master Commit: bd3868b5aaeeaaad98261fe7ab4e31e2abf96c02 Parents: 72e98b6 Author: Stephen MalletteAuthored: Fri Oct 20 14:06:15 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:51 2017 -0500 -- gremlin-test/features/filter/Or.feature | 59 .../gremlin/process/FeatureCoverageTest.java| 2 + 2 files changed, 61 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/gremlin-test/features/filter/Or.feature -- diff --git a/gremlin-test/features/filter/Or.feature b/gremlin-test/features/filter/Or.feature new file mode 100644 index 000..111315a --- /dev/null +++ b/gremlin-test/features/filter/Or.feature @@ -0,0 +1,59 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - or() + + Scenario: g_V_orXhasXage_gt_27X__outE_count_gte_2X_name +Given the modern graph +And the traversal of + """ + g.V().or(__.has("age", P.gt(27)), __.outE().count().is(P.gte(2l))).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | josh | + | peter | + + Scenario: g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name +Given the modern graph +And the traversal of + """ + g.V().or(__.outE("knows"), __.has(T.label, "software").or().has("age", P.gte(35))).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | ripple | + | lop | + | peter | + + Scenario: g_V_asXaX_orXselectXaX_selectXaXX +Given the modern graph +And the traversal of + """ + g.V().as("a").or(__.select("a"), __.select("a")) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java -- diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java index 97f1fd6..282d8a8 100644 --- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java +++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java @@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.branch.OptionalTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.CoinTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropTest; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest; +import org.apache.tinkerpop.gremlin.process.traversal.step.filter.OrTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest; import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest; @@ -75,6 +76,7 @@ public class FeatureCoverageTest { CoinTest.class, DropTest.class, IsTest.class, +OrTest.class, // map CountTest.class, PathTest.class,
[44/50] tinkerpop git commit: TINKERPOP-1784 Removed a commented out debug line
TINKERPOP-1784 Removed a commented out debug line Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/50f8286e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/50f8286e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/50f8286e Branch: refs/heads/master Commit: 50f8286e6bafd9ca3b1a92b01b1317e330579e89 Parents: a3c981f Author: Stephen MalletteAuthored: Mon Nov 13 07:58:54 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/src/main/jython/radish/feature_steps.py | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/50f8286e/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 90b0120..94b0c77 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -227,5 +227,4 @@ def _make_traversal(g, traversal_string, params): b.update(params) -# print _translate(step.text + " - " + str(b)) return eval(_translate(traversal_string), b)
[34/50] tinkerpop git commit: TINKERPOP-1784 Added properties() feature tests
TINKERPOP-1784 Added properties() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/447e57c2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/447e57c2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/447e57c2 Branch: refs/heads/master Commit: 447e57c2e2bad029ead63de2227b12db708cbd85 Parents: c7347ab Author: Stephen MalletteAuthored: Fri Nov 10 14:31:20 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Properties.feature | 68 +++ 1 file changed, 68 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/447e57c2/gremlin-test/features/map/Properties.feature -- diff --git a/gremlin-test/features/map/Properties.feature b/gremlin-test/features/map/Properties.feature new file mode 100644 index 000..35ccd77 --- /dev/null +++ b/gremlin-test/features/map/Properties.feature @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - properties() + + Scenario: g_V_hasXageX_propertiesXname_ageX_value +Given the modern graph +And the traversal of + """ + g.V().has("age").properties("name", "age").value() + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | d[29] | + | vadas | + | d[27] | + | josh | + | d[32] | + | peter | + | d[35] | + + Scenario: g_V_hasXageX_propertiesXage_nameX_value +Given the modern graph +And the traversal of + """ + g.V().has("age").properties("age", "name").value() + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | d[29] | + | vadas | + | d[27] | + | josh | + | d[32] | + | peter | + | d[35] | + + Scenario: g_V_hasXageX_properties_hasXid_nameIdX_value +Given an unsupported test +Then nothing should happen because + """ + There is no way to currently get property identifiers on elements. + """ + + Scenario: g_V_hasXageX_propertiesXnameX +Given an unsupported test +Then nothing should happen because + """ + There is no way to currently assert property elements in the test logic. + """
[42/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog
TINKERPOP-1784 Updated changelog Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/57675441 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/57675441 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/57675441 Branch: refs/heads/master Commit: 576754415381205936f9a8be5cf50259d13faacb Parents: 314ab67 Author: Stephen MalletteAuthored: Sat Nov 11 06:20:32 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- CHANGELOG.asciidoc | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/57675441/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index d722066..5ba7c70 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -30,6 +30,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`. * Added test framework for GLVs. +* Added alias support in the .NET `DriverRemoteConnection`. * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.
[12/50] tinkerpop git commit: TINKERPOP-1784 Added and() feature tests
TINKERPOP-1784 Added and() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d977d6a5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d977d6a5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d977d6a5 Branch: refs/heads/tp32 Commit: d977d6a59660039ff7e6b7251449512744550d53 Parents: 401a44f Author: Stephen MalletteAuthored: Tue Oct 24 10:14:09 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/And.feature | 65 +++ 1 file changed, 65 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d977d6a5/gremlin-test/features/filter/And.feature -- diff --git a/gremlin-test/features/filter/And.feature b/gremlin-test/features/filter/And.feature new file mode 100644 index 000..c47ec6e --- /dev/null +++ b/gremlin-test/features/filter/And.feature @@ -0,0 +1,65 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - and() + + Scenario: g_V_andXhasXage_gt_27X__outE_count_gte_2X_name +Given the modern graph +And the traversal of + """ + g.V().and(__.has("age", P.gt(27)), __.outE().count().is(P.gte(2))).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | josh | + + Scenario: g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name +Given the modern graph +And the traversal of + """ + g.V().and(__.outE(), __.has(T.label, "person").and().has("age", P.gte(32))).values("name") + """ +When iterated to list +Then the result should be unordered + | josh | + | peter | + + Scenario: g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name +Given the modern graph +And the traversal of + """ + g.V().as("a").out("knows").and().out("created").in("created").as("a").values("name") + """ +When iterated to list +Then the result should be unordered + | v[marko] | + + Scenario: g_V_asXaX_andXselectXaX_selectXaXX +Given the modern graph +And the traversal of + """ + g.V().as("a").and(__.select("a"), __.select("a")) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | \ No newline at end of file
[20/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for AddEdge
TINKERPOP-1784 Added feature tests for AddEdge Minor refactoring to test language around result counts Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3a294df1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3a294df1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3a294df1 Branch: refs/heads/master Commit: 3a294df142d7608eb8814542d6f9b9e7d24aa986 Parents: c3a3848 Author: Stephen MalletteAuthored: Wed Nov 1 15:36:23 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 7 +- gremlin-test/features/branch/Local.feature | 12 +- gremlin-test/features/branch/Repeat.feature | 2 +- gremlin-test/features/filter/Dedup.feature | 2 +- gremlin-test/features/filter/Range.feature | 14 +- gremlin-test/features/filter/Sample.feature | 6 +- gremlin-test/features/map/AddEdge.feature | 307 +++ gremlin-test/features/sideEffect/Group.feature | 4 +- 8 files changed, 331 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a294df1/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index b8b31ce..b7050e9 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -108,13 +108,14 @@ def assert_side_effects(step, count, traversal_string): if step.context.ignore: return -t = _make_traversal(step.context.g, traversal_string, {}) +t = _make_traversal(step.context.g, traversal_string.replace('\\"', '"'), +step.context.traversal_params if hasattr(step.context, "traversal_params") else {}) assert_that(count, equal_to(t.count().next())) -@then("should have a result count of {count:d}") +@then("the result should have a count of {count:d}") def assert_count(step, count): -assert_that(count, equal_to(len(step.context.result))) +assert_that(len(step.context.result), equal_to(count)) @then("nothing should happen because") http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a294df1/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature index 4b33d62..fbc0dec 100644 --- a/gremlin-test/features/branch/Local.feature +++ b/gremlin-test/features/branch/Local.feature @@ -77,7 +77,7 @@ Feature: Step - local() | result | | vadas | | josh | -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name Given the modern graph @@ -93,7 +93,7 @@ Feature: Step - local() | ripple | | josh | | peter | -And should have a result count of 5 +And the result should have a count of 5 Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX Given the modern graph @@ -107,7 +107,7 @@ Feature: Step - local() | result | | e[josh-created->lop]| | e[josh-created->ripple] | -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX Given the modern graph @@ -122,7 +122,7 @@ Feature: Step - local() | e[marko-knows->josh]| | e[josh-created->lop]| | e[josh-created->ripple] | -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name Given the modern graph @@ -137,7 +137,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And should have a result count of 1 +And the result should have a count of 1 Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name Given the modern graph @@ -152,7 +152,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And should have a result count of 2 +And the result should have a count of 2 Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a294df1/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature index 082a3c6..1a76452 100644 --- a/gremlin-test/features/branch/Repeat.feature
[29/50] tinkerpop git commit: TINKERPOP-1784 Added where() feature tests
TINKERPOP-1784 Added where() feature tests This is not complete, but it is enough for now. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9c93fd7c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9c93fd7c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9c93fd7c Branch: refs/heads/master Commit: 9c93fd7c558933532349aae1d42e84f0afbc Parents: e67cbdb Author: Stephen MalletteAuthored: Fri Nov 10 12:35:04 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/filter/Where.feature | 105 1 file changed, 105 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c93fd7c/gremlin-test/features/filter/Where.feature -- diff --git a/gremlin-test/features/filter/Where.feature b/gremlin-test/features/filter/Where.feature new file mode 100644 index 000..5c520da --- /dev/null +++ b/gremlin-test/features/filter/Where.feature @@ -0,0 +1,105 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - where() + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_eqXbXX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where("a", P.eq("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[josh]"}] | + | m[{"a":"v[josh]","b":"v[josh]"}] | + | m[{"a":"v[peter]","b":"v[peter]"}] | + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_neqXbXX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where("a", P.neq("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[josh]"}] | + | m[{"a":"v[marko]","b":"v[peter]"}] | + | m[{"a":"v[josh]","b":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[peter]"}] | + | m[{"a":"v[peter]","b":"v[marko]"}] | + | m[{"a":"v[peter]","b":"v[josh]"}] | + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where(__.as("b").has("name", "marko")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[marko]","b":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[marko]"}] | + | m[{"a":"v[peter]","b":"v[marko]"}] | + + Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX +Given the modern graph +And the traversal of + """ + g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where(__.as("a").out("knows").as("b")) + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[josh]"}] | + + Scenario: g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name +Given the modern graph +And the traversal of + """ + g.V().as("a").out("created").where(__.as("a").values("name").is("josh")).in("created").values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | josh | + | josh | + | marko | + | peter | + + Scenario: g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX +Given the modern graph +And using the parameter l defined as "l[josh,peter]" +
[28/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for addV()
TINKERPOP-1784 Added feature tests for addV() Included Cardinality in imports for test logic Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/99105194 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/99105194 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/99105194 Branch: refs/heads/master Commit: 9910519423bbf89f05f48ec83986ea9e6cec0e4f Parents: 9c93fd7 Author: Stephen MalletteAuthored: Fri Nov 10 12:55:01 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 3 +- gremlin-test/features/map/AddVertex.feature | 147 +++ 2 files changed, 149 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 6c72bf1..90b0120 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -21,7 +21,7 @@ import json import re from gremlin_python.structure.graph import Graph, Path from gremlin_python.process.graph_traversal import __ -from gremlin_python.process.traversal import P, Scope, Column, Order, Direction, T, Pick, Operator +from gremlin_python.process.traversal import Cardinality, P, Scope, Column, Order, Direction, T, Pick, Operator from radish import given, when, then from hamcrest import * @@ -215,6 +215,7 @@ def _translate(traversal): def _make_traversal(g, traversal_string, params): b = {"g": g, "__": __, + "Cardinality": Cardinality, "Column": Column, "Direction": Direction, "Order": Order, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/gremlin-test/features/map/AddVertex.feature -- diff --git a/gremlin-test/features/map/AddVertex.feature b/gremlin-test/features/map/AddVertex.feature new file mode 100644 index 000..3335e29 --- /dev/null +++ b/gremlin-test/features/map/AddVertex.feature @@ -0,0 +1,147 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - addV() + + Scenario: g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko"). +addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas"). +addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop"). +addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh"). +addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple"). +addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter'). +addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5). +addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0). +addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4). +addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0). +addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4). +addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2) + """ +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).as("a").addV("animal").property("age", __.select("a").by("age")).property("name", "puppy") + """ +When iterated to list +Then the result should have a
[25/50] tinkerpop git commit: TINKERPOP-1784 radish bumped version and broke stuff
TINKERPOP-1784 radish bumped version and broke stuff Tables now return a list of maps that required a header so all feature files needed header. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/33146446 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/33146446 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/33146446 Branch: refs/heads/master Commit: 33146446fe67ff25e378e2025d2b03e2c207d119 Parents: 1588d3e Author: Stephen MalletteAuthored: Tue Oct 31 08:24:28 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 4 +-- gremlin-python/src/main/jython/setup.py | 2 +- gremlin-test/features/branch/Branch.feature | 3 ++ gremlin-test/features/branch/Choose.feature | 6 gremlin-test/features/branch/Local.feature | 11 +++ gremlin-test/features/branch/Optional.feature | 4 +++ gremlin-test/features/branch/Repeat.feature | 13 gremlin-test/features/branch/Union.feature | 7 gremlin-test/features/filter/And.feature| 4 +++ gremlin-test/features/filter/Coin.feature | 1 + gremlin-test/features/filter/CyclicPath.feature | 2 ++ gremlin-test/features/filter/Dedup.feature | 15 + gremlin-test/features/filter/Filter.feature | 5 +++ gremlin-test/features/filter/Has.feature| 2 ++ gremlin-test/features/filter/Is.feature | 5 +++ gremlin-test/features/filter/Or.feature | 3 ++ gremlin-test/features/filter/Range.feature | 15 + gremlin-test/features/filter/SimplePath.feature | 7 ++-- gremlin-test/features/map/Constant.feature | 2 ++ gremlin-test/features/map/Count.feature | 9 ++ gremlin-test/features/map/Max.feature | 3 ++ gremlin-test/features/map/Min.feature | 3 ++ gremlin-test/features/map/Path.feature | 7 gremlin-test/features/map/Project.feature | 2 ++ gremlin-test/features/map/Select.feature| 20 gremlin-test/features/map/ValueMap.feature | 3 ++ gremlin-test/features/map/Vertex.feature| 34 +++- .../features/sideEffect/Aggregate.feature | 4 +++ .../features/sideEffect/GroupCount.feature | 10 ++ gremlin-test/features/sideEffect/Inject.feature | 2 ++ gremlin-test/features/sideEffect/Store.feature | 3 ++ 31 files changed, 205 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 14a0153..b48b7ef 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -168,7 +168,7 @@ def _convert_results(val): def _any_assertion(data, result, ctx): -converted = [_convert(line[0], ctx) for line in data] +converted = [_convert(line['result'], ctx) for line in data] for r in result: assert_that(r, is_in(converted)) @@ -182,7 +182,7 @@ def _table_assertion(data, result, ctx, ordered): # finds a match in the results for each line of data to assert and then removes that item # from the list - in the end there should be no items left over and each will have been asserted for ix, line in enumerate(data): -val = _convert(line[0], ctx) +val = _convert(line['result'], ctx) # clear the labels since we don't define them in .feature files if isinstance(val, Path): http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-python/src/main/jython/setup.py -- diff --git a/gremlin-python/src/main/jython/setup.py b/gremlin-python/src/main/jython/setup.py index 9a66c81..c72a4d3 100644 --- a/gremlin-python/src/main/jython/setup.py +++ b/gremlin-python/src/main/jython/setup.py @@ -71,7 +71,7 @@ setup( tests_require=[ 'pytest', 'mock', -'radish-bdd', +'radish-bdd==0.8.0', 'PyHamcrest' ], install_requires=install_requires, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-test/features/branch/Branch.feature -- diff --git a/gremlin-test/features/branch/Branch.feature b/gremlin-test/features/branch/Branch.feature index d306c3b..b8690c6 100644 --- a/gremlin-test/features/branch/Branch.feature +++ b/gremlin-test/features/branch/Branch.feature @@
[36/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog
TINKERPOP-1784 Updated changelog Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/04c903e5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/04c903e5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/04c903e5 Branch: refs/heads/master Commit: 04c903e55c7bba523c1729625b6463a89031e2b4 Parents: 4a5b87c Author: Stephen MalletteAuthored: Fri Nov 10 15:17:03 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:13 2017 -0500 -- CHANGELOG.asciidoc | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04c903e5/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 918bbd4..cb2779a 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -29,6 +29,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Bump to Netty 4.0.52 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`. +* Added test framework for GLVs. +* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in `GraphComputer` OLAP. * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.
[24/50] tinkerpop git commit: TINKERPOP-1784 Add more tests for group() and cap()
TINKERPOP-1784 Add more tests for group() and cap() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c3a3848d Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c3a3848d Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c3a3848d Branch: refs/heads/master Commit: c3a3848d274a04eda8f930f0bfcf964b675f40c0 Parents: 3314644 Author: Stephen MalletteAuthored: Tue Oct 31 09:23:22 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 2 +- gremlin-test/features/sideEffect/Group.feature | 244 +++ .../features/sideEffect/SideEffectCap.feature | 38 +++ 3 files changed, 283 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index b48b7ef..b8b31ce 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -149,7 +149,7 @@ def _convert(val, ctx): elif isinstance(val, str) and re.match("^e\[.*\]$", val): # parse edge return ctx.lookup_e["modern"][val[2:-1]] elif isinstance(val, str) and re.match("^m\[.*\]$", val): # parse json as a map -return _convert(json.loads(val[2:-1]), ctx) +return _convert(json.loads(val[2:-1].replace('\\"', '"')), ctx) elif isinstance(val, str) and re.match("^p\[.*\]$", val): # parse path path_objects = list(map((lambda x: _convert(x, ctx)), val[2:-1].split(","))) return Path([set([])], path_objects) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/gremlin-test/features/sideEffect/Group.feature -- diff --git a/gremlin-test/features/sideEffect/Group.feature b/gremlin-test/features/sideEffect/Group.feature new file mode 100644 index 000..9ba57ec --- /dev/null +++ b/gremlin-test/features/sideEffect/Group.feature @@ -0,0 +1,244 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - group() + + Scenario: g_V_group_byXnameX +Given the modern graph +And the traversal of + """ + g.V().group().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", "vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", "marko":"l[v[marko]]"}] | + + Scenario: g_V_group_byXnameX_by +Given the modern graph +And the traversal of + """ + g.V().group().by("name").by() + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", "vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", "marko":"l[v[marko]]"}] | + + Scenario: g_V_groupXaX_byXnameX_capXaX +Given the modern graph +And the traversal of + """ + g.V().group("a").by("name").cap("a") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", "vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", "marko":"l[v[marko]]"}] | + + Scenario: g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX +Given the modern graph +And the traversal of + """ + g.V().has("lang").group("a").by("lang").by("name").out().cap("a") + """ +When iterated to list +Then the result should be unordered + | result | + | m[{"java":["lop","ripple"]}] | + + Scenario: g_V_hasXlangX_group_byXlangX_byXcountX +Given the modern graph +And the traversal of + """ +
[23/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for max()
TINKERPOP-1784 Added feature tests for max() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5478e5dd Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5478e5dd Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5478e5dd Branch: refs/heads/master Commit: 5478e5ddca1c228a4df48310a4373dca97192c61 Parents: d55e058 Author: Stephen MalletteAuthored: Tue Oct 24 13:51:30 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Max.feature | 48 ++ 1 file changed, 48 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5478e5dd/gremlin-test/features/map/Max.feature -- diff --git a/gremlin-test/features/map/Max.feature b/gremlin-test/features/map/Max.feature new file mode 100644 index 000..c36177d --- /dev/null +++ b/gremlin-test/features/map/Max.feature @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - max() + + Scenario: g_V_age_max +Given the modern graph +And the traversal of + """ + g.V().values("age").max() + """ +When iterated to list +Then the result should be unordered + | d[35] | + + Scenario: g_V_repeatXbothX_timesX5X_age_max +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both()).times(5).values("age").max() + """ +When iterated to list +Then the result should be unordered + | d[35] | + + Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX +Given the modern graph +And the traversal of + """ + g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").max()) + """ +When iterated to list +Then the result should be unordered + | m[{"ripple":1.0,"lop":0.4}] |
[14/50] tinkerpop git commit: TINKERPOP-1784 Added and() feature tests
TINKERPOP-1784 Added and() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d977d6a5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d977d6a5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d977d6a5 Branch: refs/heads/master Commit: d977d6a59660039ff7e6b7251449512744550d53 Parents: 401a44f Author: Stephen MalletteAuthored: Tue Oct 24 10:14:09 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/And.feature | 65 +++ 1 file changed, 65 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d977d6a5/gremlin-test/features/filter/And.feature -- diff --git a/gremlin-test/features/filter/And.feature b/gremlin-test/features/filter/And.feature new file mode 100644 index 000..c47ec6e --- /dev/null +++ b/gremlin-test/features/filter/And.feature @@ -0,0 +1,65 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - and() + + Scenario: g_V_andXhasXage_gt_27X__outE_count_gte_2X_name +Given the modern graph +And the traversal of + """ + g.V().and(__.has("age", P.gt(27)), __.outE().count().is(P.gte(2))).values("name") + """ +When iterated to list +Then the result should be unordered + | marko | + | josh | + + Scenario: g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name +Given the modern graph +And the traversal of + """ + g.V().and(__.outE(), __.has(T.label, "person").and().has("age", P.gte(32))).values("name") + """ +When iterated to list +Then the result should be unordered + | josh | + | peter | + + Scenario: g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name +Given the modern graph +And the traversal of + """ + g.V().as("a").out("knows").and().out("created").in("created").as("a").values("name") + """ +When iterated to list +Then the result should be unordered + | v[marko] | + + Scenario: g_V_asXaX_andXselectXaX_selectXaXX +Given the modern graph +And the traversal of + """ + g.V().as("a").and(__.select("a"), __.select("a")) + """ +When iterated to list +Then the result should be unordered + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | \ No newline at end of file
[43/50] tinkerpop git commit: TINKERPOP-1784 Killed some whitespace in gremlin-python pom
TINKERPOP-1784 Killed some whitespace in gremlin-python pom Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5286c204 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5286c204 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5286c204 Branch: refs/heads/master Commit: 5286c2042690369c25bda8dd69692ae11b02841e Parents: 50f8286 Author: Stephen MalletteAuthored: Mon Nov 13 08:04:28 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:53:14 2017 -0500 -- gremlin-python/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5286c204/gremlin-python/pom.xml -- diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml index d1a4a76..a1aee4a 100644 --- a/gremlin-python/pom.xml +++ b/gremlin-python/pom.xml @@ -450,7 +450,7 @@ limitations under the License. failonerror="true"> - +
[18/50] tinkerpop git commit: TINKERPOP-1784 Added range() feature tests
TINKERPOP-1784 Added range() feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/22e113d1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/22e113d1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/22e113d1 Branch: refs/heads/master Commit: 22e113d1a1e746d87a3da57df16f9f3adc0a6f33 Parents: a5d9977 Author: Stephen MalletteAuthored: Tue Oct 24 12:17:43 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/filter/Range.feature | 213 1 file changed, 213 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/22e113d1/gremlin-test/features/filter/Range.feature -- diff --git a/gremlin-test/features/filter/Range.feature b/gremlin-test/features/filter/Range.feature new file mode 100644 index 000..d5ea3bc --- /dev/null +++ b/gremlin-test/features/filter/Range.feature @@ -0,0 +1,213 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - range() + + Scenario: g_VX1X_out_limitX2X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out().limit(2) + """ +When iterated to list +Then the result should be of + | v[josh] | + | v[vadas] | + | v[lop] | +And should have a result count of 2 + + Scenario: g_V_localXoutE_limitX1X_inVX_limitX3X +Given the modern graph +And the traversal of + """ + g.V().local(__.outE().limit(1)).inV().limit(3) + """ +When iterated to list +Then the result should be of + | v[josh] | + | v[vadas] | + | v[lop] | + | v[ripple] | +And should have a result count of 3 + + Scenario: g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("knows").outE("created").range(0, 1).inV() + """ +When iterated to list +Then the result should be of + | v[lop] | + | v[ripple] | +And should have a result count of 1 + + Scenario: g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("knows").out("created").range(0, 1) + """ +When iterated to list +Then the result should be of + | v[lop] | + | v[ripple] | +And should have a result count of 1 + + Scenario: g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").in("created").range(1, 3) + """ +When iterated to list +Then the result should be of + | v[marko] | + | v[josh] | + | v[peter] | +And should have a result count of 2 + + Scenario: get_g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).out("created").inE("created").range(1, 3).outV() + """ +When iterated to list +Then the result should be of + | v[marko] | + | v[josh] | + | v[peter] | +And should have a result count of 2 + + Scenario: get_g_V_repeatXbothX_timesX3X_rangeX5_11X +Given the modern graph +And the traversal of + """ + g.V().repeat(__.both()).times(3).range(5, 11) + """ +When iterated to list +Then the result should be of + | v[marko] | + | v[josh] | + | v[peter] | + | v[lop] | + | v[vadas] | + | v[ripple] | +And should have a result count of 6 + + Scenario: g_V_asXaX_in_asXaX_in_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_limitXlocal_2X +Given the modern graph +And the traversal of +
[06/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for loop() and map()
TINKERPOP-1784 Added feature tests for loop() and map() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8f0b8f7a Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8f0b8f7a Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8f0b8f7a Branch: refs/heads/master Commit: 8f0b8f7a7c4455f92cd1384720262f068c8f8be6 Parents: 75d1e27 Author: Stephen MalletteAuthored: Thu Nov 2 11:59:10 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Loop.feature | 68 ++ gremlin-test/features/map/Map.feature | 108 2 files changed, 176 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Loop.feature -- diff --git a/gremlin-test/features/map/Loop.feature b/gremlin-test/features/map/Loop.feature new file mode 100644 index 000..efd439f --- /dev/null +++ b/gremlin-test/features/map/Loop.feature @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - loop() + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,lop,peter] | + | p[marko,josh,lop,peter] | + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,lop,peter] | + + Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name") + """ +When iterated to list +Then the result should be unordered + | result | + | p[marko,josh,lop,peter] | + + Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX +Given the modern graph +And the traversal of + """ + g.V().emit(__.has("name", "marko").or().loops().is(2)).repeat(__.out()).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | ripple | + | lop | http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Map.feature -- diff --git a/gremlin-test/features/map/Map.feature b/gremlin-test/features/map/Map.feature new file mode 100644 index 000..573b404 --- /dev/null +++ b/gremlin-test/features/map/Map.feature @@ -0,0 +1,108 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in
[19/50] tinkerpop git commit: TINKERPOP-1784 Added dedup() feature tests
TINKERPOP-1784 Added dedup() feature tests Reworked test language for asserting counts so that it works better as a standalone assertion. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a5d99774 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a5d99774 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a5d99774 Branch: refs/heads/master Commit: a5d99774e2f6b8dbe312062e99380b5a80873816 Parents: a9af53f Author: Stephen MalletteAuthored: Tue Oct 24 11:37:18 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- .../src/main/jython/radish/feature_steps.py | 2 +- gremlin-test/features/branch/Local.feature | 12 +- gremlin-test/features/branch/Repeat.feature | 2 +- gremlin-test/features/filter/Dedup.feature | 222 +++ 4 files changed, 230 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-python/src/main/jython/radish/feature_steps.py -- diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py index 2d2ae8d..14a0153 100644 --- a/gremlin-python/src/main/jython/radish/feature_steps.py +++ b/gremlin-python/src/main/jython/radish/feature_steps.py @@ -112,7 +112,7 @@ def assert_side_effects(step, count, traversal_string): assert_that(count, equal_to(t.count().next())) -@then("only have a result count of {count:d}") +@then("should have a result count of {count:d}") def assert_count(step, count): assert_that(count, equal_to(len(step.context.result))) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Local.feature -- diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature index 53ae3ab..fa12d8c 100644 --- a/gremlin-test/features/branch/Local.feature +++ b/gremlin-test/features/branch/Local.feature @@ -73,7 +73,7 @@ Feature: Step - local() Then the result should be of | vadas | | josh | -And only have a result count of 1 +And should have a result count of 1 Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name Given the modern graph @@ -88,7 +88,7 @@ Feature: Step - local() | ripple | | josh | | peter | -And only have a result count of 5 +And should have a result count of 5 Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX Given the modern graph @@ -101,7 +101,7 @@ Feature: Step - local() Then the result should be of | e[josh-created->lop]| | e[josh-created->ripple] | -And only have a result count of 1 +And should have a result count of 1 Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX Given the modern graph @@ -115,7 +115,7 @@ Feature: Step - local() | e[marko-knows->josh]| | e[josh-created->lop]| | e[josh-created->ripple] | -And only have a result count of 1 +And should have a result count of 1 Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name Given the modern graph @@ -129,7 +129,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And only have a result count of 1 +And should have a result count of 1 Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name Given the modern graph @@ -143,7 +143,7 @@ Feature: Step - local() | marko | | ripple | | lop| -And only have a result count of 2 +And should have a result count of 2 Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Repeat.feature -- diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature index e6049b5..6d97fc0 100644 --- a/gremlin-test/features/branch/Repeat.feature +++ b/gremlin-test/features/branch/Repeat.feature @@ -68,7 +68,7 @@ Feature: Step - repeat() | v[lop] | | v[josh] | | v[vadas] | -And only have a result count of 8 +And should have a result count of 8 Scenario: g_VX1X_timesX2X_repeatXoutX_name Given the modern graph http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/filter/Dedup.feature -- diff --git a/gremlin-test/features/filter/Dedup.feature b/gremlin-test/features/filter/Dedup.feature new file mode 100644
[04/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for V()
TINKERPOP-1784 Added feature tests for V() Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/75d1e27b Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/75d1e27b Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/75d1e27b Branch: refs/heads/master Commit: 75d1e27bb517494df7ab3fdc7ac02a23935ef91d Parents: 78fd4fd Author: Stephen MalletteAuthored: Thu Nov 2 08:58:27 2017 -0400 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:52 2017 -0500 -- gremlin-test/features/map/Graph.feature | 109 +++ 1 file changed, 109 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/75d1e27b/gremlin-test/features/map/Graph.feature -- diff --git a/gremlin-test/features/map/Graph.feature b/gremlin-test/features/map/Graph.feature new file mode 100644 index 000..249d6a3 --- /dev/null +++ b/gremlin-test/features/map/Graph.feature @@ -0,0 +1,109 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - V() + + Scenario: g_VX1X_V_valuesXnameX +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V(v1Id).V().values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | vadas | + | lop | + | josh | + | ripple | + | peter | + + Scenario: g_V_outXknowsX_V_name +Given the modern graph +And using the parameter v1Id defined as "v[marko].id" +And the traversal of + """ + g.V().out("knows").V().values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | marko | + | marko | + | vadas | + | vadas | + | lop | + | lop | + | josh | + | josh | + | ripple | + | ripple | + | peter | + | peter | + + Scenario: g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name +Given the grateful graph +And the traversal of + """ + g.V().has("artist", "name", "Garcia").in("sungBy").as("song"). +V().has("artist", "name", "Willie_Dixon").in("writtenBy").where(P.eq("song")).values("name") + """ +When iterated to list +Then the result should be unordered + | result | + | MY BABE | + | HOOCHIE COOCHIE MAN | + + Scenario: g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko"). +addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas"). +addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop"). +addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh"). +addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple"). +addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter'). +addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5). +addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0). +addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4). +addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0). +addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4). +addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2) + """ +And using the parameter software defined as "l[v[lop],v[ripple]]" +And using the parameter v1Id defined as "v[marko].id" +And using the parameter v2Id defined as "v[vadas].id" +
[32/50] tinkerpop git commit: TINKERPOP-1784 Fixed some badly named feature tests
TINKERPOP-1784 Fixed some badly named feature tests Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c7347ab2 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c7347ab2 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c7347ab2 Branch: refs/heads/master Commit: c7347ab2c61c759f35cbdb0a9e5b81c665f9d271 Parents: 5045a56 Author: Stephen MalletteAuthored: Fri Nov 10 14:31:01 2017 -0500 Committer: Stephen Mallette Committed: Tue Nov 21 15:52:53 2017 -0500 -- gremlin-test/features/map/Max.feature | 2 +- gremlin-test/features/map/Min.feature | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Max.feature -- diff --git a/gremlin-test/features/map/Max.feature b/gremlin-test/features/map/Max.feature index 24cb81a..bb7e3d4 100644 --- a/gremlin-test/features/map/Max.feature +++ b/gremlin-test/features/map/Max.feature @@ -39,7 +39,7 @@ Feature: Step - max() | result | | d[35] | - Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX Given the modern graph And the traversal of """ http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Min.feature -- diff --git a/gremlin-test/features/map/Min.feature b/gremlin-test/features/map/Min.feature index 172fbaf..c4b86c6 100644 --- a/gremlin-test/features/map/Min.feature +++ b/gremlin-test/features/map/Min.feature @@ -39,7 +39,7 @@ Feature: Step - min() | result | | d[27] | - Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX + Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX Given the modern graph And the traversal of """
[11/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32
Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f2b4fb98 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f2b4fb98 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f2b4fb98 Branch: refs/heads/TINKERPOP-1489 Commit: f2b4fb980559c8427fa946ad0d5acb42292a0b70 Parents: 65abea5 a451ca5 Author: florianhockmannAuthored: Wed Nov 1 19:52:35 2017 +0100 Committer: florianhockmann Committed: Wed Nov 1 19:52:35 2017 +0100 -- CHANGELOG.asciidoc| 2 + docs/preprocessor/preprocess-file.sh | 2 +- docs/src/recipes/index.asciidoc | 2 + docs/src/recipes/olap-spark-yarn.asciidoc | 157 + pom.xml | 1 + spark-gremlin/pom.xml | 5 +- 6 files changed, 166 insertions(+), 3 deletions(-) --
[44/50] [abbrv] tinkerpop git commit: Update Javascript GLV
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2434a649/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js -- diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js new file mode 100644 index 000..5ee734a1 --- /dev/null +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js @@ -0,0 +1,2095 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** + * @author Jorge Bay Gondra + */ +'use strict'; + +var t = require('./traversal.js'); +var remote = require('../driver/remote-connection'); +var utils = require('../utils'); +var Bytecode = require('./bytecode'); +var TraversalStrategies = require('./traversal-strategy').TraversalStrategies; +var inherits = utils.inherits; +var parseArgs = utils.parseArgs; + +/** + * + * @param {Graph} graph + * @param {TraversalStrategies} traversalStrategies + * @param {Bytecode} [bytecode] + * @constructor + */ +function GraphTraversalSource(graph, traversalStrategies, bytecode) { + this.graph = graph; + this.traversalStrategies = traversalStrategies; + this.bytecode = bytecode || new Bytecode(); +} + +/** + * @param remoteConnection + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withRemote = function (remoteConnection) { + var traversalStrategy = new TraversalStrategies(this.traversalStrategies); + traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection)); + return new GraphTraversalSource(this.graph, traversalStrategy, new Bytecode(this.bytecode)); +}; + +/** + * Returns the string representation of the GraphTraversalSource. + * @returns {string} + */ +GraphTraversalSource.prototype.toString = function () { + return 'graphtraversalsource[' + this.graph.toString() + ']'; +}; + +/** + * Graph Traversal Source withBulk method. + * @param {...Object} args + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withBulk = function (args) { + var b = new Bytecode(this.bytecode).addSource('withBulk', parseArgs.apply(null, arguments)); + return new GraphTraversalSource(this.graph, new TraversalStrategies(this.traversalStrategies), b); +}; + +/** + * Graph Traversal Source withComputer method. + * @param {...Object} args + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withComputer = function (args) { + var b = new Bytecode(this.bytecode).addSource('withComputer', parseArgs.apply(null, arguments)); + return new GraphTraversalSource(this.graph, new TraversalStrategies(this.traversalStrategies), b); +}; + +/** + * Graph Traversal Source withPath method. + * @param {...Object} args + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withPath = function (args) { + var b = new Bytecode(this.bytecode).addSource('withPath', parseArgs.apply(null, arguments)); + return new GraphTraversalSource(this.graph, new TraversalStrategies(this.traversalStrategies), b); +}; + +/** + * Graph Traversal Source withSack method. + * @param {...Object} args + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withSack = function (args) { + var b = new Bytecode(this.bytecode).addSource('withSack', parseArgs.apply(null, arguments)); + return new GraphTraversalSource(this.graph, new TraversalStrategies(this.traversalStrategies), b); +}; + +/** + * Graph Traversal Source withSideEffect method. + * @param {...Object} args + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withSideEffect = function (args) { + var b = new Bytecode(this.bytecode).addSource('withSideEffect', parseArgs.apply(null, arguments)); + return new GraphTraversalSource(this.graph, new TraversalStrategies(this.traversalStrategies), b); +}; + +/** + * Graph Traversal Source withStrategies method. + * @param {...Object} args + * @returns {GraphTraversalSource} + */ +GraphTraversalSource.prototype.withStrategies = function (args) { + var b = new Bytecode(this.bytecode).addSource('withStrategies',
[07/50] [abbrv] tinkerpop git commit: Merge branch 'TINKERPOP-1821' into tp32
Merge branch 'TINKERPOP-1821' into tp32 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bef43d6c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bef43d6c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bef43d6c Branch: refs/heads/TINKERPOP-1489 Commit: bef43d6ca54284bf905883032ce168b91c910e36 Parents: f8c1307 5d68ca1 Author: Marko A. RodriguezAuthored: Wed Nov 1 08:37:31 2017 -0600 Committer: Marko A. Rodriguez Committed: Wed Nov 1 08:37:31 2017 -0600 -- CHANGELOG.asciidoc | 1 + .../upgrade/release-3.2.x-incubating.asciidoc | 10 ++ .../traversal/step/map/GroovyVertexTest.groovy | 10 ++ .../process/traversal/step/map/VertexTest.java | 38 .../gremlin/neo4j/structure/Neo4jVertex.java| 25 ++--- 5 files changed, 79 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bef43d6c/CHANGELOG.asciidoc -- diff --cc CHANGELOG.asciidoc index 1d41ab9,78b8ac0..76bf96d --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@@ -23,7 -23,7 +23,8 @@@ image::https://raw.githubusercontent.co [[release-3-2-7]] === TinkerPop 3.2.7 (Release Date: NOT OFFICIALLY RELEASED YET) +* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in `GraphComputer` OLAP. + * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`. * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only. * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`. * Fixed an old hack in `GroovyTranslator` and `PythonTranslator` where `Elements` were being mapped to their id only.