Adjust sparky parent pom
[aai/sparky-be.git] / sparkybe-onap-service / src / test / java / org / onap / aai / sparky / viewandinspect / util / SchemaVisualizationTestDataBuilder.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.aai.sparky.viewandinspect.util;
23
24 import java.io.IOException;
25 import java.util.HashMap;
26 import java.util.Map;
27
28 import javax.json.Json;
29 import javax.json.JsonObjectBuilder;
30
31 import org.onap.aai.restclient.client.OperationResult;
32 import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
33 import org.onap.aai.sparky.util.OxmModelAndProcessorHelper;
34 import org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs;
35 import org.onap.aai.sparky.viewandinspect.entity.ActiveInventoryNode;
36 import org.restlet.data.Status;
37
38
39 public class SchemaVisualizationTestDataBuilder {
40   
41   // All of these hash IDs were generated based off the self links of the aaiNodes populated below
42   public static final String ROOT_NODE_HASH_ID = "f2f7ca5b565b43d7ff7cffea26d3315caaaff709e03abac127604008fc323b23";
43   public static final String DEPTH_ONE_NODE_HASH_ID = "f845ab53e23cad7b9a3fc31aeef7b32bd21a72ba0fcdf568b1cfb116f2cff06f";
44   public static final String DEPTH_TWO_NODE_HASH_ID = "372a132a0cd9bacfe408b09e6518cf824dcfbf23297678ddc0a8bf4f55da5c66";
45   public static final String DEPTH_ONE_NODE_TWO_HASH_ID = "56a248219414380145b40eaa41b0482da388baa7492020d37687a998951ecdf9";
46     
47   Map<String, ActiveInventoryNode> aaiNodes;
48   
49   SchemaVisualizationTestDataBuilder() {
50     aaiNodes = new HashMap<String, ActiveInventoryNode>();
51   }
52   
53   public static String getQueryRequest() {
54     JsonObjectBuilder rootNodeBuilder = Json.createObjectBuilder();
55     rootNodeBuilder.add("hashId", "f2f7ca5b565b43d7ff7cffea26d3315caaaff709e03abac127604008fc323b23");
56     return rootNodeBuilder.build().toString();
57   }
58   
59   public static String getRawRootNode() {
60     
61     JsonObjectBuilder rootNodeBuilder = Json.createObjectBuilder();
62     rootNodeBuilder.add("_index", "magical-test-index");
63     rootNodeBuilder.add("_type", "default");
64     rootNodeBuilder.add("_id", "f2f7ca5b565b43d7ff7cffea26d3315caaaff709e03abac127604008fc323b23"); // Yes, hashed the link below
65     rootNodeBuilder.add("_version", 1);
66     rootNodeBuilder.add("found", true);
67     
68     JsonObjectBuilder sourceObjBuilder = Json.createObjectBuilder();
69     sourceObjBuilder.add("entityType", "vf-module");
70     sourceObjBuilder.add("entityPrimaryKeyValue", "root-node-pimary-key-value");
71     sourceObjBuilder.add("link", "/aai/v12/network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
72     sourceObjBuilder.add("searchTags", "root-node-pimary-key-value;root-node-name");
73     sourceObjBuilder.add("searchTagIDs", "vf-module-id;vf-module-name");
74     sourceObjBuilder.add("lastmodTimestamp", "2018-02-01T15:48:03.580+0000");
75     
76     rootNodeBuilder.add("_source", sourceObjBuilder.build());
77     
78     return rootNodeBuilder.build().toString();
79   }
80   
81   public static OperationResult getSchemaVisResult() {
82     OperationResult result = new OperationResult();
83     
84     result.setResult(Status.SUCCESS_OK.getCode(), "{}");
85     
86     return result;
87   }
88   
89   public static void buildAaiGraph(VisualizationConfigs visualizationConfigs) throws IOException {
90     OxmEntityLookup lookerOfTheOxmEntities = OxmModelAndProcessorHelper.getInstance().getOxmEntityLookup();
91     
92     ActiveInventoryNode rootNode = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
93     rootNode.setEntityType("vf-module");
94     rootNode.setPrimaryKeyName("vf-module-id");
95     rootNode.setPrimaryKeyValue("root-node-pimary-key-value");
96     rootNode.setSelfLink("/aai/v12/network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
97     rootNode.addProperty("entityType", "vf-module");
98     rootNode.addProperty("vf-module-id", "root-node-pimary-key-value");
99     rootNode.addProperty("selfLink", "/aai/v12/network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
100     rootNode.addProperty("vf-module-name", "this-is-my-name-eh");
101     rootNode.addProperty("is-base-vf-module", "false");
102     rootNode.addProperty("uri", "network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
103     rootNode.addProperty("orchestration-status", "Created");
104     rootNode.addProperty("resource-version", "432156789");
105     rootNode.setNodeId(ROOT_NODE_HASH_ID);
106     
107     ActiveInventoryNode depthOneNode = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
108     depthOneNode.setEntityType("vserver");
109     depthOneNode.setPrimaryKeyName("vserver-id");
110     depthOneNode.setPrimaryKeyValue("depth-one-from-root-node-vserver-id");
111     depthOneNode.setSelfLink("/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/cloud-region-id/ice-cream/tenants/tenant/tenant-id/vservers/vserver/depth-one-from-root-node-vserver-id");
112     depthOneNode.addProperty("entityType", "vserver");
113     depthOneNode.addProperty("vserver-id", "depth-one-from-root-node-vserver-id");
114     depthOneNode.addProperty("selfLink", "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/cloud-region-id/ice-cream/tenants/tenant/tenant-id/vservers/vserver/depth-one-from-root-node-vserver-id");
115     depthOneNode.addProperty("vserver-name", "depth-one-vserver");
116     depthOneNode.addProperty("in-maint", "false");
117     depthOneNode.addProperty("vserver-name2", "depth-one-vserver-name2");
118     depthOneNode.addProperty("vserver-selflink", "https://magicaltest.com:6666/v2/tenant-id/servers/depth-one-from-root-node-vserver-id");
119     depthOneNode.addProperty("uri", "cloud-infrastructure/cloud-regions/cloud-region/cloud-region-id/ice-cream/tenants/tenant/tenant-id/vservers/vserver/depth-one-from-root-node-vserver-id");
120     depthOneNode.addProperty("is-closed-loop-disabled", "false");
121     depthOneNode.addProperty("resource-version", "123456789");
122     depthOneNode.setNodeId(DEPTH_ONE_NODE_HASH_ID);
123     
124     ActiveInventoryNode depthTwoNode = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
125     depthTwoNode.setEntityType("pserver");
126     depthTwoNode.setPrimaryKeyName("hostname");
127     depthTwoNode.setPrimaryKeyValue("I-am-a-host");
128     depthTwoNode.setSelfLink("/aai/v12/cloud-infrastructure/pservers/pserver/depth-two-from-root-node-pserver-id");
129     depthTwoNode.addProperty("entityType", "pserver");
130     depthTwoNode.addProperty("hostname", "I-am-a-host");
131     depthTwoNode.addProperty("selfLink", "/aai/v12/cloud-infrastructure/pservers/pserver/depth-two-from-root-node-pserver-id");
132     depthTwoNode.addProperty("in-maint", "false");
133     depthTwoNode.addProperty("resource-version", "987654321");
134     depthTwoNode.addProperty("pserver-id", "depth-two-from-root-node-pserver-id");
135     depthTwoNode.addProperty("uri", "cloud-infrastructure/pservers/pserver/depth-two-from-root-node-pserver-id");
136     depthTwoNode.setNodeId(DEPTH_TWO_NODE_HASH_ID);
137     
138     ActiveInventoryNode depthOneNodeTwo = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
139     depthOneNodeTwo.setEntityType("vserver");
140     depthOneNodeTwo.setPrimaryKeyName("vserver-id");
141     depthOneNodeTwo.setPrimaryKeyValue("depth-one-from-root-node-vserver-id-2");
142     depthOneNodeTwo.setSelfLink("/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/cloud-region-id/ice-cream/tenants/tenant/tenant-id/vservers/vserver/depth-one-from-root-node-vserver-id-2");
143     depthOneNodeTwo.addProperty("entityType", "vserver");
144     depthOneNodeTwo.addProperty("vserver-id", "depth-one-from-root-node-vserver-id-2");
145     depthOneNodeTwo.addProperty("selfLink", "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/cloud-region-id/ice-cream/tenants/tenant/tenant-id/vservers/vserver/depth-one-from-root-node-vserver-id-2");
146     depthOneNodeTwo.addProperty("in-maint", "false");
147     depthOneNodeTwo.addProperty("resource-version", "678954321");
148     depthOneNodeTwo.addProperty("vserver-name", "depth-one-vserver-2");
149     depthOneNodeTwo.addProperty("vserver-name2", "depth-one-vserver-2-name2");
150     depthOneNodeTwo.addProperty("vserver-selflink", "https://magicaltest.com:6666/v2/tenant-id/servers/depth-one-from-root-node-vserver-id-2");
151     depthOneNodeTwo.addProperty("uri", "cloud-infrastructure/cloud-regions/cloud-region/cloud-region-id/ice-cream/tenants/tenant/tenant-id/vservers/vserver/depth-one-from-root-node-vserver-id-2");
152     depthOneNodeTwo.addProperty("is-closed-loop-disabled", "false");
153     depthOneNodeTwo.setNodeId(DEPTH_ONE_NODE_TWO_HASH_ID);
154   }
155 }