Release 1.14.3 docker artifact of aai-traversal
[aai/traversal.git] / aai-traversal / src / test / java / org / onap / aai / rest / search / CloudRegionFromNfTypeQueryTest.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20 package org.onap.aai.rest.search;
21
22 import java.util.Map;
23
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;
31
32 public class CloudRegionFromNfTypeQueryTest extends QueryTest {
33     public CloudRegionFromNfTypeQueryTest() throws AAIException, NoEdgeRuleFoundException {
34         super();
35     }
36
37     @Test
38     public void run() {
39         super.run();
40     }
41
42     @Override
43     protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
44         // set up test graph
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");
47         Vertex cloudregion0 =
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");
54
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");
57         Vertex cloudregion3 =
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");
64
65         GraphTraversalSource g = graph.traversal();
66
67         rules.addTreeEdge(g, tenant, cloudregion0);
68         rules.addTreeEdge(g, vserver1, tenant);
69         rules.addEdge(g, genericvnf, vserver1);
70
71         rules.addTreeEdge(g, tenant2, cloudregion3);
72         rules.addTreeEdge(g, vserver2, tenant2);
73         rules.addEdge(g, genericvnf2, vserver2);
74
75         expectedResult.add(cloudregion0);
76     }
77
78     @Override
79     protected String getQueryName() {
80         return "cloudRegion-fromNfType";
81     }
82
83     @Override
84     protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
85         g.has("nf-type", "sample-nf-type");
86     }
87
88     @Override
89     protected void addParam(Map<String, Object> params) {
90         return;
91     }
92 }