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/03 15:44:53 UTC
[44/50] [abbrv] tinkerpop git commit: TINKERPOP-1130 Finished tests
for untyped structure elements.
TINKERPOP-1130 Finished tests for untyped structure elements.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d14e66c4
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d14e66c4
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d14e66c4
Branch: refs/heads/TINKERPOP-1130
Commit: d14e66c479b443d16d0b29461d54c944f807f3f4
Parents: fff3e98
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Dec 30 11:26:13 2016 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Jan 3 10:34:56 2017 -0500
----------------------------------------------------------------------
.../tinkerpop/gremlin/structure/io/Model.java | 12 +--
.../io/AbstractUntypedCompatibilityTest.java | 84 ++++++++++++++++++++
2 files changed, 88 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d14e66c4/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 de8cece..3e07cea 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
@@ -118,16 +118,12 @@ public class Model {
.configuredAs(".*no-types").matchToArray();
addGraphStructureEntry(graph.edges().next(), "Edge", "", graphsonV2NoType);
addGraphStructureEntry(g.V().out().out().path().next(), "Path", "", graphsonV2NoType);
- addGraphStructureEntry(graph.edges().next().properties().next(), "Property");
+ addGraphStructureEntry(graph.edges().next().properties().next(), "Property", "", graphsonV2NoType);
addEntry("Graph Structure", StarGraph.of(graph.vertices().next()), "StarGraph", "", Compatibilities.GRYO_ONLY.match());
- addEntry("Graph Structure", graph, "TinkerGraph", "`TinkerGraph` has a custom serializer that is registered as part of the `TinkerIoRegistry`.",
- new HashMap<Compatibility, String>() {{
- put(GryoCompatibility.V1D0_3_2_3, "Serialization of TinkerGraph had a bug that prevented proper operation in versions prior to 3.2.4.");
- put(GraphSONCompatibility.V2D0_PARTIAL_3_2_3, "Serialization of TinkerGraph had a bug that prevented proper operation in versions prior to 3.2.4.");
- }}, GryoCompatibility.V1D0_3_2_3, GraphSONCompatibility.V2D0_PARTIAL_3_2_3);
+ addGraphStructureEntry(graph, "TinkerGraph", "`TinkerGraph` has a custom serializer that is registered as part of the `TinkerIoRegistry`.");
addEntry("Graph Structure", g.V(1).out().out().tree().next(), "Tree", "", Compatibilities.GRYO_ONLY.match());
- addGraphStructureEntry(graph.vertices().next(), "Vertex");
- addGraphStructureEntry(graph.vertices().next().properties().next(), "VertexProperty");
+ addGraphStructureEntry(graph.vertices().next(), "Vertex", "", graphsonV2NoType);
+ addGraphStructureEntry(graph.vertices().next().properties().next(), "VertexProperty", "", graphsonV2NoType);
addGraphProcessEntry(SackFunctions.Barrier.normSack, "Barrier", "");
addGraphProcessEntry(new Bytecode.Binding("x", 1), "Binding", "A \"Binding\" refers to a `Bytecode.Binding`.");
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d14e66c4/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 94118ca..fb36cfc 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
@@ -23,7 +23,9 @@ import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
import org.apache.tinkerpop.gremlin.process.traversal.Path;
import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Property;
import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import org.junit.Test;
@@ -155,4 +157,86 @@ public abstract class AbstractUntypedCompatibilityTest extends AbstractCompatibi
assertEquals(((Vertex) resource.objects().get(2)).id(), ((Map) ((List) recycled.get("objects")).get(2)).get("id"));
assertEquals(((Vertex) resource.objects().get(2)).label(), ((Map) ((List) recycled.get("objects")).get(2)).get("label"));
}
+
+ @Test
+ public void shouldReadWriteProperty() throws Exception {
+ final String resourceName = "property";
+ assumeCompatibility(resourceName);
+
+ final Property resource = findModelEntryObject(resourceName);
+ final HashMap fromStatic = read(getCompatibility().readFromResource(resourceName), HashMap.class);
+ final HashMap recycled = read(write(resource, Path.class), HashMap.class);
+ assertNotSame(fromStatic, recycled);
+ assertEquals(2, fromStatic.size());
+ assertEquals(resource.key(), fromStatic.get("key"));
+ assertEquals(resource.value(), fromStatic.get("value"));
+ assertEquals(2, recycled.size());
+ assertEquals(resource.key(), recycled.get("key"));
+ assertEquals(resource.value(), recycled.get("value"));
+ }
+
+ @Test
+ public void shouldReadWriteVertex() throws Exception {
+ final String resourceName = "vertex";
+ assumeCompatibility(resourceName);
+
+ final Vertex resource = findModelEntryObject(resourceName);
+ final HashMap fromStatic = read(getCompatibility().readFromResource(resourceName), 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.id(), recycled.get("id"));
+ assertEquals(resource.label(), recycled.get("label"));
+ assertEquals(resource.id(), recycled.get("id"));
+ assertEquals(IteratorUtils.count(resource.keys()), ((Map) fromStatic.get("properties")).size());
+ assertEquals(resource.value("name"), ((Map) ((List) ((Map) fromStatic.get("properties")).get("name")).get(0)).get("value"));
+ assertEquals(IteratorUtils.list(resource.values("location")).get(0), ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(0)).get("value"));
+ assertEquals(IteratorUtils.list(resource.values("location")).get(1), ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(1)).get("value"));
+ assertEquals(IteratorUtils.list(resource.values("location")).get(2), ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(2)).get("value"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(0)).value("startTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(0)).get("properties")).get("startTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(0)).value("endTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(0)).get("properties")).get("endTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(1)).value("startTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(1)).get("properties")).get("startTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(1)).value("endTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(1)).get("properties")).get("endTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(2)).value("startTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(2)).get("properties")).get("startTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(2)).value("endTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(2)).get("properties")).get("endTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(3)).value("startTime"), ((Map) ((Map) ((List) ((Map) fromStatic.get("properties")).get("location")).get(3)).get("properties")).get("startTime"));
+ assertEquals(IteratorUtils.count(resource.keys()), ((Map) recycled.get("properties")).size());
+ assertEquals(resource.value("name"), ((Map) ((List) ((Map) recycled.get("properties")).get("name")).get(0)).get("value"));
+ assertEquals(IteratorUtils.list(resource.values("location")).get(0), ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(0)).get("value"));
+ assertEquals(IteratorUtils.list(resource.values("location")).get(1), ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(1)).get("value"));
+ assertEquals(IteratorUtils.list(resource.values("location")).get(2), ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(2)).get("value"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(0)).value("startTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(0)).get("properties")).get("startTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(0)).value("endTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(0)).get("properties")).get("endTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(1)).value("startTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(1)).get("properties")).get("startTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(1)).value("endTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(1)).get("properties")).get("endTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(2)).value("startTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(2)).get("properties")).get("startTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(2)).value("endTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(2)).get("properties")).get("endTime"));
+ assertEquals(((VertexProperty) IteratorUtils.list(resource.properties("location")).get(3)).value("startTime"), ((Map) ((Map) ((List) ((Map) recycled.get("properties")).get("location")).get(3)).get("properties")).get("startTime"));
+
+ // deal with incompatibilities
+ if (getCompatibility().getConfiguration().equals("v1d0")) {
+ assertEquals("vertex", fromStatic.get("type"));
+ }
+ }
+
+ @Test
+ public void shouldReadWriteVertexProperty() throws Exception {
+ final String resourceName = "vertexproperty";
+ assumeCompatibility(resourceName);
+
+ final VertexProperty resource = findModelEntryObject(resourceName);
+ final HashMap fromStatic = read(getCompatibility().readFromResource(resourceName), HashMap.class);
+ final HashMap recycled = read(write(resource, Edge.class), HashMap.class);
+ assertNotSame(fromStatic, recycled);
+ assertEquals(3, fromStatic.size());
+ assertEquals(resource.id().toString(), fromStatic.get("id").toString());
+ assertEquals(resource.key(), fromStatic.get("label"));
+ assertEquals(resource.value(), fromStatic.get("value"));
+ assertEquals(3, recycled.size());
+ assertEquals(resource.id().toString(), fromStatic.get("id").toString());
+ assertEquals(resource.key(), recycled.get("label"));
+ assertEquals(resource.value(), recycled.get("value"));
+ }
}