You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2017/01/06 19:42:45 UTC
[40/44] tinkerpop git commit: TINKERPOP-1130 Tests for edge untyped
graphson
TINKERPOP-1130 Tests for edge untyped graphson
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/20727db4
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/20727db4
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/20727db4
Branch: refs/heads/master
Commit: 20727db4433ee371b3b7a57ae67b6d4f011bf45a
Parents: 781aeba
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Dec 30 10:26:02 2016 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Jan 3 10:34:56 2017 -0500
----------------------------------------------------------------------
.../tinkerpop/gremlin/structure/io/Model.java | 11 ++-
.../io/AbstractUntypedCompatibilityTest.java | 83 +++++++++++++++++---
.../GraphSONUntypedCompatibilityTest.java | 3 -
3 files changed, 79 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20727db4/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
index 215db71..24af1d8 100644
--- a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
+++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
@@ -111,7 +111,12 @@ public class Model {
}}, GryoCompatibility.V1D0_3_2_3);
addCoreEntry(UUID.fromString("41d2e28a-20a4-4ab0-b379-d810dede3786"), "UUID");
- addGraphStructureEntry(graph.edges().next(), "Edge");
+ // TODO: remove incompatibilities in Element on GraphSON 2.0
+ // temporary incompatibility in v2 graphson starting at 3.3.0 with Element properties - need to revert some
+ // changes on master (which is what helped start this mess) once this work is merged
+ final Compatibility[] graphsonV2NoType = Compatibilities.with(GraphSONCompatibility.class)
+ .configuredAs(".*no-types").matchToArray();
+ addGraphStructureEntry(graph.edges().next(), "Edge", "", graphsonV2NoType);
addGraphStructureEntry(g.V().out().out().path().next(), "Path");
addGraphStructureEntry(graph.edges().next().properties().next(), "Property");
addEntry("Graph Structure", StarGraph.of(graph.vertices().next()), "StarGraph", "", Compatibilities.GRYO_ONLY.match());
@@ -297,8 +302,8 @@ public class Model {
addGraphStructureEntry(obj, title, "");
}
- private void addGraphStructureEntry(final Object obj, final String title, final String description) {
- addEntry("Graph Structure", obj, title, description);
+ private void addGraphStructureEntry(final Object obj, final String title, final String description, final Compatibility... incompatibilities) {
+ addEntry("Graph Structure", obj, title, description, incompatibilities);
}
private void addGraphProcessEntry(final Object obj, final String title) {
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20727db4/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractUntypedCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractUntypedCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractUntypedCompatibilityTest.java
index db57145..94a1c0c 100644
--- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractUntypedCompatibilityTest.java
+++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractUntypedCompatibilityTest.java
@@ -18,7 +18,11 @@
*/
package org.apache.tinkerpop.gremlin.structure.io;
+import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
+import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import org.junit.Test;
import java.util.HashMap;
@@ -38,26 +42,81 @@ public abstract class AbstractUntypedCompatibilityTest extends AbstractCompatibi
@Test
public void shouldReadWriteAuthenticationChallenge() throws Exception {
- assumeCompatibility("authenticationchallenge");
+ final String resourceName = "authenticationchallenge";
+ assumeCompatibility(resourceName);
- final HashMap fromStatic = read(getCompatibility().readFromResource("authenticationchallenge"), HashMap.class);
- final HashMap recycled = read(write(fromStatic, HashMap.class), HashMap.class);
+ final ResponseMessage resource = findModelEntryObject(resourceName);
+ final HashMap fromStatic = read(getCompatibility().readFromResource(resourceName), HashMap.class);
+ final HashMap recycled = read(write(resource, ResponseMessage.class), HashMap.class);
assertNotSame(fromStatic, recycled);
- assertEquals("41d2e28a-20a4-4ab0-b379-d810dede3786", recycled.get("requestId"));
+ assertEquals(fromStatic, recycled);
+ assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId"));
+ assertEquals(ResponseStatusCode.AUTHENTICATE.getValue(), ((Map) fromStatic.get("status")).get("code"));
+ assertEquals(resource.getRequestId().toString(), recycled.get("requestId"));
assertEquals(ResponseStatusCode.AUTHENTICATE.getValue(), ((Map) recycled.get("status")).get("code"));
}
@Test
public void shouldReadWriteAuthenticationResponse() throws Exception {
- assumeCompatibility("authenticationresponse");
+ final String resourceName = "authenticationresponse";
+ assumeCompatibility(resourceName);
- final HashMap fromStatic = read(getCompatibility().readFromResource("authenticationresponse"), HashMap.class);
- final HashMap recycled = read(write(fromStatic, HashMap.class), HashMap.class);
+ final RequestMessage resource = findModelEntryObject(resourceName);
+ final HashMap fromStatic = read(getCompatibility().readFromResource(resourceName), HashMap.class);
+ final HashMap recycled = read(write(resource, RequestMessage.class), HashMap.class);
assertNotSame(fromStatic, recycled);
- assertEquals("cb682578-9d92-4499-9ebc-5c6aa73c5397", recycled.get("requestId"));
- assertEquals("authentication", recycled.get("op"));
- assertEquals("", recycled.get("processor"));
- assertEquals("PLAIN", ((Map) recycled.get("args")).get("saslMechanism"));
- assertEquals("AHN0ZXBocGhlbgBwYXNzd29yZA==", ((Map) recycled.get("args")).get("sasl"));
+ assertEquals(fromStatic, recycled);
+ assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId"));
+ assertEquals(resource.getOp(), fromStatic.get("op"));
+ assertEquals(resource.getProcessor(), fromStatic.get("processor"));
+ assertEquals(resource.getArgs().get("saslMechanism"), ((Map) fromStatic.get("args")).get("saslMechanism"));
+ assertEquals(resource.getArgs().get("sasl"), ((Map) fromStatic.get("args")).get("sasl"));
+ assertEquals(resource.getRequestId().toString(), recycled.get("requestId"));
+ assertEquals(resource.getOp(), recycled.get("op"));
+ assertEquals(resource.getProcessor(), recycled.get("processor"));
+ assertEquals(resource.getArgs().get("saslMechanism"), ((Map) recycled.get("args")).get("saslMechanism"));
+ assertEquals(resource.getArgs().get("sasl"), ((Map) recycled.get("args")).get("sasl"));
+ }
+
+ @Test
+ public void shouldReadWriteEdge() throws Exception {
+ final String resourceName = "edge";
+ assumeCompatibility(resourceName);
+
+ final Edge resource = findModelEntryObject(resourceName);
+ final HashMap fromStatic = read(getCompatibility().readFromResource("edge"), HashMap.class);
+ final HashMap recycled = read(write(resource, Edge.class), HashMap.class);
+ assertNotSame(fromStatic, recycled);
+ assertEquals(resource.id(), fromStatic.get("id"));
+ assertEquals(resource.label(), fromStatic.get("label"));
+ assertEquals(resource.id(), fromStatic.get("id"));
+ assertEquals(resource.inVertex().label(), fromStatic.get("inVLabel"));
+ assertEquals(resource.outVertex().label(), fromStatic.get("outVLabel"));
+ assertEquals(resource.inVertex().id(), fromStatic.get("inV"));
+ assertEquals(resource.outVertex().id(), fromStatic.get("outV"));
+ assertEquals(resource.id(), recycled.get("id"));
+ assertEquals(resource.label(), recycled.get("label"));
+ assertEquals(resource.id(), recycled.get("id"));
+ assertEquals(resource.inVertex().label(), recycled.get("inVLabel"));
+ assertEquals(resource.outVertex().label(), recycled.get("outVLabel"));
+ assertEquals(resource.inVertex().id(), recycled.get("inV"));
+ assertEquals(resource.outVertex().id(), recycled.get("outV"));
+
+ // deal with incompatibilities
+ if (getCompatibility().getConfiguration().equals("v1d0")) {
+ assertEquals("edge", fromStatic.get("type"));
+ assertEquals(IteratorUtils.count(resource.properties()), ((Map) fromStatic.get("properties")).size());
+ assertEquals(resource.value("since"), ((Map) fromStatic.get("properties")).get("since"));
+ assertEquals("edge", recycled.get("type"));
+ assertEquals(IteratorUtils.count(resource.properties()), ((Map) recycled.get("properties")).size());
+ assertEquals(resource.value("since"), ((Map) recycled.get("properties")).get("since"));
+ } else if (getCompatibility().getConfiguration().contains("no-types")) {
+ assertEquals(IteratorUtils.count(resource.properties()), ((Map) fromStatic.get("properties")).size());
+ assertEquals(resource.keys().iterator().next(), ((Map) ((Map) fromStatic.get("properties")).get("since")).get("key"));
+ assertEquals(resource.value("since"), ((Map) ((Map) fromStatic.get("properties")).get("since")).get("value"));
+ assertEquals(IteratorUtils.count(resource.properties()), ((Map) recycled.get("properties")).size());
+ assertEquals(resource.keys().iterator().next(), ((Map) ((Map) recycled.get("properties")).get("since")).get("key"));
+ assertEquals(resource.value("since"), ((Map) ((Map) recycled.get("properties")).get("since")).get("value"));
+ }
}
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20727db4/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
index 34c5f84..08eb811 100644
--- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
+++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
@@ -51,13 +51,10 @@ public class GraphSONUntypedCompatibilityTest extends AbstractUntypedCompatibili
public static Iterable<Object[]> data() {
return Arrays.asList(new Object[][]{
{GraphSONCompatibility.V1D0_3_2_3, mapperV1 },
- {GraphSONCompatibility.V1D0_3_2_3, mapperV2 },
{GraphSONCompatibility.V2D0_NO_TYPE_3_2_3, mapperV2 },
{GraphSONCompatibility.V1D0_3_2_4, mapperV1 },
- {GraphSONCompatibility.V1D0_3_2_4, mapperV2 },
{GraphSONCompatibility.V2D0_NO_TYPE_3_2_4, mapperV2 },
{GraphSONCompatibility.V1D0_3_3_0, mapperV1 },
- {GraphSONCompatibility.V1D0_3_3_0, mapperV2 },
{GraphSONCompatibility.V2D0_NO_TYPE_3_3_0, mapperV2 }
});
}