1 package org.onap.simulator.presetGenerator.presets.aai;
3 import com.google.common.collect.ImmutableList;
4 import com.google.common.collect.ImmutableMap;
5 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
6 import org.springframework.http.HttpMethod;
7 import vid.automation.test.infra.ModelInfo;
8 import vid.automation.test.test.BrowseASDCTest;
10 import java.util.Collections;
11 import java.util.List;
13 import java.util.stream.Collectors;
15 import static vid.automation.test.infra.ModelInfo.ModelInfoWithMultipleVersions.modelInfoWithMultipleVersions;
17 public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
19 public PresetAAIServiceDesignAndCreationPut(boolean emptyList) {
20 modelInfos = ImmutableList.of();
21 this.emptyList = emptyList;
25 private List<ModelInfo> modelInfos;
29 //Constructor that use the super set of model infos as response
30 //all test should be migrated to use this constructor
31 public PresetAAIServiceDesignAndCreationPut() {
32 this.modelInfos = ModelInfo.superSetOfModelInfos;
36 public HttpMethod getReqMethod() {
37 return HttpMethod.PUT;
41 public String getReqPath() {
42 return getRootPath() + "/query";
46 public Map<String, List> getQueryParams() {
47 return ImmutableMap.of("format", Collections.singletonList("resource"));
51 public Object getRequestBody() {
52 return "{\"start\" : \"service-design-and-creation/models/\", \"query\" : \"query/serviceModels-byDistributionStatus?distributionStatus=DISTRIBUTION_COMPLETE_OK\"}";
57 private String presetModels() {
59 modelInfos.stream().map(modelInfo ->
62 " \"model-invariant-id\": \"" + modelInfo.modelInvariantId + "\"," +
63 " \"model-type\": \"resource\"," +
64 " \"resource-version\": \"1500138206526\"," +
65 " \"model-vers\": {" +
68 " \"model-version-id\": \"" + modelInfo.modelVersionId + "\"," +
69 " \"model-name\": \"action-data\"," +
70 " \"model-version\": \"1.0\"," +
71 " \"model-description\": \"lustre settler sideways volcanic eight cellular\"," +
72 " \"resource-version\": \"1500137463984\"," +
73 " \"relationship-list\": {" +
74 " \"relationship\": [" +
76 " \"related-to\": \"model-element\"," +
77 " \"relationship-label\": \"isA\"," +
78 " \"related-link\": \"/aai/v12/service-design-and-creation/models/model/l2-bridge-for-wan-connector-model-id-ps-02/model-vers/model-ver/l2-bridge-for-wan-connector-resource-id-ps-02/model-elements/model-element/e874da22-729d-47bd-8c08-d596fd9c213d/model-elements/model-element/ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"," +
79 " \"relationship-data\": [" +
81 " \"relationship-key\": \"model.model-invariant-id\"," +
82 " \"relationship-value\": \"l2-bridge-for-wan-connector-model-id-ps-02\"" +
85 " \"relationship-key\": \"model-ver.model-version-id\"," +
86 " \"relationship-value\": \"l2-bridge-for-wan-connector-resource-id-ps-02\"" +
89 " \"relationship-key\": \"model-element.model-element-uuid\"," +
90 " \"relationship-value\": \"e874da22-729d-47bd-8c08-d596fd9c213d\"" +
93 " \"relationship-key\": \"model-element.model-element-uuid\"," +
94 " \"relationship-value\": \"ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"" +
105 ).collect(Collectors.joining());
109 private String serviceWithMultipleVersions() {
113 " \"model-invariant-id\": \"" + modelInfoWithMultipleVersions.modelInvariantId + "\"," +
114 " \"model-type\": \"resource\"," +
115 " \"resource-version\": \"1500138206526\"," +
116 " \"model-vers\": {" +
117 " \"model-ver\": [" +
119 " \"model-version-id\": \"" + modelInfoWithMultipleVersions.modelVersionId1 + "\"," +
120 " \"model-name\": \""+modelInfoWithMultipleVersions.modelName+"\"," +
121 " \"model-version\": \"1.0\"," +
122 " \"model-description\": \"decontamination arm circus ammonia hump edge\"," +
123 " \"resource-version\": \"1500137463984\"" +
126 " \"model-version-id\": \"" + modelInfoWithMultipleVersions.modelVersionId3 + "\"," +
127 " \"model-name\": \""+modelInfoWithMultipleVersions.modelName+"\"," +
128 " \"model-version\": \"3.0\"," +
129 " \"model-description\": \"Non decontamination arm circus ammonia hump edge\"," +
130 " \"resource-version\": \"1500137463986\"" +
133 " \"model-version-id\": \"" + modelInfoWithMultipleVersions.modelVersionId2 + "\"," +
134 " \"model-name\": \""+modelInfoWithMultipleVersions.modelName+"\"," +
135 " \"model-version\": \"2.0\"," +
136 " \"model-description\": \"The oldest one\"," +
137 " \"resource-version\": \"1500137463980\"" +
145 public String modelsForBrowseSDCServiceModelListCheckAAIResponse() {
146 return " {\"model\": { " +
147 " \"model-invariant-id\": \"" + BrowseASDCTest.modelInvariantUUID1 + "\"," +
148 " \"model-type\": \"service\"," +
149 " \"resource-version\": \"1515103312329\"," +
150 " \"model-vers\": {\"model-ver\": [" +
152 " \"model-version-id\": \"" + BrowseASDCTest.modelUuid + "\"," +
153 " \"model-name\": \"CheckAAIResponse_AAAvIRC_mm779p_Service\"," +
154 " \"model-version\": \"1.0\"," +
155 " \"distribution-status\": \"DISTRIBUTION_COMPLETE_OK\"," +
156 " \"model-description\": \"tbd\"," +
157 " \"resource-version\": \"1516206395612\"" +
162 " \"model-invariant-id\": \"" + BrowseASDCTest.modelInvariantUUID2 + "\"," +
163 " \"model-type\": \"service\"," +
164 " \"resource-version\": \"1515103312329\"," +
165 " \"model-vers\": {\"model-ver\": [" +
167 " \"model-version-id\": \"1dae721c-a1ef-435f-b811-760c23f467bf\"," +
168 " \"model-name\": \"CheckAAIResponse_BBBvIRC_mm779p_Service\"," +
169 " \"model-version\": \"3.0\"," +
170 " \"model-description\": \"tbd\"," +
171 " \"resource-version\": \"1516025197086\"" +
176 " \"model-invariant-id\": \"" + BrowseASDCTest.modelInvariantUUID3 + "\"," +
177 " \"model-type\": \"service\"," +
178 " \"resource-version\": \"1515103312329\"," +
179 " \"model-vers\": {\"model-ver\": [" +
181 " \"model-version-id\": \"29236d45-e790-4c17-a115-1533cc09b7b1\"," +
182 " \"model-name\": \"CheckAAIResponse_CCCvIRC_mm779p_Service\"," +
183 " \"model-version\": \"4.0\"," +
184 " \"distribution-status\": \"DISTRIBUTION_COMPLETE_ERROR\"," +
185 " \"model-description\": \"tbd\"," +
186 " \"resource-version\": \"1517319724440\"" +
193 public Object getResponseBody() {
195 return "{\"results\": [{}]}";
197 return "{\"results\": [" +
199 serviceWithMultipleVersions() +
200 modelsForBrowseSDCServiceModelListCheckAAIResponse() +
203 " \"model-invariant-id\": \"00beb8f9-6d39-452f-816d-c709b9cbb87d\"," +
204 " \"model-type\": \"resource\"," +
205 " \"resource-version\": \"4076846985447\"," +
206 " \"model-vers\": {" +
207 " \"model-ver\": [" +
209 " \"model-version-id\": \"0903e1c0-8e03-4936-b5c2-260653b96413\"," +
210 " \"model-name\": \"action-data\"," +
211 " \"model-version\": \"1.0\"," +
212 " \"model-description\": \"honor immunity exile prong below misshapen\"," +
213 " \"resource-version\": \"4076846985447\"" +
221 " \"model-invariant-id\": \"ea78c9e3-514d-4a0a-9162-13837fa54c35\"," +
222 " \"model-type\": \"resource\"," +
223 " \"resource-version\": \"1500137034452\"," +
224 " \"model-vers\": {" +
225 " \"model-ver\": [" +
227 " \"model-version-id\": \"666a06ee-4b57-46df-bacf-908da8f10c3f\"," +
228 " \"model-name\": \"multicast-configuration\"," +
229 " \"model-version\": \"1.0\"," +
230 " \"model-description\": \"python bullwhip appointment computation ambidextrous heaving\"," +
231 " \"resource-version\": \"1500136282691\"" +
239 " \"model-invariant-id\": \"78ca26d0-246d-11e7-93ae-92361f002671\"," +
240 " \"model-type\": \"resource\"," +
241 " \"resource-version\": \"1492627634298\"," +
242 " \"model-vers\": {" +
243 " \"model-ver\": [" +
245 " \"model-version-id\": \"20c4431c-246d-11e7-93ae-92361f002671\"," +
246 " \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
247 " \"model-version\": \"2\"," +
248 " \"model-description\": \"MSO aLaCarte VF vSAMP10aDEV Base\"," +
249 " \"resource-version\": \"1492627634300\"" +
257 " \"model-invariant-id\": \"5b607929-6088-4614-97ef-cac817508e0e\"," +
258 " \"model-type\": \"resource\"," +
259 " \"resource-version\": \"1492814035001\"," +
260 " \"model-vers\": {" +
261 " \"model-ver\": [" +
263 " \"model-version-id\": \"797a6c41-0f80-4d35-a288-3920c4e06baa\"," +
264 " \"model-name\": \"CONTRAIL30_L2NODHCP\"," +
265 " \"model-version\": \"1.0\"," +
266 " \"model-description\": \"contrail 3.0.x L2 network for AIC 3.x sites (and No DHCP).\"," +
267 " \"resource-version\": \"1492814035003\"," +
268 " \"relationship-list\": {" +
269 " \"relationship\": [" +
271 " \"related-to\": \"model-element\"," +
272 " \"relationship-label\": \"isA\"," +
273 " \"related-link\": \"/aai/v12/service-design-and-creation/models/model/52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f/model-vers/model-ver/aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e/model-elements/model-element/2f622421-1c67-4142-be6e-cecad5242af6/model-elements/model-element/2add7556-a23b-46b8-b6b4-ad300b47ceab\"," +
274 " \"relationship-data\": [" +
276 " \"relationship-key\": \"model.model-invariant-id\"," +
277 " \"relationship-value\": \"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f\"" +
280 " \"relationship-key\": \"model-ver.model-version-id\"," +
281 " \"relationship-value\": \"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e\"" +
284 " \"relationship-key\": \"model-element.model-element-uuid\"," +
285 " \"relationship-value\": \"2f622421-1c67-4142-be6e-cecad5242af6\"" +
288 " \"relationship-key\": \"model-element.model-element-uuid\"," +
289 " \"relationship-value\": \"2add7556-a23b-46b8-b6b4-ad300b47ceab\"" +
302 " \"model-invariant-id\": \"0143d57b-a517-4de9-a0a1-eb76db51f402\"," +
303 " \"model-type\": \"resource\"," +
304 " \"resource-version\": \"1497897268768\"," +
305 " \"model-vers\": {" +
306 " \"model-ver\": [" +
308 " \"model-version-id\": \"f1bde010-cc5f-4765-941f-75f15b24f9fc\"," +
309 " \"model-name\": \"BkVmxAv061917..base_vPE_AV..module-0\"," +
310 " \"model-version\": \"2\"," +
311 " \"resource-version\": \"1497897268769\"," +
312 " \"relationship-list\": {" +
313 " \"relationship\": [" +
315 " \"related-to\": \"model-element\"," +
316 " \"relationship-label\": \"isA\"," +
317 " \"related-link\": \"/aai/v12/service-design-and-creation/models/model/267ef491-3c1a-4c32-8e69-0e557bfb61e7/model-vers/model-ver/18655c7f-c846-4934-9e25-34378dfd33d6/model-elements/model-element/578492b2-36a4-47da-83dc-91b58c699ad1/model-elements/model-element/6b1fc7a5-fc01-4a9d-a87f-0ad0d8caa13f\"," +
318 " \"relationship-data\": [" +
320 " \"relationship-key\": \"model.model-invariant-id\"," +
321 " \"relationship-value\": \"267ef491-3c1a-4c32-8e69-0e557bfb61e7\"" +
324 " \"relationship-key\": \"model-ver.model-version-id\"," +
325 " \"relationship-value\": \"18655c7f-c846-4934-9e25-34378dfd33d6\"" +
328 " \"relationship-key\": \"model-element.model-element-uuid\"," +
329 " \"relationship-value\": \"578492b2-36a4-47da-83dc-91b58c699ad1\"" +
332 " \"relationship-key\": \"model-element.model-element-uuid\"," +
333 " \"relationship-value\": \"6b1fc7a5-fc01-4a9d-a87f-0ad0d8caa13f\"" +
346 " \"model-invariant-id\": \"ipe-resource-id-ps-02\"," +
347 " \"model-type\": \"resource\"," +
348 " \"resource-version\": \"1493389430122\"," +
349 " \"model-vers\": {" +
350 " \"model-ver\": [" +
352 " \"model-version-id\": \"ipe-resource-id-ps-02\"," +
353 " \"model-name\": \"abc\"," +
354 " \"model-version\": \"v1.0\"," +
355 " \"resource-version\": \"1493389520357\"," +
356 " \"relationship-list\": {" +
357 " \"relationship\": [" +
359 " \"related-to\": \"model-element\"," +
360 " \"relationship-label\": \"isA\"," +
361 " \"related-link\": \"/aai/v12/service-design-and-creation/models/model/l2-bridge-for-wan-connector-model-id-ps-02/model-vers/model-ver/l2-bridge-for-wan-connector-resource-id-ps-02/model-elements/model-element/e874da22-729d-47bd-8c08-d596fd9c213d/model-elements/model-element/ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"," +
362 " \"relationship-data\": [" +
364 " \"relationship-key\": \"model.model-invariant-id\"," +
365 " \"relationship-value\": \"l2-bridge-for-wan-connector-model-id-ps-02\"" +
368 " \"relationship-key\": \"model-ver.model-version-id\"," +
369 " \"relationship-value\": \"l2-bridge-for-wan-connector-resource-id-ps-02\"" +
372 " \"relationship-key\": \"model-element.model-element-uuid\"," +
373 " \"relationship-value\": \"e874da22-729d-47bd-8c08-d596fd9c213d\"" +
376 " \"relationship-key\": \"model-element.model-element-uuid\"," +
377 " \"relationship-value\": \"ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"" +
390 " \"model-invariant-id\": \"lmoser410-connector-model-id\"," +
391 " \"model-type\": \"widget\"," +
392 " \"resource-version\": \"1493389512180\"," +
393 " \"model-vers\": {" +
394 " \"model-ver\": [" +
396 " \"model-version-id\": \"lmoser410-connector-model-version-id\"," +
397 " \"model-name\": \"connector\"," +
398 " \"model-version\": \"v1.0\"," +
399 " \"resource-version\": \"1493389444766\"" +
403 " \"relationship-list\": {" +
404 " \"relationship\": [" +
406 " \"related-to\": \"named-query-element\"," +
407 " \"relationship-label\": \"isA\"," +
408 " \"related-link\": \"/aai/v12/service-design-and-creation/named-queries/named-query/lmoser410-named-query-uuid/named-query-elements/named-query-element/48278a7d-2b1e-454f-89e6-5c0ba145f486\"," +
409 " \"relationship-data\": [" +
411 " \"relationship-key\": \"named-query.named-query-uuid\"," +
412 " \"relationship-value\": \"lmoser410-named-query-uuid\"" +
415 " \"relationship-key\": \"named-query-element.named-query-element-uuid\"," +
416 " \"relationship-value\": \"48278a7d-2b1e-454f-89e6-5c0ba145f486\"" +
426 " \"model-invariant-id\": \"3a97db99-c4bb-498a-a13a-38f65f1ced3d\"," +
427 " \"model-type\": \"resource\"," +
428 " \"resource-version\": \"1492630209768\"," +
429 " \"model-vers\": {" +
430 " \"model-ver\": [" +
432 " \"model-version-id\": \"ff2ae348-214a-11e7-93ae-92361f002673\"," +
433 " \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
434 " \"model-version\": \"1.0\"," +
435 " \"model-description\": \"MACRO_vSAMP_module\"," +
436 " \"resource-version\": \"1492630209769\"" +
444 " \"model-invariant-id\": \"3c504d40-b847-424c-9d25-4fb7e0a3e994\"," +
445 " \"model-type\": \"widget\"," +
446 " \"resource-version\": \"1493389430124\"," +
447 " \"model-vers\": {" +
448 " \"model-ver\": [" +
450 " \"model-version-id\": \"204c641a-3494-48c8-979a-86856f5fd32a\"," +
451 " \"model-name\": \"named-query-element\"," +
452 " \"model-version\": \"1.0\"," +
453 " \"resource-version\": \"1493389423212\"" +
461 " \"model-invariant-id\": \"93e56950-cb19-44e6-ace4-8b50f2d02e45\"," +
462 " \"model-type\": \"resource\"," +
463 " \"resource-version\": \"1497898974232\"," +
464 " \"model-vers\": {" +
465 " \"model-ver\": [" +
467 " \"model-version-id\": \"acba1f72-c6e0-477f-9426-ad190151e100\"," +
468 " \"model-name\": \"RG_6-19_Test\"," +
469 " \"model-version\": \"1.0\"," +
470 " \"model-description\": \"RG_6-19_Test\"," +
471 " \"resource-version\": \"1497898974233\"," +
472 " \"relationship-list\": {" +
473 " \"relationship\": [" +
475 " \"related-to\": \"model-element\"," +
476 " \"relationship-label\": \"isA\"," +
477 " \"related-link\": \"/aai/v12/service-design-and-creation/models/model/a07220ba-954e-422f-86b5-e8b95fe6b116/model-vers/model-ver/bf6dbd68-2c7d-4ba2-ade1-dfd4476aa505/model-elements/model-element/6e10fe2e-6d04-4198-9124-dd051a5ae65f/model-elements/model-element/cb3c22e1-9dc6-467f-9636-0a7aef10d5d0\"," +
478 " \"relationship-data\": [" +
480 " \"relationship-key\": \"model.model-invariant-id\"," +
481 " \"relationship-value\": \"a07220ba-954e-422f-86b5-e8b95fe6b116\"" +
484 " \"relationship-key\": \"model-ver.model-version-id\"," +
485 " \"relationship-value\": \"bf6dbd68-2c7d-4ba2-ade1-dfd4476aa505\"" +
488 " \"relationship-key\": \"model-element.model-element-uuid\"," +
489 " \"relationship-value\": \"6e10fe2e-6d04-4198-9124-dd051a5ae65f\"" +
492 " \"relationship-key\": \"model-element.model-element-uuid\"," +
493 " \"relationship-value\": \"cb3c22e1-9dc6-467f-9636-0a7aef10d5d0\"" +