| /* |
| * 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. |
| */ |
| 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.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; |
| |
| import java.util.HashMap; |
| import java.util.List; |
| import java.util.Map; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNotSame; |
| |
| /** |
| * @author Stephen Mallette (http://stephen.genoprime.com) |
| */ |
| public abstract class AbstractUntypedCompatibilityTest extends AbstractCompatibilityTest { |
| |
| public abstract <T> T read(final byte[] bytes, final Class<T> clazz) throws Exception; |
| |
| public abstract byte[] write(final Object o, final Class<?> clazz) throws Exception; |
| |
| @Test |
| public void shouldReadWriteAuthenticationChallenge() throws Exception { |
| final String resourceName = "authenticationchallenge"; |
| assumeCompatibility(resourceName); |
| |
| 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(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 { |
| final String resourceName = "authenticationresponse"; |
| assumeCompatibility(resourceName); |
| |
| 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(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(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.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")); |
| } |
| } |
| |
| @Test |
| public void shouldReadWritePath() throws Exception { |
| final String resourceName = "path"; |
| assumeCompatibility(resourceName); |
| |
| final Path 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(resource.labels().size(), ((List) fromStatic.get("labels")).size()); |
| assertEquals(resource.labels().get(0).size(), ((List) ((List) fromStatic.get("labels")).get(0)).size()); |
| assertEquals(resource.labels().get(1).size(), ((List) ((List) fromStatic.get("labels")).get(1)).size()); |
| assertEquals(resource.labels().get(2).size(), ((List) ((List) fromStatic.get("labels")).get(2)).size()); |
| assertEquals(resource.objects().size(), ((List) fromStatic.get("objects")).size()); |
| assertEquals(((Vertex) resource.objects().get(0)).id(), ((Map) ((List) fromStatic.get("objects")).get(0)).get("id")); |
| assertEquals(((Vertex) resource.objects().get(0)).label(), ((Map) ((List) fromStatic.get("objects")).get(0)).get("label")); |
| assertEquals(((Vertex) resource.objects().get(1)).id(), ((Map) ((List) fromStatic.get("objects")).get(1)).get("id")); |
| assertEquals(((Vertex) resource.objects().get(1)).label(), ((Map) ((List) fromStatic.get("objects")).get(1)).get("label")); |
| assertEquals(((Vertex) resource.objects().get(2)).id(), ((Map) ((List) fromStatic.get("objects")).get(2)).get("id")); |
| assertEquals(((Vertex) resource.objects().get(2)).label(), ((Map) ((List) fromStatic.get("objects")).get(2)).get("label")); |
| assertEquals(resource.labels().size(), ((List) recycled.get("labels")).size()); |
| assertEquals(resource.labels().get(0).size(), ((List) ((List) recycled.get("labels")).get(0)).size()); |
| assertEquals(resource.labels().get(1).size(), ((List) ((List) recycled.get("labels")).get(1)).size()); |
| assertEquals(resource.labels().get(2).size(), ((List) ((List) recycled.get("labels")).get(2)).size()); |
| assertEquals(resource.objects().size(), ((List) recycled.get("objects")).size()); |
| assertEquals(((Vertex) resource.objects().get(0)).id(), ((Map) ((List) recycled.get("objects")).get(0)).get("id")); |
| assertEquals(((Vertex) resource.objects().get(0)).label(), ((Map) ((List) recycled.get("objects")).get(0)).get("label")); |
| assertEquals(((Vertex) resource.objects().get(1)).id(), ((Map) ((List) recycled.get("objects")).get(1)).get("id")); |
| assertEquals(((Vertex) resource.objects().get(1)).label(), ((Map) ((List) recycled.get("objects")).get(1)).get("label")); |
| 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 shouldReadWriteSessionClose() throws Exception { |
| final String resourceName = "sessionclose"; |
| assumeCompatibility(resourceName); |
| |
| 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(fromStatic, recycled); |
| assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId")); |
| assertEquals(resource.getOp(), fromStatic.get("op")); |
| assertEquals(resource.getProcessor(), fromStatic.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) fromStatic.get("args")).size()); |
| assertEquals(resource.getArgs().get("session").toString(), ((Map) fromStatic.get("args")).get("session")); |
| assertEquals(resource.getRequestId().toString(), recycled.get("requestId")); |
| assertEquals(resource.getOp(), recycled.get("op")); |
| assertEquals(resource.getProcessor(), recycled.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) recycled.get("args")).size()); |
| assertEquals(resource.getArgs().get("session").toString(), ((Map) recycled.get("args")).get("session")); |
| } |
| |
| @Test |
| public void shouldReadWriteSessionEval() throws Exception { |
| final String resourceName = "sessioneval"; |
| assumeCompatibility(resourceName); |
| |
| 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(fromStatic, recycled); |
| assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId")); |
| assertEquals(resource.getOp(), fromStatic.get("op")); |
| assertEquals(resource.getProcessor(), fromStatic.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) fromStatic.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) fromStatic.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) fromStatic.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("session").toString(), ((Map) fromStatic.get("args")).get("session")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) fromStatic.get("args")).get("bindings")); |
| assertEquals(resource.getRequestId().toString(), recycled.get("requestId")); |
| assertEquals(resource.getOp(), recycled.get("op")); |
| assertEquals(resource.getProcessor(), recycled.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) recycled.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) recycled.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) recycled.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("session").toString(), ((Map) recycled.get("args")).get("session")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) recycled.get("args")).get("bindings")); |
| } |
| |
| @Test |
| public void shouldReadWriteSessionEvalAliased() throws Exception { |
| final String resourceName = "sessionevalaliased"; |
| assumeCompatibility(resourceName); |
| |
| 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(fromStatic, recycled); |
| assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId")); |
| assertEquals(resource.getOp(), fromStatic.get("op")); |
| assertEquals(resource.getProcessor(), fromStatic.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) fromStatic.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) fromStatic.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) fromStatic.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("session").toString(), ((Map) fromStatic.get("args")).get("session")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) fromStatic.get("args")).get("bindings")); |
| assertEquals(resource.getArgs().get("aliased"), ((Map) fromStatic.get("args")).get("aliased")); |
| assertEquals(resource.getRequestId().toString(), recycled.get("requestId")); |
| assertEquals(resource.getOp(), recycled.get("op")); |
| assertEquals(resource.getProcessor(), recycled.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) recycled.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) recycled.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) recycled.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("session").toString(), ((Map) recycled.get("args")).get("session")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) recycled.get("args")).get("bindings")); |
| assertEquals(resource.getArgs().get("aliased"), ((Map) recycled.get("args")).get("aliased")); |
| } |
| |
| @Test |
| public void shouldReadWriteSessionlessEval() throws Exception { |
| final String resourceName = "sessionlesseval"; |
| assumeCompatibility(resourceName); |
| |
| 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(fromStatic, recycled); |
| assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId")); |
| assertEquals(resource.getOp(), fromStatic.get("op")); |
| assertEquals(resource.getProcessor(), fromStatic.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) fromStatic.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) fromStatic.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) fromStatic.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) fromStatic.get("args")).get("bindings")); |
| assertEquals(resource.getRequestId().toString(), recycled.get("requestId")); |
| assertEquals(resource.getOp(), recycled.get("op")); |
| assertEquals(resource.getProcessor(), recycled.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) recycled.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) recycled.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) recycled.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) recycled.get("args")).get("bindings")); |
| } |
| |
| @Test |
| public void shouldReadWriteSessionlessEvalAliased() throws Exception { |
| final String resourceName = "sessionlessevalaliased"; |
| assumeCompatibility(resourceName); |
| |
| 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(fromStatic, recycled); |
| assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId")); |
| assertEquals(resource.getOp(), fromStatic.get("op")); |
| assertEquals(resource.getProcessor(), fromStatic.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) fromStatic.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) fromStatic.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) fromStatic.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) fromStatic.get("args")).get("bindings")); |
| assertEquals(resource.getArgs().get("aliased"), ((Map) fromStatic.get("args")).get("aliased")); |
| assertEquals(resource.getRequestId().toString(), recycled.get("requestId")); |
| assertEquals(resource.getOp(), recycled.get("op")); |
| assertEquals(resource.getProcessor(), recycled.get("processor")); |
| assertEquals(resource.getArgs().size(), ((Map) recycled.get("args")).size()); |
| assertEquals(resource.getArgs().get("gremlin"), ((Map) recycled.get("args")).get("gremlin")); |
| assertEquals(resource.getArgs().get("language"), ((Map) recycled.get("args")).get("language")); |
| assertEquals(resource.getArgs().get("bindings"), ((Map) recycled.get("args")).get("bindings")); |
| assertEquals(resource.getArgs().get("aliased"), ((Map) recycled.get("args")).get("aliased")); |
| } |
| |
| @Test |
| public void shouldReadWriteStandardResult() throws Exception { |
| final String resourceName = "standardresult"; |
| assumeCompatibility(resourceName); |
| |
| 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(fromStatic, recycled); |
| assertEquals(resource.getRequestId().toString(), fromStatic.get("requestId")); |
| assertEquals(resource.getStatus().getCode().getValue(), ((Map) fromStatic.get("status")).get("code")); |
| assertEquals(resource.getStatus().getMessage(), ((Map) fromStatic.get("status")).get("message")); |
| assertEquals(resource.getStatus().getAttributes(), ((Map) fromStatic.get("status")).get("attributes")); |
| assertEquals(resource.getResult().getMeta(), ((Map) fromStatic.get("result")).get("meta")); |
| assertEquals(((List) resource.getResult().getData()).size(), ((List) ((Map) fromStatic.get("result")).get("data")).size()); |
| } |
| |
| @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")); |
| } |
| } |