2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.bpmn.common.scripts;
23 import static org.mockito.Mockito.*
25 import org.onap.so.bpmn.common.scripts.VidUtils;
26 import org.onap.so.bpmn.core.WorkflowException
28 import groovy.json.JsonSlurper
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.delegate.DelegateExecution;
38 import static org.junit.Assert.*;
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;
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;
52 @RunWith(MockitoJUnitRunner.class)
56 def vfModuleReqJson = """
60 "modelType": "vfModule",
61 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
62 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
63 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
65 "modelCustomizationUuid": "ee6478e5-ea33-3346-ac12-ab121484a3fe"
67 "cloudConfiguration": {
68 "lcpCloudRegionId": "MDTWNJ21",
69 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
72 "instanceName": "PCRF::module-0-2",
74 "suppressRollback": true
76 "relatedInstanceList": [
79 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
80 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
82 "modelType": "volumeGroup",
83 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
84 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
85 "modelName": "vSAMP12..base..module-0",
92 "instanceId": "123456",
94 "modelType": "service",
95 "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
96 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
97 "modelName": "SERVICE_MODEL_NAME",
104 "instanceId": "skask",
105 "instanceName": "skask-test",
108 "modelInvariantUuid": "skask",
109 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
110 "modelName": "vSAMP12",
111 "modelVersion": "1.0",
112 "modelInstanceName": "vSAMP12 1"
117 "requestParameters": {
121 "value": "STMTN5MMSC20"
125 "value": "vpe-tenant-123"
128 "name": "aicCloudRegion",
132 "name": "isAvpnService",
140 "name": "releaseForAero",
141 "value": "release-for-aero-something"
145 "value": "MTJWNJA4LCP"
148 "name": "svcProviderPartNumber",
149 "value": "svc-provide-number-1234"
160 "modelType": "volumeGroup",
161 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
162 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
163 "modelName": "vSAMP12::base::module-0",
166 "cloudConfiguration": {
167 "lcpCloudRegionId": "mdt1",
168 "tenantId": "88a6ca3ee0394ade9403f075db23167e"
171 "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
173 "suppressRollback": false
175 "relatedInstanceList": [
178 "instanceId": "{service-instance-id}",
180 "modelType": "service",
181 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
182 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
184 "modelVersion": "2.0"
189 "instanceId": "{vnf-instance-id}",
192 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
193 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
194 "modelName": "vSAMP12",
196 "modelInstanceName": "vSAMP12"
201 "requestParameters": {
202 "serviceId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
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" }
223 def vidUtilResp1 = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
225 <action>CREATE_VF_MODULE_VOL</action>
227 <service-instance-id>test-service-instance-id-123</service-instance-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/>
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>
263 "modelType": "volumeGroup",
264 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
265 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
266 "modelName": "vSAMP12::base::module-0",
269 "cloudConfiguration": {
270 "lcpCloudRegionId": "mdt1",
271 "tenantId": "88a6ca3ee0394ade9403f075db23167e"
274 "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
276 "suppressRollback": false
278 "relatedInstanceList": [
281 "instanceId": "{service-instance-id}",
283 "modelType": "service",
284 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
285 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
287 "modelVersion": "2.0"
292 "instanceId": "{vnf-instance-id}",
295 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
296 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
297 "modelName": "vSAMP12",
299 "modelInstanceName": "vSAMP12"
308 def bpmnReqJsonVolumeSuppressRollbackTrue = """
312 "modelType": "volumeGroup",
313 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
314 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
315 "modelName": "vSAMP12::base::module-0",
318 "cloudConfiguration": {
319 "lcpCloudRegionId": "mdt1",
320 "tenantId": "88a6ca3ee0394ade9403f075db23167e"
323 "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
325 "suppressRollback": true
327 "relatedInstanceList": [
330 "instanceId": "{service-instance-id}",
332 "modelType": "service",
333 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
334 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
336 "modelVersion": "2.0"
341 "instanceId": "{vnf-instance-id}",
344 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
345 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
346 "modelName": "vSAMP12",
348 "modelInstanceName": "vSAMP12"
357 def bpmnReqJsonVolumeSuppressRollbackFalse = """
361 "modelType": "volumeGroup",
362 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
363 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
364 "modelName": "vSAMP12::base::module-0",
367 "cloudConfiguration": {
368 "lcpCloudRegionId": "mdt1",
369 "tenantId": "88a6ca3ee0394ade9403f075db23167e"
372 "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
374 "suppressRollback": false
376 "relatedInstanceList": [
379 "instanceId": "{service-instance-id}",
381 "modelType": "service",
382 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
383 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
385 "modelVersion": "2.0"
390 "instanceId": "{vnf-instance-id}",
393 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
394 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
395 "modelName": "vSAMP12",
397 "modelInstanceName": "vSAMP12"
406 def bpmnReqJsonVolumeSuppressRollbackNone = """
410 "modelType": "volumeGroup",
411 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
412 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
413 "modelName": "vSAMP12::base::module-0",
416 "cloudConfiguration": {
417 "lcpCloudRegionId": "mdt1",
418 "tenantId": "88a6ca3ee0394ade9403f075db23167e"
421 "instanceName": "MSOTESTVOL101a-vSAMP12_base_vol_module-0",
424 "relatedInstanceList": [
427 "instanceId": "{service-instance-id}",
429 "modelType": "service",
430 "modelId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
431 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
433 "modelVersion": "2.0"
438 "instanceId": "{vnf-instance-id}",
441 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
442 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
443 "modelName": "vSAMP12",
445 "modelInstanceName": "vSAMP12"
454 def bpmnReqJsonVfModuleSuppressRollbackTrue = """
458 "modelType": "vfModule",
459 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
460 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
461 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
464 "cloudConfiguration": {
465 "lcpCloudRegionId": "MDTWNJ21",
466 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
469 "instanceName": "PCRF::module-0-2",
471 "suppressRollback": true
473 "relatedInstanceList": [
476 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
477 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
479 "modelType": "volumeGroup",
480 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
481 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
482 "modelName": "vSAMP12..base..module-0",
489 "instanceId": "123456",
491 "modelType": "service",
492 "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
493 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
494 "modelName": "SERVICE_MODEL_NAME",
495 "modelVersion": "1.0"
501 "instanceId": "skask",
502 "instanceName": "skask-test",
505 "modelInvariantUuid": "skask",
506 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
507 "modelName": "vSAMP12",
508 "modelVersion": "1.0",
509 "modelInstanceName": "vSAMP12 1"
514 "requestParameters": {
521 def bpmnReqJsonVfModuleSuppressRollbackFalse = """
525 "modelType": "vfModule",
526 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
527 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
528 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
531 "cloudConfiguration": {
532 "lcpCloudRegionId": "MDTWNJ21",
533 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
536 "instanceName": "PCRF::module-0-2",
538 "suppressRollback": false
540 "relatedInstanceList": [
543 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
544 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
546 "modelType": "volumeGroup",
547 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
548 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
549 "modelName": "vSAMP12..base..module-0",
556 "instanceId": "123456",
558 "modelType": "service",
559 "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
560 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
561 "modelName": "SERVICE_MODEL_NAME",
562 "modelVersion": "1.0"
568 "instanceId": "skask",
569 "instanceName": "skask-test",
572 "modelInvariantUuid": "skask",
573 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
574 "modelName": "vSAMP12",
575 "modelVersion": "1.0",
576 "modelInstanceName": "vSAMP12 1"
581 "requestParameters": {
588 def bpmnReqJsonVfModuleSuppressRollbackNone = """
592 "modelType": "vfModule",
593 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
594 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
595 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
598 "cloudConfiguration": {
599 "lcpCloudRegionId": "MDTWNJ21",
600 "tenantId": "fba1bd1e195a404cacb9ce17a9b2b421"
603 "instanceName": "PCRF::module-0-2",
606 "relatedInstanceList": [
609 "instanceId": "17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c",
610 "instanceName": "MSOTESTVOL103a-vSAMP12_base_module-0_vol",
612 "modelType": "volumeGroup",
613 "modelInvariantUuid": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
614 "modelUuid": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
615 "modelName": "vSAMP12..base..module-0",
622 "instanceId": "123456",
624 "modelType": "service",
625 "modelInvariantUuid": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
626 "modelUuid": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
627 "modelName": "SERVICE_MODEL_NAME",
628 "modelVersion": "1.0"
634 "instanceId": "skask",
635 "instanceName": "skask-test",
638 "modelInvariantUuid": "skask",
639 "modelUuid": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
640 "modelName": "vSAMP12",
641 "modelVersion": "1.0",
642 "modelInstanceName": "vSAMP12 1"
647 "requestParameters": {
653 def vidUtilResp2 = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
655 <action>CREATE_VF_MODULE_VOL</action>
657 <service-instance-id>test-service-instance-id-123</service-instance-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>
668 <backout-on-failure>true</backout-on-failure>
669 <model-customization-id/>
675 def vidUtilVolumeRespBackoutOnFailureFalse = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
677 <action>CREATE_VF_MODULE_VOL</action>
679 <service-instance-id>test-service-instance-id-123</service-instance-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>
690 <backout-on-failure>false</backout-on-failure>
691 <model-customization-id/>
697 def vidUtilVolumeRespBackoutOnFailureTrue = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
699 <action>CREATE_VF_MODULE_VOL</action>
701 <service-instance-id>test-service-instance-id-123</service-instance-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>
712 <backout-on-failure>true</backout-on-failure>
713 <model-customization-id/>
719 def vidUtilVolumeRespBackoutOnFailureEmpty = """<volume-request xmlns="http://www.w3.org/2001/XMLSchema">
721 <action>CREATE_VF_MODULE_VOL</action>
723 <service-instance-id>test-service-instance-id-123</service-instance-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>
734 <backout-on-failure/>
735 <model-customization-id/>
741 def vidUtilVfModuleRespBackoutOnFailureFalse = """<vnf-request>
743 <request-id>test-request-id-123</request-id>
744 <action>CREATE_VF_MODULE</action>
746 <service-instance-id>test-service-instance-id-123</service-instance-id>
748 <vnf-inputs><!-- not in use in 1610 -->
749 <vnf-name>skask-test</vnf-name>
750 <vnf-type>test-vnf-type-123</vnf-type>
751 <vnf-id>test-vnf-id-123</vnf-id>
752 <volume-group-id>test-volume-group-id-123</volume-group-id>
753 <vf-module-id>test-vf-module-id-123</vf-module-id>
754 <vf-module-name>PCRF::module-0-2</vf-module-name>
755 <vf-module-model-name>STMTN5MMSC21-MMSC::model-1-0</vf-module-model-name>
756 <model-customization-id/>
757 <is-base-vf-module>false</is-base-vf-module>
758 <asdc-service-model-version>1.0</asdc-service-model-version>
759 <aic-cloud-region>MDTWNJ21</aic-cloud-region>
760 <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>
762 <backout-on-failure>false</backout-on-failure>
763 <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
764 <persona-model-version>fe6478e5-ea33-3346-ac12-ab121484a3fe</persona-model-version>
770 def vidUtilVfModuleRespBackoutOnFailureTrue = """<vnf-request>
772 <request-id>test-request-id-123</request-id>
773 <action>CREATE_VF_MODULE</action>
775 <service-instance-id>test-service-instance-id-123</service-instance-id>
777 <vnf-inputs><!-- not in use in 1610 -->
778 <vnf-name>skask-test</vnf-name>
779 <vnf-type>test-vnf-type-123</vnf-type>
780 <vnf-id>test-vnf-id-123</vnf-id>
781 <volume-group-id>test-volume-group-id-123</volume-group-id>
782 <vf-module-id>test-vf-module-id-123</vf-module-id>
783 <vf-module-name>PCRF::module-0-2</vf-module-name>
784 <vf-module-model-name>STMTN5MMSC21-MMSC::model-1-0</vf-module-model-name>
785 <model-customization-id/>
786 <is-base-vf-module>false</is-base-vf-module>
787 <asdc-service-model-version>1.0</asdc-service-model-version>
788 <aic-cloud-region>MDTWNJ21</aic-cloud-region>
789 <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>
791 <backout-on-failure>true</backout-on-failure>
792 <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
793 <persona-model-version>fe6478e5-ea33-3346-ac12-ab121484a3fe</persona-model-version>
799 def vidUtilVfModuleRespBackoutOnFailureEmpty = """<vnf-request>
801 <request-id>test-request-id-123</request-id>
802 <action>CREATE_VF_MODULE</action>
804 <service-instance-id>test-service-instance-id-123</service-instance-id>
806 <vnf-inputs><!-- not in use in 1610 -->
807 <vnf-name>skask-test</vnf-name>
808 <vnf-type>test-vnf-type-123</vnf-type>
809 <vnf-id>test-vnf-id-123</vnf-id>
810 <volume-group-id>test-volume-group-id-123</volume-group-id>
811 <vf-module-id>test-vf-module-id-123</vf-module-id>
812 <vf-module-name>PCRF::module-0-2</vf-module-name>
813 <vf-module-model-name>STMTN5MMSC21-MMSC::model-1-0</vf-module-model-name>
814 <model-customization-id/>
815 <is-base-vf-module>false</is-base-vf-module>
816 <asdc-service-model-version>1.0</asdc-service-model-version>
817 <aic-cloud-region>MDTWNJ21</aic-cloud-region>
818 <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>
820 <backout-on-failure/>
821 <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
822 <persona-model-version>fe6478e5-ea33-3346-ac12-ab121484a3fe</persona-model-version>
831 MockitoAnnotations.initMocks(this)
838 def jsonSlurper = new JsonSlurper()
839 Map reqMap = jsonSlurper.parseText(bpmnReq1)
841 VidUtils vidUtils = new VidUtils()
842 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
844 assertEquals(vidUtilResp1, xmlReq)
848 public void testVfModule() {
850 def jsonSlurper = new JsonSlurper()
851 Map reqMap = jsonSlurper.parseText(vfModuleReqJson)
853 VidUtils vidUtils = new VidUtils()
854 def xmlReq = vidUtils.createXmlVfModuleRequest(null, reqMap, "CREATE_VF_MODULE", "test-service-instance-id-123")
860 public void testNoRequestParams() {
862 def jsonSlurper = new JsonSlurper()
863 Map reqMap = jsonSlurper.parseText(bpmnReq2)
865 VidUtils vidUtils = new VidUtils()
866 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
868 assertEquals(vidUtilResp2, xmlReq)
872 public void testVfModuleVolumeRollbackTrue() {
874 def jsonSlurper = new JsonSlurper()
875 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackTrue)
877 VidUtils vidUtils = new VidUtils()
878 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
880 assertEquals(vidUtilVolumeRespBackoutOnFailureFalse, xmlReq)
884 public void testVfModuleVolumeRollbackFalse() {
886 def jsonSlurper = new JsonSlurper()
887 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackFalse)
889 VidUtils vidUtils = new VidUtils()
890 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
892 assertEquals(vidUtilVolumeRespBackoutOnFailureTrue, xmlReq)
896 public void testVfModuleVolumeRollbackNone() {
898 def jsonSlurper = new JsonSlurper()
899 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackNone)
901 VidUtils vidUtils = new VidUtils()
902 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
904 assertEquals(vidUtilVolumeRespBackoutOnFailureEmpty, xmlReq)
908 public void testVfModuleRollbackTrue() {
910 def jsonSlurper = new JsonSlurper()
911 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackTrue)
913 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
914 when(mockExecution.getVariable("vnfType")).thenReturn('test-vnf-type-123')
915 when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id-123')
916 when(mockExecution.getVariable("vfModuleId")).thenReturn('test-vf-module-id-123')
917 when(mockExecution.getVariable("volumeGroupId")).thenReturn('test-volume-group-id-123')
918 when(mockExecution.getVariable("isBaseVfModule")).thenReturn('false')
919 when(mockExecution.getVariable("mso-request-id")).thenReturn('test-request-id-123')
921 VidUtils vidUtils = new VidUtils()
922 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
924 println 'ggg->' + xmlReq
925 assertEquals(vidUtilVfModuleRespBackoutOnFailureFalse, xmlReq)
929 public void testVfModuleRollbackFalse() {
931 def jsonSlurper = new JsonSlurper()
932 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackFalse)
934 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
935 when(mockExecution.getVariable("vnfType")).thenReturn('test-vnf-type-123')
936 when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id-123')
937 when(mockExecution.getVariable("vfModuleId")).thenReturn('test-vf-module-id-123')
938 when(mockExecution.getVariable("volumeGroupId")).thenReturn('test-volume-group-id-123')
939 when(mockExecution.getVariable("isBaseVfModule")).thenReturn('false')
940 when(mockExecution.getVariable("mso-request-id")).thenReturn('test-request-id-123')
942 VidUtils vidUtils = new VidUtils()
943 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
945 println 'ggg->' + xmlReq
946 assertEquals(vidUtilVfModuleRespBackoutOnFailureTrue, xmlReq)
950 public void testVfModuleRollbackNone() {
952 def jsonSlurper = new JsonSlurper()
953 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackNone)
955 ExecutionEntity mockExecution = mock(ExecutionEntity.class)
956 when(mockExecution.getVariable("vnfType")).thenReturn('test-vnf-type-123')
957 when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id-123')
958 when(mockExecution.getVariable("vfModuleId")).thenReturn('test-vf-module-id-123')
959 when(mockExecution.getVariable("volumeGroupId")).thenReturn('test-volume-group-id-123')
960 when(mockExecution.getVariable("isBaseVfModule")).thenReturn('false')
961 when(mockExecution.getVariable("mso-request-id")).thenReturn('test-request-id-123')
963 VidUtils vidUtils = new VidUtils()
964 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
966 println 'ggg->' + xmlReq
967 assertEquals(vidUtilVfModuleRespBackoutOnFailureEmpty, xmlReq)