* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
*/
package org.onap.aai.query.builder;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.*;
import org.onap.aai.AAISetup;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.exceptions.AAIException;
public abstract class QueryBuilderTestAbstraction extends AAISetup {
- protected Loader loader;
- protected Graph graph;
+ protected static Loader loader;
+ protected static Graph graph;
protected GraphTraversalSource g;
-
+
protected EdgeRules testEdgeRules = EdgeRules.getInstance("/dbedgerules/DbEdgeRules_TraversalQueryTest.json");
- @Before
- public void configure() throws Exception {
+
+ @BeforeClass
+ public static void setup() throws Exception {
loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, AAIProperties.LATEST);
graph = TitanFactory.build().set("storage.backend", "inmemory").open();
+ }
+
+ @Before
+ public void configure() throws Exception {
g = graph.traversal();
}
-
+
+ @After
+ public void deConfigure() throws Exception {
+ g.tx().rollback();
+ }
+
+ @AfterClass
+ public static void teardown() throws Exception {
+ graph.close();
+ }
@Test
public void createEdgeGVnfToVnfcTraversal() throws AAIException {
assertEquals(vnfc, tQ.next());
- g.tx().rollback();
+
}
@Test
assertEquals(logicalLink, next);
- g.tx().rollback();
+
}
@Test
assertEquals(logicalLink, next);
- g.tx().rollback();
+
}
@Test
assertEquals(logicalLink, next);
- g.tx().rollback();
+
}
@Test
assertEquals("Has 1 vertexes ", 1, list.size());
assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
- g.tx().rollback();
+
}
@Test
assertEquals("2 - Has 1 vertexes ", 1, list2.size());
assertTrue("2 - traversal results in vce ", list2.contains(vce));
- g.tx().rollback();
+
}
@Test
assertEquals("1 - Has 1 vertexes ", 1, list.size());
assertTrue("1 - traversal results in vnfc ", list.contains(pserver));
- g.tx().rollback();
+
}
@Test
assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
assertTrue("Has vertex on the re-uses edge ", list.contains(vnfc2));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 1 vertexes ", 1, list.size());
assertTrue("Only returns the generic vnf vertex", list.contains(gvnf));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 1 vertexes ", 1, list.size());
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 2, list.size());
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 2, list.size());
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 1, list.size());
assertTrue("result has pserver ", list.contains(pserver));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 1, list.size());
assertEquals("result has pserver ",pserver, list.get(0).iterator().next());
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 2, list.size());
assertTrue("result has pserver ", list.contains(pserver));
- g.tx().rollback();
+
}
@Test
list.add(tQ.next());
assertFalse("Has next 3 ",tQ.hasNext());
assertTrue("Has all the vertexes", list.contains(v1) && list.remove(v2));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 2, list.size());
assertTrue("result has pserver ", list.contains(pserver));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 vertexes ", 2, list.size());
assertTrue("result has pserver ", list.contains(complex));
- g.tx().rollback();
+
}
@Test
assertEquals("1 - Has 1 edge ", 1, list.size());
assertTrue("1 - traversal results in edge ", list.contains(e));
- g.tx().rollback();
+
}
@Test
assertEquals("1 - Has 1 edge ", 1, list1.size());
assertTrue("1 - traversal results in edge ", list1.contains(e));
- g.tx().rollback();
+
}
@Test
assertTrue("result has default edge ", list.contains(e1));
assertTrue("result has other edge ", list.contains(e2));
- g.tx().rollback();
+
}
@Test
assertTrue("result has default edge ", list.contains(e1));
assertTrue("result has other edge ", list.contains(e2));
- g.tx().rollback();
+
}
@Test
assertTrue("result has default edge ", list.contains(e1));
assertTrue("result has other edge ", list.contains(e2));
- g.tx().rollback();
+
}
@Test (expected = NoEdgeRuleFoundException.class)
QueryBuilder<Edge> tQ = getNewEdgeTraversal(gvnf);
tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.emptyList());
- g.tx().rollback();
+
}
@Test
assertEquals("Has 1 edges ", 1, list.size());
assertFalse("result does not have default edge ", list.contains(e1));
assertTrue("result has other edge ", list.contains(e2));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 edges ", 2, list.size());
assertTrue("result has generic-vnf-pserver-A edge ", list.contains(e1));
assertTrue("result has generic-vnf-pserver-B edge ", list.contains(e2));
- g.tx().rollback();
+
}
@Test (expected = NoEdgeRuleFoundException.class)
List<Edge> list = tQ.toList();
- g.tx().rollback();
+
}
private Vertex getVertex() throws AAIException {
assertEquals("Has 1 edges ", 1, list.size());
assertFalse("result does not have default edge ", list.contains(e1));
assertTrue("result has other edge ", list.contains(e2));
- g.tx().rollback();
+
}
@Test
assertEquals("Has 2 edges ", 2, list.size());
assertTrue("result has generic-vnf-pserver-A edge ", list.contains(e1));
assertTrue("result has generic-vnf-pserver-B edge ", list.contains(e2));
- g.tx().rollback();
+
}
protected abstract QueryBuilder<Edge> getNewEdgeTraversal(Vertex v);