Merge automation from ECOMP's repository
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / aai / PresetAAIPostNamedQueryForViewEdit.java
1 package org.onap.simulator.presetGenerator.presets.aai;
2
3 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
4 import org.springframework.http.HttpMethod;
5
6 public class PresetAAIPostNamedQueryForViewEdit extends BaseAAIPreset {
7
8     private final String serviceInstanceId;
9     private final boolean hasProxyConfigurationInstance;
10     private final boolean hasFabricConfigurationInstance;
11     private String serviceInstanceName;
12     public static final String DEFAULT_SERVICE_INSTANCE_NAME = "test_sssdad";
13
14     public PresetAAIPostNamedQueryForViewEdit(String serviceInstanceId, boolean hasProxyConfigurationInstance, boolean hasFabricConfigurationInstance) {
15         this(serviceInstanceId, DEFAULT_SERVICE_INSTANCE_NAME, hasProxyConfigurationInstance, hasFabricConfigurationInstance);
16     }
17
18     public PresetAAIPostNamedQueryForViewEdit(String serviceInstanceId, String serviceInstanceName, boolean hasProxyConfigurationInstance, boolean hasFabricConfigurationInstance) {
19         this.serviceInstanceId = serviceInstanceId;
20         this.serviceInstanceName = serviceInstanceName;
21         this.hasProxyConfigurationInstance = hasProxyConfigurationInstance;
22         this.hasFabricConfigurationInstance = hasFabricConfigurationInstance;
23     }
24
25     // inspired by
26     // registration_to_simulator/search_for_service_instance/aai_named_query_for_view_edit_test_sssdad.json
27
28     @Override
29     public HttpMethod getReqMethod() {
30         return HttpMethod.POST;
31     }
32
33     @Override
34     public String getReqPath() {
35         return "/aai/search/named-query";
36     }
37
38     @Override
39     public Object getRequestBody() {
40         return "" +
41                 "{" +
42                 "  \"instance-filters\": {" +
43                 "    \"instance-filter\": [{" +
44                 "        \"customer\": {" +
45                 "          \"global-customer-id\": \"e433710f-9217-458d-a79d-1c7aff376d89\"" +
46                 "        }," +
47                 "        \"service-instance\": {" +
48                 //"          \"service-instance-id\": \"c187e9fe-40c3-4862-b73e-84ff056205f6\"" +
49                 "          \"service-instance-id\": \"" + serviceInstanceId + "\"" +
50                 "        }," +
51                 "        \"service-subscription\": {" +
52                 "          \"service-type\": \"TYLER SILVIA\"" +
53                 "        }" +
54                 "      }" +
55                 "    ]" +
56                 "  }," +
57                 "  \"query-parameters\": {" +
58                 "    \"named-query\": {" +
59                 "      \"named-query-uuid\": \"0367193e-c785-4d5f-9cb8-7bc89dc9ddb7\"" +
60                 "    }" +
61                 "  }" +
62                 "}";
63     }
64
65     @Override
66     public Object getResponseBody() {
67         String response =
68                 "{" +
69                 " \"inventory-response-item\": [{" +
70                 "   \"model-name\": \"0eOHz2Yh8WJcBYzKy079\"," +
71                 "   \"service-instance\": {" +
72                 "    \"service-instance-id\": \"" + serviceInstanceId + "\"," +
73                 "    \"service-instance-name\": \"" + serviceInstanceName + "\"" +
74                 "   }," +
75                 "   \"extra-properties\": {}";
76         if(hasProxyConfigurationInstance) {
77             response += "," +
78                     "   \"inventory-response-items\": {" +
79                     "    \"inventory-response-item\": [{" +
80                     "      \"model-name\": \"Proxy-Config-Instance\"," +
81                     "      \"configuration\": {" +
82                     "       \"configuration-id\": \"9533-config-LB1113\"," +
83                     "       \"configuration-name\": \"dummy_instance\"," +
84                     "       \"configuration-type\": \"configuration-type-9533\"," +
85                     "       \"configuration-sub-type\": \"configuration-sub-type-9533\"," +
86                     "       \"model-invariant-id\": \"model-invariant-id-9533\"," +
87                     "       \"model-version-id\": \"model-version-id-9533\"," +
88                     //"       \"orchestration-status\": \"<ORCH_STATUS>\"," +
89                     "       \"orchestration-status\": \"Active\"," +
90                     "       \"operational-status\": \"\"," +
91                     "       \"configuration-selflink\": \"\"," +
92                     "       \"model-customization-id\": \"08a181aa-72eb-435f-9593-e88a3ad0a86b\"," +
93                     "       \"resource-version\": \"1504038855716\"" +
94                     "      }," +
95                     "      \"extra-properties\": {}" +
96                     "     }" +
97                     "    ]" +
98                     "   }";
99         }
100         else if(hasFabricConfigurationInstance) {
101             response += "," +
102                     "   \"inventory-response-items\": {" +
103                     "    \"inventory-response-item\": [{" +
104                     "      \"model-name\": \"Fabric-Configuration-Instance\"," +
105                     "      \"configuration\": {" +
106                     "       \"configuration-id\": \"1234-fabric-config-LB1113\"," +
107                     "       \"configuration-name\": \"dummy_instance\"," +
108                     "       \"configuration-type\": \"fabric-configuration-type-1234\"," +
109                     "       \"configuration-sub-type\": \"fabric-configuration-sub-type-1234\"," +
110                     "       \"model-invariant-id\": \"model-invariant-id-1234\"," +
111                     "       \"model-version-id\": \"model-version-id-1234\"," +
112                     "       \"orchestration-status\": \"Assigned\"," +
113                     "       \"operational-status\": \"\"," +
114                     "       \"configuration-selflink\": \"\"," +
115                     "       \"model-customization-id\": \"model-customization-id-1234\"," +
116                     "       \"resource-version\": \"1504038855716\"" +
117                     "      }," +
118                     "      \"extra-properties\": {}" +
119                     "     }" +
120                     "    ]" +
121                     "   }";
122         }
123         response +=  "  }" +
124                 " ]" +
125                 "}";
126         return response;
127     }
128 }