Increasing test coverage
[aai/sparky-be.git] / src / test / java / org / onap / aai / sparky / viewandinspect / util / SchemaVisualizationTestDataBuilder.java
1 package org.onap.aai.sparky.viewandinspect.util;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import javax.json.Json;
7 import javax.json.JsonObjectBuilder;
8
9 import org.onap.aai.restclient.client.OperationResult;
10 import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
11 import org.onap.aai.sparky.config.oxm.OxmModelLoader;
12 import org.onap.aai.sparky.util.NodeUtils;
13 import org.onap.aai.sparky.util.OxmModelAndProcessorHelper;
14 import org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs;
15 import org.onap.aai.sparky.viewandinspect.entity.ActiveInventoryNode;
16 import org.restlet.data.Status;
17
18
19 public class SchemaVisualizationTestDataBuilder {
20   
21   // All of these hash IDs were generated based off the self links of the aaiNodes populated below
22   public static final String ROOT_NODE_HASH_ID = "f2f7ca5b565b43d7ff7cffea26d3315caaaff709e03abac127604008fc323b23";
23   public static final String DEPTH_ONE_NODE_HASH_ID = "f845ab53e23cad7b9a3fc31aeef7b32bd21a72ba0fcdf568b1cfb116f2cff06f";
24   public static final String DEPTH_TWO_NODE_HASH_ID = "372a132a0cd9bacfe408b09e6518cf824dcfbf23297678ddc0a8bf4f55da5c66";
25   public static final String DEPTH_ONE_NODE_TWO_HASH_ID = "56a248219414380145b40eaa41b0482da388baa7492020d37687a998951ecdf9";
26     
27   Map<String, ActiveInventoryNode> aaiNodes;
28   
29   SchemaVisualizationTestDataBuilder() {
30     aaiNodes = new HashMap<String, ActiveInventoryNode>();
31   }
32   
33   public static String getQueryRequest() {
34     JsonObjectBuilder rootNodeBuilder = Json.createObjectBuilder();
35     rootNodeBuilder.add("hashId", "f2f7ca5b565b43d7ff7cffea26d3315caaaff709e03abac127604008fc323b23");
36     return rootNodeBuilder.build().toString();
37   }
38   
39   public static String getRawRootNode() {
40     
41     JsonObjectBuilder rootNodeBuilder = Json.createObjectBuilder();
42     rootNodeBuilder.add("_index", "magical-test-index");
43     rootNodeBuilder.add("_type", "default");
44     rootNodeBuilder.add("_id", "f2f7ca5b565b43d7ff7cffea26d3315caaaff709e03abac127604008fc323b23"); // Yes, hashed the link below
45     rootNodeBuilder.add("_version", 1);
46     rootNodeBuilder.add("found", true);
47     
48     JsonObjectBuilder sourceObjBuilder = Json.createObjectBuilder();
49     sourceObjBuilder.add("entityType", "vf-module");
50     sourceObjBuilder.add("entityPrimaryKeyValue", "root-node-pimary-key-value");
51     sourceObjBuilder.add("link", "/aai/v12/network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
52     sourceObjBuilder.add("searchTags", "root-node-pimary-key-value;root-node-name");
53     sourceObjBuilder.add("searchTagIDs", "vf-module-id;vf-module-name");
54     sourceObjBuilder.add("lastmodTimestamp", "2018-02-01T15:48:03.580+0000");
55     
56     rootNodeBuilder.add("_source", sourceObjBuilder.build());
57     
58     return rootNodeBuilder.build().toString();
59   }
60   
61   public static OperationResult getSchemaVisResult() {
62     OperationResult result = new OperationResult();
63     
64     result.setResult(Status.SUCCESS_OK.getCode(), "{}");
65     
66     return result;
67   }
68   
69   public static void buildAaiGraph(VisualizationConfigs visualizationConfigs) {
70     OxmEntityLookup lookerOfTheOxmEntities = OxmModelAndProcessorHelper.getInstance().getOxmEntityLookup();
71     
72     ActiveInventoryNode rootNode = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
73     rootNode.setEntityType("vf-module");
74     rootNode.setPrimaryKeyName("vf-module-id");
75     rootNode.setPrimaryKeyValue("root-node-pimary-key-value");
76     rootNode.setSelfLink("/aai/v12/network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
77     rootNode.addProperty("entityType", "vf-module");
78     rootNode.addProperty("vf-module-id", "root-node-pimary-key-value");
79     rootNode.addProperty("selfLink", "/aai/v12/network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
80     rootNode.addProperty("vf-module-name", "this-is-my-name-eh");
81     rootNode.addProperty("is-base-vf-module", "false");
82     rootNode.addProperty("uri", "network/generic-vnfs/generic-vnf/root-nodes-generic-vnf/vf-modules/vf-module/root-node-pimary-key-value");
83     rootNode.addProperty("orchestration-status", "Created");
84     rootNode.addProperty("resource-version", "432156789");
85     rootNode.setNodeId(ROOT_NODE_HASH_ID);
86     
87     ActiveInventoryNode depthOneNode = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
88     depthOneNode.setEntityType("vserver");
89     depthOneNode.setPrimaryKeyName("vserver-id");
90     depthOneNode.setPrimaryKeyValue("depth-one-from-root-node-vserver-id");
91     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");
92     depthOneNode.addProperty("entityType", "vserver");
93     depthOneNode.addProperty("vserver-id", "depth-one-from-root-node-vserver-id");
94     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");
95     depthOneNode.addProperty("vserver-name", "depth-one-vserver");
96     depthOneNode.addProperty("in-maint", "false");
97     depthOneNode.addProperty("vserver-name2", "depth-one-vserver-name2");
98     depthOneNode.addProperty("vserver-selflink", "https://magicaltest.com:6666/v2/tenant-id/servers/depth-one-from-root-node-vserver-id");
99     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");
100     depthOneNode.addProperty("is-closed-loop-disabled", "false");
101     depthOneNode.addProperty("resource-version", "123456789");
102     depthOneNode.setNodeId(DEPTH_ONE_NODE_HASH_ID);
103     
104     ActiveInventoryNode depthTwoNode = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
105     depthTwoNode.setEntityType("pserver");
106     depthTwoNode.setPrimaryKeyName("hostname");
107     depthTwoNode.setPrimaryKeyValue("I-am-a-host");
108     depthTwoNode.setSelfLink("/aai/v12/cloud-infrastructure/pservers/pserver/depth-two-from-root-node-pserver-id");
109     depthTwoNode.addProperty("entityType", "pserver");
110     depthTwoNode.addProperty("hostname", "I-am-a-host");
111     depthTwoNode.addProperty("selfLink", "/aai/v12/cloud-infrastructure/pservers/pserver/depth-two-from-root-node-pserver-id");
112     depthTwoNode.addProperty("in-maint", "false");
113     depthTwoNode.addProperty("resource-version", "987654321");
114     depthTwoNode.addProperty("pserver-id", "depth-two-from-root-node-pserver-id");
115     depthTwoNode.addProperty("uri", "cloud-infrastructure/pservers/pserver/depth-two-from-root-node-pserver-id");
116     depthTwoNode.setNodeId(DEPTH_TWO_NODE_HASH_ID);
117     
118     ActiveInventoryNode depthOneNodeTwo = new ActiveInventoryNode(visualizationConfigs, lookerOfTheOxmEntities);
119     depthOneNodeTwo.setEntityType("vserver");
120     depthOneNodeTwo.setPrimaryKeyName("vserver-id");
121     depthOneNodeTwo.setPrimaryKeyValue("depth-one-from-root-node-vserver-id-2");
122     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");
123     depthOneNodeTwo.addProperty("entityType", "vserver");
124     depthOneNodeTwo.addProperty("vserver-id", "depth-one-from-root-node-vserver-id-2");
125     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");
126     depthOneNodeTwo.addProperty("in-maint", "false");
127     depthOneNodeTwo.addProperty("resource-version", "678954321");
128     depthOneNodeTwo.addProperty("vserver-name", "depth-one-vserver-2");
129     depthOneNodeTwo.addProperty("vserver-name2", "depth-one-vserver-2-name2");
130     depthOneNodeTwo.addProperty("vserver-selflink", "https://magicaltest.com:6666/v2/tenant-id/servers/depth-one-from-root-node-vserver-id-2");
131     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");
132     depthOneNodeTwo.addProperty("is-closed-loop-disabled", "false");
133     depthOneNodeTwo.setNodeId(DEPTH_ONE_NODE_TWO_HASH_ID);
134   }
135 }