aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java
blob: 6a97e1159043e37281ee1c44ace14ba10f008fd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
package org.onap.simulator.presetGenerator.presets.aai;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
import org.springframework.http.HttpMethod;

import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {

    public PresetAAIServiceDesignAndCreationPut(boolean emptyList) {
        serviceModelIdentifiers = ImmutableList.of();
        this.emptyList = emptyList;
    }

    public PresetAAIServiceDesignAndCreationPut(String modelVersionId, String modelInvariantId) {
        serviceModelIdentifiers = ImmutableList.of(new ServiceModelIdentifiers(modelVersionId, modelInvariantId));
    }

    public PresetAAIServiceDesignAndCreationPut(List<ServiceModelIdentifiers> serviceModelIdentifiers) {
        this.serviceModelIdentifiers = serviceModelIdentifiers;
    }

    public static class ServiceModelIdentifiers {
        public final String modelVersionId;
        public final String modelInvariantId;

        public ServiceModelIdentifiers(String modelVersionId, String modelInvariantId) {
            this.modelVersionId = modelVersionId;
            this.modelInvariantId = modelInvariantId;
        }
    }

    private List<ServiceModelIdentifiers> serviceModelIdentifiers;
    boolean emptyList;

    @Override
    public HttpMethod getReqMethod() {
        return HttpMethod.PUT;
    }

    @Override
    public String getReqPath() {
        return getRootPath() + "/query";
    }

    @Override
    public Map<String, List> getQueryParams() {
        return ImmutableMap.of("format", Collections.singletonList("resource"));
    }

    @Override
    public Object getRequestBody() {
        return "{\"start\" : \"service-design-and-creation/models/\", \"query\" : \"query/serviceModels-byDistributionStatus?distributionStatus=DISTRIBUTION_COMPLETE_OK\"}";
    }



    private String presetModels() {
        return
                serviceModelIdentifiers.stream().map(identifiers ->
                        "       {" +
                                "          \"model\": {" +
                                "            \"model-invariant-id\": \"" + identifiers.modelInvariantId + "\"," +
                                "            \"model-type\": \"resource\"," +
                                "            \"resource-version\": \"1500138206526\"," +
                                "            \"model-vers\": {" +
                                "              \"model-ver\": [" +
                                "                {" +
                                "                  \"model-version-id\": \"" + identifiers.modelVersionId + "\"," +
                                "                  \"model-name\": \"action-data\"," +
                                "                  \"model-version\": \"1.0\"," +
                                "                  \"model-description\": \"lustre settler sideways volcanic eight cellular\"," +
                                "                  \"resource-version\": \"1500137463984\"," +
                                "                  \"relationship-list\": {" +
                                "                    \"relationship\": [" +
                                "                      {" +
                                "                        \"related-to\": \"model-element\"," +
                                "                        \"relationship-label\": \"isA\"," +
                                "                        \"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\"," +
                                "                        \"relationship-data\": [" +
                                "                          {" +
                                "                            \"relationship-key\": \"model.model-invariant-id\"," +
                                "                            \"relationship-value\": \"l2-bridge-for-wan-connector-model-id-ps-02\"" +
                                "                          }," +
                                "                          {" +
                                "                            \"relationship-key\": \"model-ver.model-version-id\"," +
                                "                            \"relationship-value\": \"l2-bridge-for-wan-connector-resource-id-ps-02\"" +
                                "                          }," +
                                "                          {" +
                                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                                "                            \"relationship-value\": \"e874da22-729d-47bd-8c08-d596fd9c213d\"" +
                                "                          }," +
                                "                          {" +
                                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                                "                            \"relationship-value\": \"ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"" +
                                "                          }" +
                                "                        ]" +
                                "                      }" +
                                "                    ]" +
                                "                  }" +
                                "                }" +
                                "              ]" +
                                "            }" +
                                "          }" +
                                "        },"
                ).collect(Collectors.joining());
    }


    @Override
    public Object getResponseBody() {
        if(emptyList) {
            return "{\"results\": [{}]}";
        }
        return "{\"results\": [" +
                presetModels()+
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"00beb8f9-6d39-452f-816d-c709b9cbb87d\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"4076846985447\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"0903e1c0-8e03-4936-b5c2-260653b96413\"," +
                "                  \"model-name\": \"action-data\"," +
                "                  \"model-version\": \"1.0\"," +
                "                  \"model-description\": \"honor immunity exile prong below misshapen\"," +
                "                  \"resource-version\": \"4076846985447\"" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"ea78c9e3-514d-4a0a-9162-13837fa54c35\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1500137034452\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"666a06ee-4b57-46df-bacf-908da8f10c3f\"," +
                "                  \"model-name\": \"multicast-configuration\"," +
                "                  \"model-version\": \"1.0\"," +
                "                  \"model-description\": \"python bullwhip appointment computation ambidextrous heaving\"," +
                "                  \"resource-version\": \"1500136282691\"" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"78ca26d0-246d-11e7-93ae-92361f002671\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1492627634298\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"20c4431c-246d-11e7-93ae-92361f002671\"," +
                "                  \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
                "                  \"model-version\": \"2\"," +
                "                  \"model-description\": \"MSO aLaCarte VF vSAMP10aDEV Base\"," +
                "                  \"resource-version\": \"1492627634300\"" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"5b607929-6088-4614-97ef-cac817508e0e\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1492814035001\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"797a6c41-0f80-4d35-a288-3920c4e06baa\"," +
                "                  \"model-name\": \"CONTRAIL30_L2NODHCP\"," +
                "                  \"model-version\": \"1.0\"," +
                "                  \"model-description\": \"contrail 3.0.x L2 network for AIC 3.x sites (and No DHCP).\"," +
                "                  \"resource-version\": \"1492814035003\"," +
                "                  \"relationship-list\": {" +
                "                    \"relationship\": [" +
                "                      {" +
                "                        \"related-to\": \"model-element\"," +
                "                        \"relationship-label\": \"isA\"," +
                "                        \"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\"," +
                "                        \"relationship-data\": [" +
                "                          {" +
                "                            \"relationship-key\": \"model.model-invariant-id\"," +
                "                            \"relationship-value\": \"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-ver.model-version-id\"," +
                "                            \"relationship-value\": \"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"2f622421-1c67-4142-be6e-cecad5242af6\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"2add7556-a23b-46b8-b6b4-ad300b47ceab\"" +
                "                          }" +
                "                        ]" +
                "                      }" +
                "                    ]" +
                "                  }" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"0143d57b-a517-4de9-a0a1-eb76db51f402\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1497897268768\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"f1bde010-cc5f-4765-941f-75f15b24f9fc\"," +
                "                  \"model-name\": \"BkVmxAv061917..base_vPE_AV..module-0\"," +
                "                  \"model-version\": \"2\"," +
                "                  \"resource-version\": \"1497897268769\"," +
                "                  \"relationship-list\": {" +
                "                    \"relationship\": [" +
                "                      {" +
                "                        \"related-to\": \"model-element\"," +
                "                        \"relationship-label\": \"isA\"," +
                "                        \"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\"," +
                "                        \"relationship-data\": [" +
                "                          {" +
                "                            \"relationship-key\": \"model.model-invariant-id\"," +
                "                            \"relationship-value\": \"267ef491-3c1a-4c32-8e69-0e557bfb61e7\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-ver.model-version-id\"," +
                "                            \"relationship-value\": \"18655c7f-c846-4934-9e25-34378dfd33d6\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"578492b2-36a4-47da-83dc-91b58c699ad1\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"6b1fc7a5-fc01-4a9d-a87f-0ad0d8caa13f\"" +
                "                          }" +
                "                        ]" +
                "                      }" +
                "                    ]" +
                "                  }" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"ipe-resource-id-ps-02\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1493389430122\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"ipe-resource-id-ps-02\"," +
                "                  \"model-name\": \"abc\"," +
                "                  \"model-version\": \"v1.0\"," +
                "                  \"resource-version\": \"1493389520357\"," +
                "                  \"relationship-list\": {" +
                "                    \"relationship\": [" +
                "                      {" +
                "                        \"related-to\": \"model-element\"," +
                "                        \"relationship-label\": \"isA\"," +
                "                        \"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\"," +
                "                        \"relationship-data\": [" +
                "                          {" +
                "                            \"relationship-key\": \"model.model-invariant-id\"," +
                "                            \"relationship-value\": \"l2-bridge-for-wan-connector-model-id-ps-02\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-ver.model-version-id\"," +
                "                            \"relationship-value\": \"l2-bridge-for-wan-connector-resource-id-ps-02\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"e874da22-729d-47bd-8c08-d596fd9c213d\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"" +
                "                          }" +
                "                        ]" +
                "                      }" +
                "                    ]" +
                "                  }" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"lmoser410-connector-model-id\"," +
                "            \"model-type\": \"widget\"," +
                "            \"resource-version\": \"1493389512180\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"lmoser410-connector-model-version-id\"," +
                "                  \"model-name\": \"connector\"," +
                "                  \"model-version\": \"v1.0\"," +
                "                  \"resource-version\": \"1493389444766\"" +
                "                }" +
                "              ]" +
                "            }," +
                "            \"relationship-list\": {" +
                "              \"relationship\": [" +
                "                {" +
                "                  \"related-to\": \"named-query-element\"," +
                "                  \"relationship-label\": \"isA\"," +
                "                  \"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\"," +
                "                  \"relationship-data\": [" +
                "                    {" +
                "                      \"relationship-key\": \"named-query.named-query-uuid\"," +
                "                      \"relationship-value\": \"lmoser410-named-query-uuid\"" +
                "                    }," +
                "                    {" +
                "                      \"relationship-key\": \"named-query-element.named-query-element-uuid\"," +
                "                      \"relationship-value\": \"48278a7d-2b1e-454f-89e6-5c0ba145f486\"" +
                "                    }" +
                "                  ]" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"3a97db99-c4bb-498a-a13a-38f65f1ced3d\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1492630209768\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"ff2ae348-214a-11e7-93ae-92361f002673\"," +
                "                  \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
                "                  \"model-version\": \"1.0\"," +
                "                  \"model-description\": \"MACRO_vSAMP_module\"," +
                "                  \"resource-version\": \"1492630209769\"" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"3c504d40-b847-424c-9d25-4fb7e0a3e994\"," +
                "            \"model-type\": \"widget\"," +
                "            \"resource-version\": \"1493389430124\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"204c641a-3494-48c8-979a-86856f5fd32a\"," +
                "                  \"model-name\": \"named-query-element\"," +
                "                  \"model-version\": \"1.0\"," +
                "                  \"resource-version\": \"1493389423212\"" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }," +
                "        {" +
                "          \"model\": {" +
                "            \"model-invariant-id\": \"93e56950-cb19-44e6-ace4-8b50f2d02e45\"," +
                "            \"model-type\": \"resource\"," +
                "            \"resource-version\": \"1497898974232\"," +
                "            \"model-vers\": {" +
                "              \"model-ver\": [" +
                "                {" +
                "                  \"model-version-id\": \"acba1f72-c6e0-477f-9426-ad190151e100\"," +
                "                  \"model-name\": \"RG_6-19_Test\"," +
                "                  \"model-version\": \"1.0\"," +
                "                  \"model-description\": \"RG_6-19_Test\"," +
                "                  \"resource-version\": \"1497898974233\"," +
                "                  \"relationship-list\": {" +
                "                    \"relationship\": [" +
                "                      {" +
                "                        \"related-to\": \"model-element\"," +
                "                        \"relationship-label\": \"isA\"," +
                "                        \"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\"," +
                "                        \"relationship-data\": [" +
                "                          {" +
                "                            \"relationship-key\": \"model.model-invariant-id\"," +
                "                            \"relationship-value\": \"a07220ba-954e-422f-86b5-e8b95fe6b116\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-ver.model-version-id\"," +
                "                            \"relationship-value\": \"bf6dbd68-2c7d-4ba2-ade1-dfd4476aa505\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"6e10fe2e-6d04-4198-9124-dd051a5ae65f\"" +
                "                          }," +
                "                          {" +
                "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
                "                            \"relationship-value\": \"cb3c22e1-9dc6-467f-9636-0a7aef10d5d0\"" +
                "                          }" +
                "                        ]" +
                "                      }" +
                "                    ]" +
                "                  }" +
                "                }" +
                "              ]" +
                "            }" +
                "          }" +
                "        }" +
                "      ]}";
    }
}