GitHub user FlorianHockmann opened a pull request:
https://github.com/apache/tinkerpop/pull/820
TINKERPOP-1865 Run Gremlin.Net tests with GraphSON 3.0
https://issues.apache.org/jira/browse/TINKERPOP-1865
The tests simply failed because of the traversal used in
`ScenarioData.GetEdges()`. I didn't dig deep into why it failed, but it had
something to do with the deserialization of the keys of the received
dictionary. I also couldn't get the traversal used there to work with
gremlin-python, so I simply replaced it by two simpler traversals. This
increases the runtime a bit as the second traversal now has to be executed for
every edge, but I think that it improves the readability a lot.
Unfortunately, I had to add 3 more tests to the list of ignored ones. One
failed due to the missing `T` deserializer (TINKERPOP-1866) and two failed
because the data received from the server didn't match the expected data:
-
`g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX`:
We receive a `g:Set` of 8 values here, including 4 duplicates. This is
deserialized to a `HashSet` by Gremlin.Net which means that the 8 values are
reduced to 4 unique values, but the scenario expects a collection of 8 values.
-
`g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_decrX_byXkeys_incrX`:
Here we receive a map with `g:Int32` keys (at least when my understanding of
the `g:Map` type is correct), but the scenario expects `string` keys.
To me, this looks like mistakes in the scenarios, but it would be good if
someone could verify that. I tried to modify the scenarios accordingly, but
then both gremlin-python and gremlin-javascript failed for the scenario with
the `g:Set` containing duplicates. So either the deserialization of `g:Set` is
flawed in those two GLVs or my understanding of sets is wrong.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/tinkerpop TINKERPOP-1865
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/820.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #820
----
commit 0cca806fff68aa603e020efb65bf6a7e87363404
Author: Florian Hockmann <fh@...>
Date: 2018-03-18T16:19:45Z
TINKERPOP-1865 Run Gremlin.Net tests with GraphSON 3.0
This required the rewrite of the GetEdges() function for the Gherkin
test runner. Additionally, 3 tests had to be ignored: 1 has the
T deserialization problem and 2 get data returned from the server that
doesn't match the expected data.
----
---