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.openecomp.mso.bpmn.common.scripts;
23 import static org.mockito.Mockito.*
25 import org.openecomp.mso.bpmn.common.scripts.VidUtils;
26 import org.openecomp.mso.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.runtime.Execution;
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 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
62 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
63 "modelName": "STMTN5MMSC21-MMSC::model-1-0",
65 "modelCustomizationId": "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 "modelInvariantId": "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 "modelInvariantId": "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 "modelInvariantId": "skask",
109 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
110 "modelName": "vSAMP12",
111 "modelVersion": "1.0",
112 "modelCustomizationName": "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 "modelCustomizationName": "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 "modelNameVersionId": "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 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
287 "modelVersion": "2.0"
292 "instanceId": "{vnf-instance-id}",
295 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
296 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
297 "modelName": "vSAMP12",
299 "modelCustomizationName": "vSAMP12"
308 def bpmnReqJsonVolumeSuppressRollbackTrue = """
312 "modelType": "volumeGroup",
313 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
314 "modelNameVersionId": "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 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
336 "modelVersion": "2.0"
341 "instanceId": "{vnf-instance-id}",
344 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
345 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
346 "modelName": "vSAMP12",
348 "modelCustomizationName": "vSAMP12"
357 def bpmnReqJsonVolumeSuppressRollbackFalse = """
361 "modelType": "volumeGroup",
362 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
363 "modelNameVersionId": "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 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
385 "modelVersion": "2.0"
390 "instanceId": "{vnf-instance-id}",
393 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
394 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
395 "modelName": "vSAMP12",
397 "modelCustomizationName": "vSAMP12"
406 def bpmnReqJsonVolumeSuppressRollbackNone = """
410 "modelType": "volumeGroup",
411 "modelId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
412 "modelNameVersionId": "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 "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
433 "modelVersion": "2.0"
438 "instanceId": "{vnf-instance-id}",
441 "modelId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
442 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
443 "modelName": "vSAMP12",
445 "modelCustomizationName": "vSAMP12"
454 def bpmnReqJsonVfModuleSuppressRollbackTrue = """
458 "modelType": "vfModule",
459 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
460 "modelNameVersionId": "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 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
481 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
482 "modelName": "vSAMP12..base..module-0",
489 "instanceId": "123456",
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"
501 "instanceId": "skask",
502 "instanceName": "skask-test",
505 "modelInvariantId": "skask",
506 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
507 "modelName": "vSAMP12",
508 "modelVersion": "1.0",
509 "modelCustomizationName": "vSAMP12 1"
514 "requestParameters": {
521 def bpmnReqJsonVfModuleSuppressRollbackFalse = """
525 "modelType": "vfModule",
526 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
527 "modelNameVersionId": "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 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
548 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
549 "modelName": "vSAMP12..base..module-0",
556 "instanceId": "123456",
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"
568 "instanceId": "skask",
569 "instanceName": "skask-test",
572 "modelInvariantId": "skask",
573 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
574 "modelName": "vSAMP12",
575 "modelVersion": "1.0",
576 "modelCustomizationName": "vSAMP12 1"
581 "requestParameters": {
588 def bpmnReqJsonVfModuleSuppressRollbackNone = """
592 "modelType": "vfModule",
593 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
594 "modelNameVersionId": "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 "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",
614 "modelNameVersionId": "fe6478e5-ea33-3346-ac12-ab121484a3fe",
615 "modelName": "vSAMP12..base..module-0",
622 "instanceId": "123456",
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"
634 "instanceId": "skask",
635 "instanceName": "skask-test",
638 "modelInvariantId": "skask",
639 "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
640 "modelName": "vSAMP12",
641 "modelVersion": "1.0",
642 "modelCustomizationName": "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 <!-- new 1610 field -->
747 <service-instance-id>test-service-instance-id-123</service-instance-id>
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>
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>
771 def vidUtilVfModuleRespBackoutOnFailureTrue = """<vnf-request>
773 <request-id>test-request-id-123</request-id>
774 <action>CREATE_VF_MODULE</action>
776 <!-- new 1610 field -->
777 <service-instance-id>test-service-instance-id-123</service-instance-id>
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>
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>
801 def vidUtilVfModuleRespBackoutOnFailureEmpty = """<vnf-request>
803 <request-id>test-request-id-123</request-id>
804 <action>CREATE_VF_MODULE</action>
806 <!-- new 1610 field -->
807 <service-instance-id>test-service-instance-id-123</service-instance-id>
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>
823 <backout-on-failure/>
824 <persona-model-id>ff5256d2-5a33-55df-13ab-12abad84e7ff</persona-model-id>
825 <persona-model-version>1</persona-model-version>
834 MockitoAnnotations.initMocks(this)
841 def jsonSlurper = new JsonSlurper()
842 Map reqMap = jsonSlurper.parseText(bpmnReq1)
844 VidUtils vidUtils = new VidUtils()
845 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
847 assertEquals(vidUtilResp1, xmlReq)
851 public void testVfModule() {
853 def jsonSlurper = new JsonSlurper()
854 Map reqMap = jsonSlurper.parseText(vfModuleReqJson)
856 VidUtils vidUtils = new VidUtils()
857 def xmlReq = vidUtils.createXmlVfModuleRequest(null, reqMap, "CREATE_VF_MODULE", "test-service-instance-id-123")
863 public void testNoRequestParams() {
865 def jsonSlurper = new JsonSlurper()
866 Map reqMap = jsonSlurper.parseText(bpmnReq2)
868 VidUtils vidUtils = new VidUtils()
869 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
871 assertEquals(vidUtilResp2, xmlReq)
875 public void testVfModuleVolumeRollbackTrue() {
877 def jsonSlurper = new JsonSlurper()
878 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackTrue)
880 VidUtils vidUtils = new VidUtils()
881 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
883 assertEquals(vidUtilVolumeRespBackoutOnFailureFalse, xmlReq)
887 public void testVfModuleVolumeRollbackFalse() {
889 def jsonSlurper = new JsonSlurper()
890 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackFalse)
892 VidUtils vidUtils = new VidUtils()
893 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
895 assertEquals(vidUtilVolumeRespBackoutOnFailureTrue, xmlReq)
899 public void testVfModuleVolumeRollbackNone() {
901 def jsonSlurper = new JsonSlurper()
902 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVolumeSuppressRollbackNone)
904 VidUtils vidUtils = new VidUtils()
905 def xmlReq = vidUtils.createXmlVolumeRequest(reqMap, 'CREATE_VF_MODULE_VOL', 'test-service-instance-id-123')
907 assertEquals(vidUtilVolumeRespBackoutOnFailureEmpty, xmlReq)
911 public void testVfModuleRollbackTrue() {
913 def jsonSlurper = new JsonSlurper()
914 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackTrue)
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')
924 VidUtils vidUtils = new VidUtils()
925 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
927 println 'ggg->' + xmlReq
928 assertEquals(vidUtilVfModuleRespBackoutOnFailureFalse, xmlReq)
932 public void testVfModuleRollbackFalse() {
934 def jsonSlurper = new JsonSlurper()
935 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackFalse)
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')
945 VidUtils vidUtils = new VidUtils()
946 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
948 println 'ggg->' + xmlReq
949 assertEquals(vidUtilVfModuleRespBackoutOnFailureTrue, xmlReq)
953 public void testVfModuleRollbackNone() {
955 def jsonSlurper = new JsonSlurper()
956 Map reqMap = jsonSlurper.parseText(bpmnReqJsonVfModuleSuppressRollbackNone)
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')
966 VidUtils vidUtils = new VidUtils()
967 def xmlReq = vidUtils.createXmlVfModuleRequest(mockExecution, reqMap, 'CREATE_VF_MODULE', 'test-service-instance-id-123')
969 println 'ggg->' + xmlReq
970 assertEquals(vidUtilVfModuleRespBackoutOnFailureEmpty, xmlReq)