From f0d0c453645d19788da666d0e3c7c6ed9bb2516a Mon Sep 17 00:00:00 2001 From: "Maharajh, Robby (rx2202)" Date: Thu, 22 Mar 2018 16:12:12 -0400 Subject: Add to aai-common query builder get parent step Issue-ID: AAI-962 Change-Id: Ib4aa4ec3453f2c7099e1d7191917b44b323f2bb6 Signed-off-by: Maharajh, Robby (rx2202) --- .../aai/query/builder/GremlinTraversalTest.java | 11 ++++++ .../query/builder/QueryBuilderTestAbstraction.java | 40 +++++++++++++++++++++- .../onap/aai/query/builder/TraversalQueryTest.java | 11 ++++++ 3 files changed, 61 insertions(+), 1 deletion(-) (limited to 'aai-core/src/test/java') diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java index 3632543f..18f4714c 100644 --- a/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java +++ b/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java @@ -19,6 +19,7 @@ */ package org.onap.aai.query.builder; +import org.apache.tinkerpop.gremlin.process.traversal.Path; import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; import org.apache.tinkerpop.gremlin.structure.Edge; import org.apache.tinkerpop.gremlin.structure.Vertex; @@ -55,5 +56,15 @@ public class GremlinTraversalTest extends QueryBuilderTestAbstraction { return new GremlinTraversal<>(loader, g, testEdgeRules); } + @Override + protected QueryBuilder getNewPathTraversalWithTestEdgeRules(Vertex v) { + return new GremlinTraversal<>(loader, g, v, testEdgeRules); + } + + @Override + protected QueryBuilder getNewPathTraversalWithTestEdgeRules() { + return new GremlinTraversal<>(loader, g, testEdgeRules); + } + } diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java b/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java index 6d45d947..de1ed44c 100644 --- a/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java +++ b/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java @@ -19,13 +19,14 @@ */ package org.onap.aai.query.builder; -import org.janusgraph.core.JanusGraphFactory; +import org.apache.tinkerpop.gremlin.process.traversal.Path; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet; import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; import org.apache.tinkerpop.gremlin.structure.Edge; import org.apache.tinkerpop.gremlin.structure.Graph; import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.janusgraph.core.JanusGraphFactory; import org.junit.*; import org.onap.aai.AAISetup; import org.onap.aai.db.props.AAIProperties; @@ -42,6 +43,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.collection.IsIterableContainingInOrder.contains; import static org.junit.Assert.*; public abstract class QueryBuilderTestAbstraction extends AAISetup { @@ -105,6 +108,38 @@ public abstract class QueryBuilderTestAbstraction extends AAISetup { } + + @SuppressWarnings("rawtypes") + @Test + public void createEdgeLinterfaceToLogicalLinkTraversal_Path() throws AAIException { + Vertex pInterface = g.addV("aai-node-type","p-interface","interface-name","p-interface-a").next(); + Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next(); + Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next(); + testEdgeRules.addEdge(g, lInterface, logicalLink); + testEdgeRules.addTreeEdge(g, pInterface, lInterface); + + QueryBuilder tQ = getNewPathTraversalWithTestEdgeRules(pInterface).createEdgeTraversal(EdgeType.TREE, + loader.introspectorFromName("p-interface" ), loader.introspectorFromName("l-interface")).createEdgeTraversal(EdgeType.COUSIN, + loader.introspectorFromName("l-interface" ), loader.introspectorFromName("logical-link")).path(); + + Path path = tQ.next(); + assertThat(path.objects(), contains(pInterface, lInterface, logicalLink)); + } + + @SuppressWarnings("rawtypes") + @Test + public void parentVertexTest() throws AAIException { + Vertex pInterface = g.addV("aai-node-type","p-interface","interface-name","p-interface-a").next(); + Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next(); + + testEdgeRules.addTreeEdge(g, pInterface, lInterface); + + QueryBuilder tQ = getNewEdgeTraversalWithTestEdgeRules(lInterface).getParentVertex(); + + Vertex parent = tQ.next(); + assertThat(parent, is(pInterface)); + } + @Test public void createEdgeLinterfaceToLogicalLinkIntrospectorTraversal() throws AAIException { @@ -644,5 +679,8 @@ public abstract class QueryBuilderTestAbstraction extends AAISetup { protected abstract QueryBuilder getNewTreeTraversalWithTestEdgeRules(); + protected abstract QueryBuilder getNewPathTraversalWithTestEdgeRules(Vertex v); + + protected abstract QueryBuilder getNewPathTraversalWithTestEdgeRules(); } diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java index 1eeca6f0..b38d13d6 100644 --- a/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java +++ b/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java @@ -19,6 +19,7 @@ */ package org.onap.aai.query.builder; +import org.apache.tinkerpop.gremlin.process.traversal.Path; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__; import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; @@ -74,6 +75,16 @@ public class TraversalQueryTest extends QueryBuilderTestAbstraction { protected QueryBuilder getNewTreeTraversalWithTestEdgeRules() { return new TraversalQuery<>(loader, g, testEdgeRules); } + + @Override + protected QueryBuilder getNewPathTraversalWithTestEdgeRules(Vertex v) { + return new TraversalQuery<>(loader, g, v, testEdgeRules); + } + + @Override + protected QueryBuilder getNewPathTraversalWithTestEdgeRules() { + return new TraversalQuery<>(loader, g, testEdgeRules); + } @Test public void unionQuery() { -- cgit 1.2.3-korg