diff options
author | Maharajh, Robby (rx2202) <rx2202@us.att.com> | 2018-03-22 16:12:12 -0400 |
---|---|---|
committer | Maharajh, Robby (rx2202) <rx2202@att.com> | 2018-03-28 18:20:49 -0400 |
commit | f0d0c453645d19788da666d0e3c7c6ed9bb2516a (patch) | |
tree | 34c3cdb142b76320d356624f0991d9d1ae3df687 /aai-core/src/test | |
parent | 8824d311caf6023340e3663f4ff9f61dea8e4241 (diff) |
Add to aai-common query builder get parent step
Issue-ID: AAI-962
Change-Id: Ib4aa4ec3453f2c7099e1d7191917b44b323f2bb6
Signed-off-by: Maharajh, Robby (rx2202) <rx2202@att.com>
Diffstat (limited to 'aai-core/src/test')
4 files changed, 73 insertions, 1 deletions
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<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) { + return new GremlinTraversal<>(loader, g, v, testEdgeRules); + } + + @Override + protected QueryBuilder<Path> 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<Path> 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<Vertex> 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<Tree> getNewTreeTraversalWithTestEdgeRules(); + protected abstract QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v); + + protected abstract QueryBuilder<Path> 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<Tree> getNewTreeTraversalWithTestEdgeRules() { return new TraversalQuery<>(loader, g, testEdgeRules); } + + @Override + protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) { + return new TraversalQuery<>(loader, g, v, testEdgeRules); + } + + @Override + protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() { + return new TraversalQuery<>(loader, g, testEdgeRules); + } @Test public void unionQuery() { diff --git a/aai-core/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json b/aai-core/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json index 515831e9..d68ad35b 100644 --- a/aai-core/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json +++ b/aai-core/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json @@ -152,6 +152,18 @@ "prevent-delete": "NONE", "default": "true", "description": "Hard to describe" + }, + { + "from": "l-interface", + "to": "p-interface", + "label": "tosca.relationships.network.BindsTo", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "!${direction}", + "SVC-INFRA": "${direction}", + "delete-other-v": "!${direction}", + "prevent-delete": "NONE", + "default": "true" } ] } |