2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.aai.rest.search;
24 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
25 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
26 import org.apache.tinkerpop.gremlin.structure.T;
27 import org.apache.tinkerpop.gremlin.structure.Vertex;
28 import org.junit.Test;
29 import org.onap.aai.exceptions.AAIException;
30 import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
32 public class CloudRegionFromNfTypeQueryTest extends QueryTest {
33 public CloudRegionFromNfTypeQueryTest() throws AAIException, NoEdgeRuleFoundException {
43 protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
45 Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
46 "generic-vnf", "vnf-id", "vnfid01", "nf-type", "sample-nf-type");
48 graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region",
49 "cloud-region-id", "regionid00", "cloud-region-owner", "cloudOwnername00");
50 Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
51 "tenant-id", "tenantid01", "tenant-name", "tenantName01");
52 Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver",
53 "vserver-id", "vserverid01");
55 Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
56 "generic-vnf", "vnf-id", "vnfid02", "nf-type", "ex-nf-type");
58 graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type", "cloud-region",
59 "cloud-region-id", "regionid03", "cloud-region-owner", "cloudOwnername03");
60 Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant",
61 "tenant-id", "tenantid02", "tenant-name", "tenantName02");
62 Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type",
63 "vserver", "vserver-id", "vserverid02");
65 GraphTraversalSource g = graph.traversal();
67 rules.addTreeEdge(g, tenant, cloudregion0);
68 rules.addTreeEdge(g, vserver1, tenant);
69 rules.addEdge(g, genericvnf, vserver1);
71 rules.addTreeEdge(g, tenant2, cloudregion3);
72 rules.addTreeEdge(g, vserver2, tenant2);
73 rules.addEdge(g, genericvnf2, vserver2);
75 expectedResult.add(cloudregion0);
79 protected String getQueryName() {
80 return "cloudRegion-fromNfType";
84 protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
85 g.has("nf-type", "sample-nf-type");
89 protected void addParam(Map<String, Object> params) {