summaryrefslogtreecommitdiffstats
path: root/aai-queries/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'aai-queries/src/test')
-rw-r--r--aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java90
-rw-r--r--aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java269
-rw-r--r--aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java140
3 files changed, 238 insertions, 261 deletions
diff --git a/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java b/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
index 15943b7..2ca90ea 100644
--- a/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
+++ b/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,15 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.queries;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+
import org.apache.commons.io.IOUtils;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -43,58 +50,43 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-
-import static org.junit.Assert.assertNotNull;
-
-@ContextConfiguration(classes = {
- SchemaLocationsBean.class,
- SchemaVersions.class,
- AAIConfigTranslator.class,
- EdgeIngestor.class,
- EdgeSerializer.class,
- NodeIngestor.class,
- SpringContextAware.class,
- IntrospectionConfig.class ,
- RestBeanConfig.class,
- GremlinServerSingleton.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.ingest.file = src/test/resources/application-test.properties"
-})
+@ContextConfiguration(
+ classes = {SchemaLocationsBean.class, SchemaVersions.class, AAIConfigTranslator.class,
+ EdgeIngestor.class, EdgeSerializer.class, NodeIngestor.class, SpringContextAware.class,
+ IntrospectionConfig.class, RestBeanConfig.class, GremlinServerSingleton.class})
+@TestPropertySource(
+ properties = {"schema.uri.base.path = /aai",
+ "schema.ingest.file = src/test/resources/application-test.properties"})
public abstract class AAISetup {
- @Autowired
- protected NodeIngestor nodeIngestor;
+ @Autowired
+ protected NodeIngestor nodeIngestor;
- @Autowired
- protected LoaderFactory loaderFactory;
+ @Autowired
+ protected LoaderFactory loaderFactory;
- @Autowired
- protected Map<SchemaVersion, MoxyLoader> moxyLoaderInstance;
+ @Autowired
+ protected Map<SchemaVersion, MoxyLoader> moxyLoaderInstance;
- @Autowired
- protected HttpEntry traversalHttpEntry;
+ @Autowired
+ protected HttpEntry traversalHttpEntry;
- @Autowired
- protected HttpEntry traversalUriHttpEntry;
+ @Autowired
+ protected HttpEntry traversalUriHttpEntry;
- @Autowired
- protected EdgeSerializer edgeSer;
+ @Autowired
+ protected EdgeSerializer edgeSer;
- @Autowired
- protected EdgeIngestor edgeIngestor;
+ @Autowired
+ protected EdgeIngestor edgeIngestor;
- @Autowired
- protected SchemaVersions schemaVersions;
+ @Autowired
+ protected SchemaVersions schemaVersions;
- @Autowired
- protected GremlinServerSingleton gremlinServerSingleton;
+ @Autowired
+ protected GremlinServerSingleton gremlinServerSingleton;
- @Value("${schema.uri.base.path}")
- protected String basePath;
+ @Value("${schema.uri.base.path}")
+ protected String basePath;
@ClassRule
public static final SpringClassRule springClassRule = new SpringClassRule();
@@ -111,9 +103,7 @@ public abstract class AAISetup {
public String getPayload(String filename) throws IOException {
- InputStream inputStream = getClass()
- .getClassLoader()
- .getResourceAsStream(filename);
+ InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filename);
String message = String.format("Unable to find the %s in src/test/resources", filename);
assertNotNull(message, inputStream);
@@ -122,11 +112,3 @@ public abstract class AAISetup {
return resource;
}
}
-
-
-
-
-
-
-
-
diff --git a/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java b/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
index 25591e7..7c766c9 100644
--- a/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
+++ b/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,14 +17,26 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.queries;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.when;
+
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
import com.jayway.jsonpath.JsonPath;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.util.*;
+import java.util.stream.Collectors;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Graph;
@@ -58,6 +70,8 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
import org.onap.aai.setup.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.test.context.ContextConfiguration;
@@ -65,167 +79,138 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.nio.file.Files;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
-
@RunWith(Parameterized.class)
-@ContextConfiguration(classes = {
- SchemaLocationsBean.class,
- SchemaConfigVersions.class,
- AAIConfigTranslator.class,
- EdgeIngestor.class,
- EdgeSerializer.class,
- NodeIngestor.class,
- SpringContextAware.class,
- GremlinServerSingleton.class,
- IntrospectionConfig.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.source.name = onap",
- "schema.ingest.file = src/test/resources/application-test.properties"
-})
+@ContextConfiguration(
+ classes = {SchemaLocationsBean.class, SchemaConfigVersions.class, AAIConfigTranslator.class,
+ EdgeIngestor.class, EdgeSerializer.class, NodeIngestor.class, SpringContextAware.class,
+ GremlinServerSingleton.class, IntrospectionConfig.class})
+@TestPropertySource(
+ properties = {"schema.uri.base.path = /aai", "schema.source.name = onap",
+ "schema.ingest.file = src/test/resources/application-test.properties"})
public abstract class OnapQueryTest {
- @ClassRule
+ @ClassRule
public static final SpringClassRule springClassRule = new SpringClassRule();
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
- protected Logger logger;
- protected Graph graph;
- protected GremlinGroovyShell shell;
- @Mock protected TransactionalGraphEngine dbEngine;
- protected final List<Vertex> expectedResult = new ArrayList<>();
-
- @Autowired
- protected EdgeIngestor edgeRules;
-
- @Autowired
- protected EdgeSerializer rules;
-
- @Autowired
- protected LoaderFactory loaderFactory;
-
- @Autowired
- protected SchemaVersions schemaVersions;
-
- protected Loader loader;
- protected GraphTraversalSource gts;
-
- @Autowired
- protected GremlinServerSingleton gremlinServerSingleton;
-
- @Parameterized.Parameter(value = 0)
- public SchemaVersion version;
-
- @Parameterized.Parameters(name = "Version.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {new SchemaVersion("v11")},
- {new SchemaVersion("v12")},
- {new SchemaVersion("v13")},
- {new SchemaVersion("v14")},
- {new SchemaVersion("v15")},
- {new SchemaVersion("v16")},
- {new SchemaVersion("v17")},
- {new SchemaVersion("v18")},
- {new SchemaVersion("v19")},
- {new SchemaVersion("v20")}
- });
- }
-
- protected String query;
-
- LinkedHashMap <String, Object> params;
-
- @Autowired
- private Environment env;
-
- @BeforeClass
- public static void setupBundleconfig() {
- System.setProperty("AJSC_HOME", "./");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
- }
-
- @Before
- public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException, IOException {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
- logger = LoggerFactory.getLogger(getClass());
- MockitoAnnotations.initMocks(this);
- graph = TinkerGraph.open();
- gts = graph.traversal();
- createGraph();
- shell = new GremlinGroovyShell();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
+ protected Logger logger;
+ protected Graph graph;
+ protected GremlinGroovyShell shell;
+ @Mock
+ protected TransactionalGraphEngine dbEngine;
+ protected final List<Vertex> expectedResult = new ArrayList<>();
+
+ @Autowired
+ protected EdgeIngestor edgeRules;
+
+ @Autowired
+ protected EdgeSerializer rules;
+
+ @Autowired
+ protected LoaderFactory loaderFactory;
+
+ @Autowired
+ protected SchemaVersions schemaVersions;
+
+ protected Loader loader;
+ protected GraphTraversalSource gts;
+
+ @Autowired
+ protected GremlinServerSingleton gremlinServerSingleton;
+
+ @Parameterized.Parameter(value = 0)
+ public SchemaVersion version;
+
+ @Parameterized.Parameters(name = "Version.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][] {{new SchemaVersion("v11")}, {new SchemaVersion("v12")},
+ {new SchemaVersion("v13")}, {new SchemaVersion("v14")}, {new SchemaVersion("v15")},
+ {new SchemaVersion("v16")}, {new SchemaVersion("v17")}, {new SchemaVersion("v18")},
+ {new SchemaVersion("v19")}, {new SchemaVersion("v20")}});
+ }
+
+ protected String query;
+
+ LinkedHashMap<String, Object> params;
+
+ @Autowired
+ private Environment env;
+
+ @BeforeClass
+ public static void setupBundleconfig() {
+ System.setProperty("AJSC_HOME", "./");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
+ }
+
+ @Before
+ public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException,
+ AmbiguousRuleChoiceException, IOException {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
+ logger = LoggerFactory.getLogger(getClass());
+ MockitoAnnotations.initMocks(this);
+ graph = TinkerGraph.open();
+ gts = graph.traversal();
+ createGraph();
+ shell = new GremlinGroovyShell();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
setUpQuery();
- }
-
-
- protected void setUpQuery() {
- query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
- params = new LinkedHashMap <>();
- addParam(params);
- when(dbEngine.getQueryBuilder(any(QueryStyle.class))).thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
- logger.info("Stored query in abstraction form {}", query);
- query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
- logger.info("After converting to gremlin query {}", query);
- query = "g" + query;
- GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
- addStartNode(g);
- params.put("g", g);
- }
+ }
- public void run() {
+ protected void setUpQuery() {
+ query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
+ params = new LinkedHashMap<>();
+ addParam(params);
+ when(dbEngine.getQueryBuilder(any(QueryStyle.class)))
+ .thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
+ logger.info("Stored query in abstraction form {}", query);
+ query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
+ logger.info("After converting to gremlin query {}", query);
+ query = "g" + query;
+ GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
+ addStartNode(g);
+ params.put("g", g);
+ }
- GraphTraversal<Vertex, Vertex> result = (GraphTraversal<Vertex, Vertex>)shell.executeTraversal(query, params);
+ public void run() {
- List<Vertex> vertices = result.toList();
+ GraphTraversal<Vertex, Vertex> result =
+ (GraphTraversal<Vertex, Vertex>) shell.executeTraversal(query, params);
- logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
- logger.info("Actual Result set of vertexes [{}]", convert(vertices));
+ List<Vertex> vertices = result.toList();
- List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
- vertices = new ArrayList<>(new HashSet<>(vertices));
+ logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
+ logger.info("Actual Result set of vertexes [{}]", convert(vertices));
- nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
- vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+ List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
+ vertices = new ArrayList<>(new HashSet<>(vertices));
+ nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+ vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
- // Use this instead of the assertTrue as this provides more useful
- // debugging information such as this when expected and actual differ:
- // java.lang.AssertionError: Expected all the vertices to be found
- // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
- // Actual :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
- assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
+ // Use this instead of the assertTrue as this provides more useful
+ // debugging information such as this when expected and actual differ:
+ // java.lang.AssertionError: Expected all the vertices to be found
+ // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+ // Actual :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+ assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
- }
+ }
- protected String convert(List<Vertex> vertices){
- return vertices
- .stream()
- .map(vertex -> vertex.property("aai-node-type").value().toString())
- .collect(Collectors.joining(","));
- }
+ protected String convert(List<Vertex> vertices) {
+ return vertices.stream().map(vertex -> vertex.property("aai-node-type").value().toString())
+ .collect(Collectors.joining(","));
+ }
- protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
+ protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException,
+ EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
- protected abstract String getQueryName();
+ protected abstract String getQueryName();
- protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
+ protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
- protected abstract void addParam(Map<String, Object> params);
+ protected abstract void addParam(Map<String, Object> params);
}
diff --git a/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java b/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
index 6bc2705..373e251 100644
--- a/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
+++ b/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,10 +17,13 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.queries;
import static org.junit.Assert.assertTrue;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -29,71 +32,78 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class VnfToEsrSystemInfoQueryTest extends OnapQueryTest {
- public VnfToEsrSystemInfoQueryTest() {
- super();
- }
+ public VnfToEsrSystemInfoQueryTest() {
+ super();
+ }
- @Test
- public void run() {
- super.run();
+ @Test
+ public void run() {
+ super.run();
assertTrue(true);
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
- Vertex esr = graph.addVertex(T.label, "esr-system-info", T.id, "6", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-1");
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-id-2","vserver-name","vserver-name-2");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
- Vertex esr1 = graph.addVertex(T.label, "esr-system-info", T.id, "12", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-2");
-
-
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gnvf, vserver);
- rules.addTreeEdge(g, vserver,tenant);
- rules.addTreeEdge(g, tenant,cloudregion);
- rules.addTreeEdge(g, cloudregion, esr);
-
- //Not expected in result
- rules.addEdge(g, gnvf1, vserver1);
- rules.addTreeEdge(g, vserver1,tenant1);
- rules.addTreeEdge(g, tenant1,cloudregion1);
- rules.addTreeEdge(g, cloudregion1, esr1);
- //Not expected in result
-
- expectedResult.add(gnvf);
- expectedResult.add(vserver);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
- expectedResult.add(esr);
-
-
- }
-
- @Override
- protected String getQueryName() {
- return "vnf-to-esr-system-info";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+ Vertex esr = graph.addVertex(T.label, "esr-system-info", T.id, "6", "aai-node-type",
+ "esr-system-info", "esr-system-info-id", "esr-system-info-1");
+
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+ Vertex esr1 = graph.addVertex(T.label, "esr-system-info", T.id, "12", "aai-node-type",
+ "esr-system-info", "esr-system-info-id", "esr-system-info-2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gnvf, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, cloudregion, esr);
+
+ // Not expected in result
+ rules.addEdge(g, gnvf1, vserver1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addTreeEdge(g, cloudregion1, esr1);
+ // Not expected in result
+
+ expectedResult.add(gnvf);
+ expectedResult.add(vserver);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+ expectedResult.add(esr);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnf-to-esr-system-info";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}