[MSO-8] Update the maven dependency
[so.git] / bpmn / MSOCommonBPMN / src / test / groovy / org / openecomp / mso / bpmn / common / scripts / VidUtilsTest.groovy
1 /*- 
2  * ============LICENSE_START======================================================= 
3  * OPENECOMP - MSO 
4  * ================================================================================ 
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
6  * ================================================================================ 
7  * Licensed under the Apache License, Version 2.0 (the "License"); 
8  * you may not use this file except in compliance with the License. 
9  * You may obtain a copy of the License at 
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0 
12  * 
13  * Unless required by applicable law or agreed to in writing, software 
14  * distributed under the License is distributed on an "AS IS" BASIS, 
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
16  * See the License for the specific language governing permissions and 
17  * limitations under the License. 
18  * ============LICENSE_END========================================================= 
19  */ 
20
21 package org.openecomp.mso.bpmn.common.scripts;
22
23 import static org.mockito.Mockito.*
24
25 import org.openecomp.mso.bpmn.common.scripts.VidUtils;
26 import org.openecomp.mso.bpmn.core.WorkflowException
27
28 import groovy.json.JsonSlurper
29
30 import org.camunda.bpm.engine.delegate.BpmnError
31 import org.camunda.bpm.engine.ProcessEngineServices
32 import org.camunda.bpm.engine.RepositoryService
33 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
34 import org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
35 import org.camunda.bpm.engine.repository.ProcessDefinition
36 import org.camunda.bpm.engine.runtime.Execution;
37
38 import static org.junit.Assert.*;
39
40 import org.mockito.MockitoAnnotations
41 import org.mockito.runners.MockitoJUnitRunner
42 import org.mockito.internal.debugging.MockitoDebuggerImpl
43 import org.junit.Before
44 import org.junit.Rule;
45 import org.junit.Test
46 import org.junit.Ignore
47 import org.junit.runner.RunWith
48 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity;
49 import org.junit.Before;
50 import org.junit.Test;
51
52 @RunWith(MockitoJUnitRunner.class)
53
54 class VidUtilsTest {
55
56         def vfModuleReqJson = """
57 {
58   "requestDetails": {
59     "modelInfo": {
60       "modelType": "vfModule",
61       "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
62       "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
63       "modelName": "STMTN5MMSC21-MMSC::model-1-0",
64       "modelVersion": "1",
65       "modelCustomizationId": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
66     },
67     "cloudConfiguration": {
68       "lcpCloudRegionId": "MDTWNJ21",
69       "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
70     },
71     "requestInfo": {
72       "instanceName": "PCRF::module-0-2",
73       "source": "VID",
74       "suppressRollback": true
75     },
76     "relatedInstanceList": [
77       {
78         "relatedInstance": {
79           "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
80           "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
81           "modelInfo": {
82             "modelType": "volumeGroup",
83             "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
84             "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
85             "modelName": "vSAMP12..base..module-0",
86             "modelVersion": "1"
87           }
88         }
89       },
90       {
91         "relatedInstance": {
92           "instanceId": "123456",
93           "modelInfo": {
94             "modelType": "service",
95             "modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
96             "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
97             "modelName": "SERVICE_MODEL_NAME",
98             "modelVersion": "1.0"
99           }
100         }
101       },
102       {
103         "relatedInstance": {
104           "instanceId": "skask",
105           "instanceName": "skask-test",
106           "modelInfo": {
107             "modelType": "vnf",
108             "modelInvariantId": "skask",
109             "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
110             "modelName": "vSAMP12",
111             "modelVersion": "1.0",
112             "modelCustomizationName": "vSAMP12 1"
113           }
114         }
115       }
116     ],
117     "requestParameters": {
118       "userParams": [
119         {
120           "name": "vnfName",
121           "value": "STMTN5MMSC20"
122         },
123         {
124           "name": "tenantId",
125           "value": "vpe-tenant-123"
126         },
127         {
128           "name": "aicCloudRegion",
129           "value": "MDTWNJ21"
130         },
131         {
132           "name": "isAvpnService",
133           "value": "true"
134         },
135         {
136           "name": "asn",
137           "value": "asn-1234"
138         },
139         {
140           "name": "releaseForAero",
141           "value": "release-for-aero-something"
142         },
143         {
144           "name": "aicClli",
145           "value": "MTJWNJA4LCP"
146         },
147         {
148           "name": "svcProviderPartNumber",
149           "value": "svc-provide-number-1234"
150         }
151       ]
152     }
153   }
154 }
155 """
156         def bpmnReq1 = """
157 {
158         "requestDetails": {
159                 "modelInfo": {
160                         "modelType": "volumeGroup",
161                         "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
162                         "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
163                         "modelName": "vSAMP12::base::module-0",
164                         "modelVersion": "1"
165                 },
166                 "cloudConfiguration": {
167                         "lcpCloudRegionId": "mdt1",
168                         "tenantId": "88a6ca3ee0394ade9403f075db23167e"
169                 },
170                 "requestInfo": {
171                         "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
172                         "source": "VID",
173                         "suppressRollback": false
174                 },
175                 "relatedInstanceList": [
176                         {
177                                 "relatedInstance": {
178                                         "instanceId": "{service-instance-id}",
179                                         "modelInfo": {
180                                                 "modelType": "service",
181                                                 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
182                                                 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
183                                                 "modelName": "Test",
184                                                 "modelVersion": "2.0"
185                                         }
186                                 }
187                         }, {
188                                 "relatedInstance": {
189                                         "instanceId": "{vnf-instance-id}",
190                                         "modelInfo": {
191                                                 "modelType": "vnf",
192                                                 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
193                                                 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
194                                                 "modelName": "vSAMP12",
195                                                 "modelVersion": "1",
196                                                 "modelCustomizationName": "vSAMP12"
197                                         }
198                                 }
199                         }
200                 ],
201                 "requestParameters": {
202                         "serviceId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
203                         "userParams": [
204                                 {"name": "vnfName", "value": "STMTN5MMSC20" },
205                                 {"name": "vnfName2", "value": "US1117MTSNJVBR0246" },
206                                 {"name": "vnfNmInformation", "value": "" },
207                                 {"name": "vnfType", "value": "pcrf-capacity" },
208                                 {"name": "vnfId", "value": "skask" },
209                                 {"name": "vnfStackId", "value": "slowburn" },
210                                 {"name": "vnfStatus", "value": "created" },
211                                 {"name": "aicCloudRegion", "value": "MDTWNJ21" },
212                                 {"name": "availabilityZone", "value": "slcp3-esx-az01" },
213                                 {"name": "oamNetworkName", "value": "VLAN-OAM-1323" },
214                                 {"name": "vmName", "value": "slcp34246vbc246ceb" },
215                                 {"name": "ipagNetworkId", "value": "970cd2b9-7f09-4a12-af47-182ea38ba1f0" },
216                                 {"name": "vpeNetworkId", "value": "545cc2c3-1930-4100-b534-5d82d0e12bb6" }
217                         ]
218                 }
219         }
220 }
221 """
222
223         def vidUtilResp1 = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
224    <request-info>
225       <action>CREATE_VF_MODULE_VOL</action>
226       <source>VID</source>
227       <service-instance-id>test-service-instance-id-123</service-instance-id>
228    </request-info>
229    <volume-inputs>
230       <volume-group-id/>
231       <volume-group-name>MSOTESTVOL101a-vSAMP12_base_vol_module-0</volume-group-name>
232       <vnf-type>Test/vSAMP12</vnf-type>
233       <vf-module-model-name>vSAMP12::base::module-0</vf-module-model-name>
234       <asdc-service-model-version>2.0</asdc-service-model-version>
235       <aic-cloud-region>mdt1</aic-cloud-region>
236       <tenant-id>88a6ca3ee0394ade9403f075db23167e</tenant-id>
237       <service-id>a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb</service-id>
238       <backout-on-failure>true</backout-on-failure>
239       <model-customization-id/>
240    </volume-inputs>
241    <volume-params>
242       <param name="vnf_name">STMTN5MMSC20</param>
243       <param name="vnf_name2">US1117MTSNJVBR0246</param>
244       <param name="vnf_nm_information"/>
245       <param name="vnf_type">pcrf-capacity</param>
246       <param name="vnf_id">skask</param>
247       <param name="vnf_stack_id">slowburn</param>
248       <param name="vnf_status">created</param>
249       <param name="aic_cloud_region">MDTWNJ21</param>
250       <param name="availability_zone">slcp3-esx-az01</param>
251       <param name="oam_network_name">VLAN-OAM-1323</param>
252       <param name="vm_name">slcp34246vbc246ceb</param>
253       <param name="ipag_network_id">970cd2b9-7f09-4a12-af47-182ea38ba1f0</param>
254       <param name="vpe_network_id">545cc2c3-1930-4100-b534-5d82d0e12bb6</param>
255    </volume-params>
256 </volume-request>
257 """
258         
259         def bpmnReq2 = """
260 {
261         "requestDetails": {
262                 "modelInfo": {
263                         "modelType": "volumeGroup",
264                         "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
265                         "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
266                         "modelName": "vSAMP12::base::module-0",
267                         "modelVersion": "1"
268                 },
269                 "cloudConfiguration": {
270                         "lcpCloudRegionId": "mdt1",
271                         "tenantId": "88a6ca3ee0394ade9403f075db23167e"
272                 },
273                 "requestInfo": {
274                         "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
275                         "source": "VID",
276                         "suppressRollback": false
277                 },
278                 "relatedInstanceList": [
279                         {
280                                 "relatedInstance": {
281                                         "instanceId": "{service-instance-id}",
282                                         "modelInfo": {
283                                                 "modelType": "service",
284                                                 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
285                                                 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
286                                                 "modelName": "Test",
287                                                 "modelVersion": "2.0"
288                                         }
289                                 }
290                         }, {
291                                 "relatedInstance": {
292                                         "instanceId": "{vnf-instance-id}",
293                                         "modelInfo": {
294                                                 "modelType": "vnf",
295                                                 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
296                                                 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
297                                                 "modelName": "vSAMP12",
298                                                 "modelVersion": "1",
299                                                 "modelCustomizationName": "vSAMP12"
300                                         }
301                                 }
302                         }
303                 ]
304         }
305 }
306 """
307         
308         def bpmnReqJsonVolumeSuppressRollbackTrue = """
309 {
310         "requestDetails": {
311                 "modelInfo": {
312                         "modelType": "volumeGroup",
313                         "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
314                         "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
315                         "modelName": "vSAMP12::base::module-0",
316                         "modelVersion": "1"
317                 },
318                 "cloudConfiguration": {
319                         "lcpCloudRegionId": "mdt1",
320                         "tenantId": "88a6ca3ee0394ade9403f075db23167e"
321                 },
322                 "requestInfo": {
323                         "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
324                         "source": "VID",
325                         "suppressRollback": true
326                 },
327                 "relatedInstanceList": [
328                         {
329                                 "relatedInstance": {
330                                         "instanceId": "{service-instance-id}",
331                                         "modelInfo": {
332                                                 "modelType": "service",
333                                                 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
334                                                 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
335                                                 "modelName": "Test",
336                                                 "modelVersion": "2.0"
337                                         }
338                                 }
339                         }, {
340                                 "relatedInstance": {
341                                         "instanceId": "{vnf-instance-id}",
342                                         "modelInfo": {
343                                                 "modelType": "vnf",
344                                                 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
345                                                 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
346                                                 "modelName": "vSAMP12",
347                                                 "modelVersion": "1",
348                                                 "modelCustomizationName": "vSAMP12"
349                                         }
350                                 }
351                         }
352                 ]
353         }
354 }
355 """
356
357 def bpmnReqJsonVolumeSuppressRollbackFalse = """
358 {
359         "requestDetails": {
360                 "modelInfo": {
361                         "modelType": "volumeGroup",
362                         "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
363                         "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
364                         "modelName": "vSAMP12::base::module-0",
365                         "modelVersion": "1"
366                 },
367                 "cloudConfiguration": {
368                         "lcpCloudRegionId": "mdt1",
369                         "tenantId": "88a6ca3ee0394ade9403f075db23167e"
370                 },
371                 "requestInfo": {
372                         "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
373                         "source": "VID",
374                         "suppressRollback": false
375                 },
376                 "relatedInstanceList": [
377                         {
378                                 "relatedInstance": {
379                                         "instanceId": "{service-instance-id}",
380                                         "modelInfo": {
381                                                 "modelType": "service",
382                                                 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
383                                                 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
384                                                 "modelName": "Test",
385                                                 "modelVersion": "2.0"
386                                         }
387                                 }
388                         }, {
389                                 "relatedInstance": {
390                                         "instanceId": "{vnf-instance-id}",
391                                         "modelInfo": {
392                                                 "modelType": "vnf",
393                                                 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
394                                                 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
395                                                 "modelName": "vSAMP12",
396                                                 "modelVersion": "1",
397                                                 "modelCustomizationName": "vSAMP12"
398                                         }
399                                 }
400                         }
401                 ]
402         }
403 }
404 """
405
406 def bpmnReqJsonVolumeSuppressRollbackNone = """
407 {
408         "requestDetails": {
409                 "modelInfo": {
410                         "modelType": "volumeGroup",
411                         "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
412                         "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
413                         "modelName": "vSAMP12::base::module-0",
414                         "modelVersion": "1"
415                 },
416                 "cloudConfiguration": {
417                         "lcpCloudRegionId": "mdt1",
418                         "tenantId": "88a6ca3ee0394ade9403f075db23167e"
419                 },
420                 "requestInfo": {
421                         "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
422                         "source": "VID"
423                 },
424                 "relatedInstanceList": [
425                         {
426                                 "relatedInstance": {
427                                         "instanceId": "{service-instance-id}",
428                                         "modelInfo": {
429                                                 "modelType": "service",
430                                                 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
431                                                 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
432                                                 "modelName": "Test",
433                                                 "modelVersion": "2.0"
434                                         }
435                                 }
436                         }, {
437                                 "relatedInstance": {
438                                         "instanceId": "{vnf-instance-id}",
439                                         "modelInfo": {
440                                                 "modelType": "vnf",
441                                                 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
442                                                 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
443                                                 "modelName": "vSAMP12",
444                                                 "modelVersion": "1",
445                                                 "modelCustomizationName": "vSAMP12"
446                                         }
447                                 }
448                         }
449                 ]
450         }
451 }
452 """
453
454         def bpmnReqJsonVfModuleSuppressRollbackTrue = """
455 {
456 "requestDetails": {
457 "modelInfo": {
458 "modelType": "vfModule",
459 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
460 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
461 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
462 "modelVersion": "1"
463 },
464 "cloudConfiguration": {
465 "lcpCloudRegionId": "MDTWNJ21",
466 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
467 },
468 "requestInfo": {
469 "instanceName": "PCRF::module-0-2",
470 "source": "VID",
471 "suppressRollback": true
472 },
473 "relatedInstanceList": [
474 {
475 "relatedInstance": {
476 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
477 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
478 "modelInfo": {
479 "modelType": "volumeGroup",
480 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
481 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
482 "modelName": "vSAMP12..base..module-0",
483 "modelVersion": "1"
484 }
485 }
486 },
487 {
488 "relatedInstance": {
489 "instanceId": "123456",
490 "modelInfo": {
491 "modelType": "service",
492 "modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
493 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
494 "modelName": "SERVICE_MODEL_NAME",
495 "modelVersion": "1.0"
496 }
497 }
498 },
499 {
500 "relatedInstance": {
501 "instanceId": "skask",
502 "instanceName": "skask-test",
503 "modelInfo": {
504 "modelType": "vnf",
505 "modelInvariantId": "skask",
506 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
507 "modelName": "vSAMP12",
508 "modelVersion": "1.0",
509 "modelCustomizationName": "vSAMP12 1"
510 }
511 }
512 }
513 ],
514 "requestParameters": {
515 "userParams": {}
516 }
517 }
518 }
519 """
520
521 def bpmnReqJsonVfModuleSuppressRollbackFalse = """
522 {
523 "requestDetails": {
524 "modelInfo": {
525 "modelType": "vfModule",
526 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
527 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
528 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
529 "modelVersion": "1"
530 },
531 "cloudConfiguration": {
532 "lcpCloudRegionId": "MDTWNJ21",
533 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
534 },
535 "requestInfo": {
536 "instanceName": "PCRF::module-0-2",
537 "source": "VID",
538 "suppressRollback": false
539 },
540 "relatedInstanceList": [
541 {
542 "relatedInstance": {
543 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
544 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
545 "modelInfo": {
546 "modelType": "volumeGroup",
547 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
548 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
549 "modelName": "vSAMP12..base..module-0",
550 "modelVersion": "1"
551 }
552 }
553 },
554 {
555 "relatedInstance": {
556 "instanceId": "123456",
557 "modelInfo": {
558 "modelType": "service",
559 "modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
560 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
561 "modelName": "SERVICE_MODEL_NAME",
562 "modelVersion": "1.0"
563 }
564 }
565 },
566 {
567 "relatedInstance": {
568 "instanceId": "skask",
569 "instanceName": "skask-test",
570 "modelInfo": {
571 "modelType": "vnf",
572 "modelInvariantId": "skask",
573 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
574 "modelName": "vSAMP12",
575 "modelVersion": "1.0",
576 "modelCustomizationName": "vSAMP12 1"
577 }
578 }
579 }
580 ],
581 "requestParameters": {
582 "userParams": {}
583 }
584 }
585 }
586 """
587
588 def bpmnReqJsonVfModuleSuppressRollbackNone = """
589 {
590 "requestDetails": {
591 "modelInfo": {
592 "modelType": "vfModule",
593 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
594 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
595 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
596 "modelVersion": "1"
597 },
598 "cloudConfiguration": {
599 "lcpCloudRegionId": "MDTWNJ21",
600 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
601 },
602 "requestInfo": {
603 "instanceName": "PCRF::module-0-2",
604 "source": "VID"
605 },
606 "relatedInstanceList": [
607 {
608 "relatedInstance": {
609 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
610 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
611 "modelInfo": {
612 "modelType": "volumeGroup",
613 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
614 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
615 "modelName": "vSAMP12..base..module-0",
616 "modelVersion": "1"
617 }
618 }
619 },
620 {
621 "relatedInstance": {
622 "instanceId": "123456",
623 "modelInfo": {
624 "modelType": "service",
625 "modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
626 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
627 "modelName": "SERVICE_MODEL_NAME",
628 "modelVersion": "1.0"
629 }
630 }
631 },
632 {
633 "relatedInstance": {
634 "instanceId": "skask",
635 "instanceName": "skask-test",
636 "modelInfo": {
637 "modelType": "vnf",
638 "modelInvariantId": "skask",
639 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
640 "modelName": "vSAMP12",
641 "modelVersion": "1.0",
642 "modelCustomizationName": "vSAMP12 1"
643 }
644 }
645 }
646 ],
647 "requestParameters": {
648 "userParams": {}
649 }
650 }
651 }
652 """
653         def vidUtilResp2 = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
654    <request-info>
655       <action>CREATE_VF_MODULE_VOL</action>
656       <source>VID</source>
657       <service-instance-id>test-service-instance-id-123</service-instance-id>
658    </request-info>
659    <volume-inputs>
660       <volume-group-id/>
661       <volume-group-name>MSOTESTVOL101a-vSAMP12_base_vol_module-0</volume-group-name>
662       <vnf-type>Test/vSAMP12</vnf-type>
663       <vf-module-model-name>vSAMP12::base::module-0</vf-module-model-name>
664       <asdc-service-model-version>2.0</asdc-service-model-version>
665       <aic-cloud-region>mdt1</aic-cloud-region>
666       <tenant-id>88a6ca3ee0394ade9403f075db23167e</tenant-id>
667       <service-id/>
668       <backout-on-failure>true</backout-on-failure>
669       <model-customization-id/>
670    </volume-inputs>
671    <volume-params/>
672 </volume-request>
673 """
674         
675 def vidUtilVolumeRespBackoutOnFailureFalse = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
676    <request-info>
677       <action>CREATE_VF_MODULE_VOL</action>
678       <source>VID</source>
679       <service-instance-id>test-service-instance-id-123</service-instance-id>
680    </request-info>
681    <volume-inputs>
682       <volume-group-id/>
683       <volume-group-name>MSOTESTVOL101a-vSAMP12_base_vol_module-0</volume-group-name>
684       <vnf-type>Test/vSAMP12</vnf-type>
685       <vf-module-model-name>vSAMP12::base::module-0</vf-module-model-name>
686       <asdc-service-model-version>2.0</asdc-service-model-version>
687       <aic-cloud-region>mdt1</aic-cloud-region>
688       <tenant-id>88a6ca3ee0394ade9403f075db23167e</tenant-id>
689       <service-id/>
690       <backout-on-failure>false</backout-on-failure>
691       <model-customization-id/>
692    </volume-inputs>
693    <volume-params/>
694 </volume-request>
695 """
696
697 def vidUtilVolumeRespBackoutOnFailureTrue = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
698    <request-info>
699       <action>CREATE_VF_MODULE_VOL</action>
700       <source>VID</source>
701       <service-instance-id>test-service-instance-id-123</service-instance-id>
702    </request-info>
703    <volume-inputs>
704       <volume-group-id/>
705       <volume-group-name>MSOTESTVOL101a-vSAMP12_base_vol_module-0</volume-group-name>
706       <vnf-type>Test/vSAMP12</vnf-type>
707       <vf-module-model-name>vSAMP12::base::module-0</vf-module-model-name>
708       <asdc-service-model-version>2.0</asdc-service-model-version>
709       <aic-cloud-region>mdt1</aic-cloud-region>
710       <tenant-id>88a6ca3ee0394ade9403f075db23167e</tenant-id>
711       <service-id/>
712       <backout-on-failure>true</backout-on-failure>
713       <model-customization-id/>
714    </volume-inputs>
715    <volume-params/>
716 </volume-request>
717 """
718
719 def vidUtilVolumeRespBackoutOnFailureEmpty = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
720    <request-info>
721       <action>CREATE_VF_MODULE_VOL</action>
722       <source>VID</source>
723       <service-instance-id>test-service-instance-id-123</service-instance-id>
724    </request-info>
725    <volume-inputs>
726       <volume-group-id/>
727       <volume-group-name>MSOTESTVOL101a-vSAMP12_base_vol_module-0</volume-group-name>
728       <vnf-type>Test/vSAMP12</vnf-type>
729       <vf-module-model-name>vSAMP12::base::module-0</vf-module-model-name>
730       <asdc-service-model-version>2.0</asdc-service-model-version>
731       <aic-cloud-region>mdt1</aic-cloud-region>
732       <tenant-id>88a6ca3ee0394ade9403f075db23167e</tenant-id>
733       <service-id/>
734       <backout-on-failure/>
735       <model-customization-id/>
736    </volume-inputs>
737    <volume-params/>
738 </volume-request>
739 """
740
741 def vidUtilVfModuleRespBackoutOnFailureFalse = """<vnf-request>
742    <request-info>
743       <request-id>test-request-id-123</request-id>
744       <action>CREATE_VF_MODULE</action>
745       <source>VID</source>
746       <!-- new 1610 field -->
747       <service-instance-id>test-service-instance-id-123</service-instance-id>
748    </request-info>
749    <vnf-inputs><!-- not in use in 1610 -->
750       <vnf-name>skask-test</vnf-name>
751       <vnf-type>test-vnf-type-123</vnf-type>
752       <vnf-id>test-vnf-id-123</vnf-id>
753       <volume-group-id>test-volume-group-id-123</volume-group-id>
754       <vf-module-id>test-vf-module-id-123</vf-module-id>
755       <vf-module-name>PCRF::module-0-2</vf-module-name>
756       <vf-module-model-name>STMTN5MMSC21-MMSC::model-1-0</vf-module-model-name>
757       <model-customization-id/>
758       <is-base-vf-module>false</is-base-vf-module>
759       <asdc-service-model-version>1.0</asdc-service-model-version>
760       <aic-cloud-region>MDTWNJ21</aic-cloud-region>
761       <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>
762       <service-id/>
763       <backout-on-failure>false</backout-on-failure>
764       <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
765       <persona-model-version>1</persona-model-version>
766    </vnf-inputs>
767    <vnf-params/>
768 </vnf-request>
769 """
770
771 def vidUtilVfModuleRespBackoutOnFailureTrue = """<vnf-request>
772    <request-info>
773       <request-id>test-request-id-123</request-id>
774       <action>CREATE_VF_MODULE</action>
775       <source>VID</source>
776       <!-- new 1610 field -->
777       <service-instance-id>test-service-instance-id-123</service-instance-id>
778    </request-info>
779    <vnf-inputs><!-- not in use in 1610 -->
780       <vnf-name>skask-test</vnf-name>
781       <vnf-type>test-vnf-type-123</vnf-type>
782       <vnf-id>test-vnf-id-123</vnf-id>
783       <volume-group-id>test-volume-group-id-123</volume-group-id>
784       <vf-module-id>test-vf-module-id-123</vf-module-id>
785       <vf-module-name>PCRF::module-0-2</vf-module-name>
786       <vf-module-model-name>STMTN5MMSC21-MMSC::model-1-0</vf-module-model-name>
787       <model-customization-id/>
788       <is-base-vf-module>false</is-base-vf-module>
789       <asdc-service-model-version>1.0</asdc-service-model-version>
790       <aic-cloud-region>MDTWNJ21</aic-cloud-region>
791       <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>
792       <service-id/>
793       <backout-on-failure>true</backout-on-failure>
794       <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
795       <persona-model-version>1</persona-model-version>
796    </vnf-inputs>
797    <vnf-params/>
798 </vnf-request>
799 """
800
801 def vidUtilVfModuleRespBackoutOnFailureEmpty = """<vnf-request>
802    <request-info>
803       <request-id>test-request-id-123</request-id>
804       <action>CREATE_VF_MODULE</action>
805       <source>VID</source>
806       <!-- new 1610 field -->
807       <service-instance-id>test-service-instance-id-123</service-instance-id>
808    </request-info>
809    <vnf-inputs><!-- not in use in 1610 -->
810       <vnf-name>skask-test</vnf-name>
811       <vnf-type>test-vnf-type-123</vnf-type>
812       <vnf-id>test-vnf-id-123</vnf-id>
813       <volume-group-id>test-volume-group-id-123</volume-group-id>
814       <vf-module-id>test-vf-module-id-123</vf-module-id>
815       <vf-module-name>PCRF::module-0-2</vf-module-name>
816       <vf-module-model-name>STMTN5MMSC21-MMSC::model-1-0</vf-module-model-name>
817       <model-customization-id/>
818       <is-base-vf-module>false</is-base-vf-module>
819       <asdc-service-model-version>1.0</asdc-service-model-version>
820       <aic-cloud-region>MDTWNJ21</aic-cloud-region>
821       <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>
822       <service-id/>
823       <backout-on-failure/>
824       <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
825       <persona-model-version>1</persona-model-version>
826    </vnf-inputs>
827    <vnf-params/>
828 </vnf-request>
829 """
830
831         @Before
832         public void init()
833         {
834                 MockitoAnnotations.initMocks(this)
835                 
836         }
837         
838         @Test
839         public void test() {
840
841                 def jsonSlurper = new JsonSlurper()
842                 Map reqMap = jsonSlurper.parseText(bpmnReq1)
843                 
844                 VidUtils vidUtils = new VidUtils()
845                 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
846                 print xmlReq
847                 assertEquals(vidUtilResp1, xmlReq)
848         }
849         
850         //@Test
851         public void testVfModule() {
852
853                 def jsonSlurper = new JsonSlurper()
854                 Map reqMap = jsonSlurper.parseText(vfModuleReqJson)
855                 
856                 VidUtils vidUtils = new VidUtils()
857                 def xmlReq = vidUtils.createXmlVfModuleRequest(null, reqMap, "CREATE_VF_MODULE", "test-service-instance-id-123")
858                 print xmlReq
859                 assertTrue(true)
860         }
861         
862         @Test
863         public void testNoRequestParams() {
864
865                 def jsonSlurper = new JsonSlurper()
866                 Map reqMap = jsonSlurper.parseText(bpmnReq2)
867                 
868                 VidUtils vidUtils = new VidUtils()
869                 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
870                 
871                 assertEquals(vidUtilResp2, xmlReq)
872         }
873
874         @Test
875         public void testVfModuleVolumeRollbackTrue() {
876
877                 def jsonSlurper = new JsonSlurper()
878                 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackTrue)
879                 
880                 VidUtils vidUtils = new VidUtils()
881                 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
882                 
883                 assertEquals(vidUtilVolumeRespBackoutOnFailureFalse, xmlReq)
884         }
885
886         @Test
887         public void testVfModuleVolumeRollbackFalse() {
888
889                 def jsonSlurper = new JsonSlurper()
890                 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackFalse)
891                 
892                 VidUtils vidUtils = new VidUtils()
893                 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
894                 
895                 assertEquals(vidUtilVolumeRespBackoutOnFailureTrue, xmlReq)
896         }
897
898         @Test
899         public void testVfModuleVolumeRollbackNone() {
900
901                 def jsonSlurper = new JsonSlurper()
902                 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackNone)
903                 
904                 VidUtils vidUtils = new VidUtils()
905                 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
906
907                 assertEquals(vidUtilVolumeRespBackoutOnFailureEmpty, xmlReq)
908         }
909         
910         @Test
911         public void testVfModuleRollbackTrue() {
912
913                 def jsonSlurper = new JsonSlurper()
914                 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackTrue)
915                 
916                 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
917                 when(mockExecution.getVariable("vnfType")).thenReturn('test-vnf-type-123')
918                 when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id-123')
919                 when(mockExecution.getVariable("vfModuleId")).thenReturn('test-vf-module-id-123')
920                 when(mockExecution.getVariable("volumeGroupId")).thenReturn('test-volume-group-id-123')
921                 when(mockExecution.getVariable("isBaseVfModule")).thenReturn('false')
922                 when(mockExecution.getVariable("mso-request-id")).thenReturn('test-request-id-123')
923                 
924                 VidUtils vidUtils = new VidUtils()
925                 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
926                 
927                 println 'ggg->' + xmlReq
928                 assertEquals(vidUtilVfModuleRespBackoutOnFailureFalse, xmlReq)
929         }
930         
931         @Test
932         public void testVfModuleRollbackFalse() {
933
934                 def jsonSlurper = new JsonSlurper()
935                 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackFalse)
936                 
937                 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
938                 when(mockExecution.getVariable("vnfType")).thenReturn('test-vnf-type-123')
939                 when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id-123')
940                 when(mockExecution.getVariable("vfModuleId")).thenReturn('test-vf-module-id-123')
941                 when(mockExecution.getVariable("volumeGroupId")).thenReturn('test-volume-group-id-123')
942                 when(mockExecution.getVariable("isBaseVfModule")).thenReturn('false')
943                 when(mockExecution.getVariable("mso-request-id")).thenReturn('test-request-id-123')
944                 
945                 VidUtils vidUtils = new VidUtils()
946                 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
947                 
948                 println 'ggg->' + xmlReq
949                 assertEquals(vidUtilVfModuleRespBackoutOnFailureTrue, xmlReq)
950         }
951         
952         @Test
953         public void testVfModuleRollbackNone() {
954
955                 def jsonSlurper = new JsonSlurper()
956                 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackNone)
957                 
958                 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
959                 when(mockExecution.getVariable("vnfType")).thenReturn('test-vnf-type-123')
960                 when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id-123')
961                 when(mockExecution.getVariable("vfModuleId")).thenReturn('test-vf-module-id-123')
962                 when(mockExecution.getVariable("volumeGroupId")).thenReturn('test-volume-group-id-123')
963                 when(mockExecution.getVariable("isBaseVfModule")).thenReturn('false')
964                 when(mockExecution.getVariable("mso-request-id")).thenReturn('test-request-id-123')
965                 
966                 VidUtils vidUtils = new VidUtils()
967                 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
968                 
969                 println 'ggg->' + xmlReq
970                 assertEquals(vidUtilVfModuleRespBackoutOnFailureEmpty, xmlReq)
971         }
972 }