VID - Feature flag for PNF in modern UI
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / objectsToTree / objectToModelTree / objectToModelTree.service.spec.ts
index 41ad23f..8d4dbc4 100644 (file)
@@ -8,10 +8,13 @@ import {DefaultDataGeneratorService} from "../../../../shared/services/defaultDa
 import {DynamicInputsService} from "../dynamicInputs.service";
 import {SharedTreeService} from "../shared.tree.service";
 import {DrawingBoardModes} from "../../drawing-board.modes";
-import {AvailableModelsTreeService} from "../../available-models-tree/available-models-tree.service";
+import {
+  AvailableModelsTreeService,
+  AvailableNodeIcons
+} from "../../available-models-tree/available-models-tree.service";
 import {DialogService} from "ng2-bootstrap-modal";
 import {VnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service";
-import {BasicControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/basic.control.generator";
+import {ControlGeneratorUtil} from "../../../../shared/components/genericForm/formControlsServices/control.generator.util.service";
 import {GenericFormService} from "../../../../shared/components/genericForm/generic-form.service";
 import {FormBuilder} from "@angular/forms";
 import {LogService} from "../../../../shared/utils/log/log.service";
@@ -19,7 +22,7 @@ import {IframeService} from "../../../../shared/utils/iframe.service";
 import {BasicPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/basic.popup.service";
 import {NetworkPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service";
 import {NetworkControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator";
-import {VfModulePopuopService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service";
+import {VfModulePopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
 import {VfModuleControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator";
 import {FeatureFlagsService} from "../../../../shared/services/featureFlag/feature-flags.service";
 import {VnfControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator";
@@ -29,12 +32,44 @@ import {VnfGroupControlGenerator} from "../../../../shared/components/genericFor
 import {DuplicateService} from "../../duplicate/duplicate.service";
 import {SdcUiComponentsModule} from "onap-ui-angular";
 import {ComponentInfoService} from "../../component-info/component-info.service";
+import {IModelTreeNodeModel} from "../../../objectsToTree/objectToModelTree/modelTreeNode.model";
+import {VpnStepService} from "../models/vrf/vrfModal/vpnStep/vpn.step.service";
+import {NetworkStepService} from "../models/vrf/vrfModal/networkStep/network.step.service";
+import {VfModuleUpgradePopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
+import {SharedControllersService} from "../../../../shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service";
+import {ModalService} from "../../../../shared/components/customModal/services/modal.service";
+import {CreateDynamicComponentService} from "../../../../shared/components/customModal/services/create-dynamic-component.service";
+import {PnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/pnf/pnf.popup.service";
 
 class MockAppStore<T> {
   getState() {
     return {
       global: {
         'drawingBoardStatus': DrawingBoardModes.CREATE
+      },
+      service: {
+        serviceInstance: {
+          "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
+            "existingVNFCounterMap": {
+              "280dec31-f16d-488b-9668-4aae55d6648a": 1
+            }
+          }
+        },
+        serviceHierarchy: {
+          "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
+            vnfs: {
+              "2017-388_PASQUALE-vPE 1": {
+                "properties": {}
+              },
+              "2017-388_PASQUALE-vPE 0": {
+                "properties": {}
+              },
+              "2017-488_PASQUALE-vPE 0": {
+                "properties": {}
+              }
+            }
+          }
+        }
       }
     }
   }
@@ -58,8 +93,9 @@ describe('Model Tree Generator service', () => {
         SharedTreeService,
         DialogService,
         VnfPopupService,
+        PnfPopupService,
         VnfGroupPopupService,
-        BasicControlGenerator,
+        ControlGeneratorUtil,
         GenericFormService,
         FormBuilder,
         LogService,
@@ -67,7 +103,8 @@ describe('Model Tree Generator service', () => {
         BasicPopupService,
         NetworkPopupService,
         NetworkControlGenerator,
-        VfModulePopuopService,
+        VfModulePopupService,
+        VfModuleUpgradePopupService,
         VfModuleControlGenerator,
         VnfGroupControlGenerator,
         DialogService,
@@ -77,8 +114,13 @@ describe('Model Tree Generator service', () => {
         DialogService,
         DuplicateService,
         ComponentInfoService,
+        NetworkStepService,
+        VpnStepService,
+        ModalService,
+        CreateDynamicComponentService,
+        SharedControllersService,
         {provide: NgRedux, useClass: MockAppStore},
-        MockNgRedux]
+        MockNgRedux ]
     }).compileComponents();
 
     injector = getTestBed();
@@ -90,25 +132,72 @@ describe('Model Tree Generator service', () => {
     expect(service).toBeDefined();
   });
 
-  test('should return nodes correctly: VNF', () => {
 
+  test('calculateNumberOfNodesWithPlusIcon : should return 0 when there are no nodes', () => {
+    service.calculateNumberOfNodesWithPlusIcon("someServiceModelId", []);
+    expect(service.numberOfPlusButton).toEqual(0);
+  });
+
+  test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon', () => {
+    const serviceModel = {
+      service: {
+        uuid: "uuid"
+      }
+    };
+    service.calculateNumberOfNodesWithPlusIcon(serviceModel, [{
+      showNodeIcons: () => {
+        return new AvailableNodeIcons(true, false)
+      }
+    }]);
+    expect(service.numberOfPlusButton).toEqual(1);
+  });
+
+  test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon and one without', () => {
+    const serviceModel = {
+      service: {
+        uuid: "uuid"
+      }
+    };
+    service.calculateNumberOfNodesWithPlusIcon(serviceModel, [
+      {
+        showNodeIcons: () => {
+          return new AvailableNodeIcons(true, false)
+        }
+      },
+      {
+        showNodeIcons: () => {
+          return new AvailableNodeIcons(false, true)
+        }
+      }
+    ]);
+    expect(service.numberOfPlusButton).toEqual(1);
+  });
+
+  test('should return nodes correctly: VNF', () => {
     let convertToNodes = service.convertServiceHierarchyModelToTreeNodes(getServiceHeirarchyVNF());
-    convertToNodes.map((item) => {
-      delete item['onAddClick'];
-      delete item['getNodeCount'];
-      delete item['showNodeIcons'];
+    convertToNodes.map((item: IModelTreeNodeModel) => {
+      delete item.onAddClick;
+      delete item.getNodeCount;
+      delete item.showNodeIcons;
+      delete item.getModel;
+      delete item.componentInfoType;
+      delete item.getMenuAction;
       delete item['menuActions'];
-      delete item['getMenuAction'];
       delete item['trackById'];
+      delete item.getInfo;
+
 
       if (item.children) {
         item.children.map((child) => {
-          delete child['onAddClick'];
-          delete child['getNodeCount'];
-          delete child['showNodeIcons'];
+          delete child.onAddClick;
+          delete child.getNodeCount;
+          delete child.showNodeIcons;
+          delete child.getModel;
+          delete child.componentInfoType;
+          delete child.getMenuAction;
           delete child['menuActions'];
-          delete child['getMenuAction'];
           delete child['trackById'];
+          delete child.getInfo;
         });
       }
     });
@@ -121,9 +210,10 @@ describe('Model Tree Generator service', () => {
     return [{
       "id": "280dec31-f16d-488b-9668-4aae55d6648a",
       "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
-      "name": "2017-388_ADIOD-vPE 1",
+      "name": "2017-388_PASQUALE-vPE 1",
       "tooltip": "VF",
       "type": "VF",
+      "modelTypeName": "vnfs",
       "count": 0,
       "max": 1,
       "children": [],
@@ -138,9 +228,10 @@ describe('Model Tree Generator service', () => {
       "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
       "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
       "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
-      "name": "2017-388_ADIOD-vPE 0",
+      "name": "2017-388_PASQUALE-vPE 0",
       "tooltip": "VF",
       "type": "VF",
+      "modelTypeName": "vnfs",
       "count": 0,
       "max": 1,
       "children": [],
@@ -153,9 +244,10 @@ describe('Model Tree Generator service', () => {
       "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
       "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
       "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
-      "name": "2017-488_ADIOD-vPE 0",
+      "name": "2017-488_PASQUALE-vPE 0",
       "tooltip": "VF",
       "type": "VF",
+      "modelTypeName": "vnfs",
       "count": 0,
       "max": 1,
       "children": [{
@@ -163,9 +255,10 @@ describe('Model Tree Generator service', () => {
         "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5",
         "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
         "modelUniqueId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
-        "name": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+        "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
         "tooltip": "VFmodule",
         "type": "VFmodule",
+        "modelTypeName": "vfModules",
         "count": 0,
         "max": 1,
         "children": [],
@@ -178,9 +271,10 @@ describe('Model Tree Generator service', () => {
         "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
         "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
         "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
-        "name": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
+        "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
         "tooltip": "VFmodule",
         "type": "VFmodule",
+        "modelTypeName": "vfModules",
         "count": 0,
         "max": 1,
         "children": [],
@@ -193,9 +287,10 @@ describe('Model Tree Generator service', () => {
         "modelVersionId": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
         "modelCustomizationId": "3cd946bb-50e0-40d8-96d3-c9023520b557",
         "modelUniqueId": "3cd946bb-50e0-40d8-96d3-c9023520b557",
-        "name": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+        "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
         "tooltip": "VFmodule",
         "type": "VFmodule",
+        "modelTypeName": "vfModules",
         "count": 0,
         "max": 1,
         "children": [],
@@ -223,25 +318,25 @@ describe('Model Tree Generator service', () => {
         "category": "Network L1-3",
         "serviceType": "pnf",
         "serviceRole": "Testing",
-        "description": "ADIOD vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
+        "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
         "serviceEcompNaming": "false",
         "instantiationType": "Macro",
         "inputs": {},
         "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other"}
       },
       "vnfs": {
-        "2017-388_ADIOD-vPE 1": {
+        "2017-388_PASQUALE-vPE 1": {
           "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
           "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
-          "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
-          "name": "2017-388_ADIOD-vPE",
+          "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
+          "name": "2017-388_PASQUALE-vPE",
           "version": "1.0",
           "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
           "inputs": {},
           "commands": {},
           "properties": {
             "vmxvre_retype": "RE-VMX",
-            "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version",
+            "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
@@ -287,7 +382,7 @@ describe('Model Tree Generator service', () => {
             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
             "vmxvre_int_ctl_ip_0": "10.0.0.10",
             "ecomp_generated_naming": "true",
-            "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI",
+            "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
             "vnf_name": "mtnj309me6vre",
             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
             "vmxvre_volume_type_1": "HITACHI",
@@ -295,14 +390,14 @@ describe('Model Tree Generator service', () => {
             "vmxvre_volume_type_0": "HITACHI",
             "vmxvpfe_volume_type_0": "HITACHI",
             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
-            "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units",
+            "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
             "vnf_id": "123",
             "vmxvre_oam_prefix": "24",
             "availability_zone_0": "mtpocfo-kvm-az01",
-            "ASN": "get_input:2017488_adiodvpe0_ASN",
+            "ASN": "get_input:2017488_pasqualevpe0_ASN",
             "vmxvre_chassis_i2cid": "161",
             "vmxvpfe_name_0": "vPFEXI",
-            "bandwidth": "get_input:2017488_adiodvpe0_bandwidth",
+            "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
             "availability_zone_max_count": "1",
             "vmxvre_volume_size_0": "45.0",
             "vmxvre_volume_size_1": "50.0",
@@ -312,7 +407,7 @@ describe('Model Tree Generator service', () => {
             "vmxvre_ore_present": "0",
             "vmxvre_volume_name_0": "vREXI_FBVolume",
             "vmxvre_type": "0",
-            "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name",
+            "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
             "vmx_int_ctl_len": "24",
@@ -326,23 +421,23 @@ describe('Model Tree Generator service', () => {
             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
           },
           "type": "VF",
-          "modelCustomizationName": "2017-388_ADIOD-vPE 1",
+          "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
           "vfModules": {},
           "volumeGroups": {},
           "vfcInstanceGroups": {}
         },
-        "2017-388_ADIOD-vPE 0": {
+        "2017-388_PASQUALE-vPE 0": {
           "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
           "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
-          "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
-          "name": "2017-388_ADIOD-vPE",
+          "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
+          "name": "2017-388_PASQUALE-vPE",
           "version": "4.0",
           "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
           "inputs": {},
           "commands": {},
           "properties": {
             "vmxvre_retype": "RE-VMX",
-            "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version",
+            "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
@@ -388,7 +483,7 @@ describe('Model Tree Generator service', () => {
             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
             "vmxvre_int_ctl_ip_0": "10.0.0.10",
             "ecomp_generated_naming": "true",
-            "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI",
+            "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
             "vnf_name": "mtnj309me6vre",
             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
             "vmxvre_volume_type_1": "HITACHI",
@@ -396,14 +491,14 @@ describe('Model Tree Generator service', () => {
             "vmxvre_volume_type_0": "HITACHI",
             "vmxvpfe_volume_type_0": "HITACHI",
             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
-            "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units",
+            "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
             "vnf_id": "123",
             "vmxvre_oam_prefix": "24",
             "availability_zone_0": "mtpocfo-kvm-az01",
-            "ASN": "get_input:2017488_adiodvpe0_ASN",
+            "ASN": "get_input:2017488_pasqualevpe0_ASN",
             "vmxvre_chassis_i2cid": "161",
             "vmxvpfe_name_0": "vPFEXI",
-            "bandwidth": "get_input:2017488_adiodvpe0_bandwidth",
+            "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
             "availability_zone_max_count": "1",
             "vmxvre_volume_size_0": "45.0",
             "vmxvre_volume_size_1": "50.0",
@@ -413,7 +508,7 @@ describe('Model Tree Generator service', () => {
             "vmxvre_ore_present": "0",
             "vmxvre_volume_name_0": "vREXI_FBVolume",
             "vmxvre_type": "0",
-            "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name",
+            "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
             "vmx_int_ctl_len": "24",
@@ -427,23 +522,23 @@ describe('Model Tree Generator service', () => {
             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
           },
           "type": "VF",
-          "modelCustomizationName": "2017-388_ADIOD-vPE 0",
+          "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
           "vfModules": {},
           "volumeGroups": {},
           "vfcInstanceGroups": {}
         },
-        "2017-488_ADIOD-vPE 0": {
+        "2017-488_PASQUALE-vPE 0": {
           "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
           "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
-          "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
-          "name": "2017-488_ADIOD-vPE",
+          "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
+          "name": "2017-488_PASQUALE-vPE",
           "version": "5.0",
           "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
           "inputs": {},
           "commands": {},
           "properties": {
             "vmxvre_retype": "RE-VMX",
-            "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version",
+            "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
@@ -489,7 +584,7 @@ describe('Model Tree Generator service', () => {
             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
             "vmxvre_int_ctl_ip_0": "10.0.0.10",
             "ecomp_generated_naming": "true",
-            "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI",
+            "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
             "vnf_name": "mtnj309me6vre",
             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
             "vmxvre_volume_type_1": "HITACHI",
@@ -497,14 +592,14 @@ describe('Model Tree Generator service', () => {
             "vmxvre_volume_type_0": "HITACHI",
             "vmxvpfe_volume_type_0": "HITACHI",
             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
-            "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units",
+            "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
             "vnf_id": "123",
             "vmxvre_oam_prefix": "24",
             "availability_zone_0": "mtpocfo-kvm-az01",
-            "ASN": "get_input:2017488_adiodvpe0_ASN",
+            "ASN": "get_input:2017488_pasqualevpe0_ASN",
             "vmxvre_chassis_i2cid": "161",
             "vmxvpfe_name_0": "vPFEXI",
-            "bandwidth": "get_input:2017488_adiodvpe0_bandwidth",
+            "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
             "availability_zone_max_count": "1",
             "vmxvre_volume_size_0": "45.0",
             "vmxvre_volume_size_1": "50.0",
@@ -514,7 +609,7 @@ describe('Model Tree Generator service', () => {
             "vmxvre_ore_present": "0",
             "vmxvre_volume_name_0": "vREXI_FBVolume",
             "vmxvre_type": "0",
-            "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name",
+            "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
             "vmx_int_ctl_len": "24",
@@ -528,57 +623,57 @@ describe('Model Tree Generator service', () => {
             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
           },
           "type": "VF",
-          "modelCustomizationName": "2017-488_ADIOD-vPE 0",
+          "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
           "vfModules": {
-            "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
+            "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
               "description": null,
-              "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+              "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
               "version": "6",
-              "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+              "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
               "properties": {
                 "minCountInstances": 0,
                 "maxCountInstances": null,
                 "initialCount": 0,
-                "vfModuleLabel": "ADIOD_vRE_BV",
+                "vfModuleLabel": "PASQUALE_vRE_BV",
                 "baseModule": false
               },
               "inputs": {},
               "volumeGroupAllowed": true
             },
-            "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": {
+            "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
               "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
               "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
               "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
               "description": null,
-              "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
+              "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
               "version": "5",
-              "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
+              "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
               "properties": {
                 "minCountInstances": 1,
                 "maxCountInstances": 1,
                 "initialCount": 1,
-                "vfModuleLabel": "ADIOD_base_vPE_BV",
+                "vfModuleLabel": "PASQUALE_base_vPE_BV",
                 "baseModule": true
               },
               "inputs": {},
               "volumeGroupAllowed": false
             },
-            "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": {
+            "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
               "description": null,
-              "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+              "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
               "version": "6",
-              "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+              "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
               "properties": {
                 "minCountInstances": 0,
                 "maxCountInstances": null,
                 "initialCount": 0,
-                "vfModuleLabel": "ADIOD_vPFE_BV",
+                "vfModuleLabel": "PASQUALE_vPFE_BV",
                 "baseModule": false
               },
               "inputs": {},
@@ -586,36 +681,36 @@ describe('Model Tree Generator service', () => {
             }
           },
           "volumeGroups": {
-            "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
+            "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
               "description": null,
-              "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+              "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
               "version": "6",
-              "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+              "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
               "properties": {
                 "minCountInstances": 0,
                 "maxCountInstances": null,
                 "initialCount": 0,
-                "vfModuleLabel": "ADIOD_vRE_BV",
+                "vfModuleLabel": "PASQUALE_vRE_BV",
                 "baseModule": false
               },
               "inputs": {}
             },
-            "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": {
+            "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
               "description": null,
-              "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+              "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
               "version": "6",
-              "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+              "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
               "properties": {
                 "minCountInstances": 0,
                 "maxCountInstances": null,
                 "initialCount": 0,
-                "vfModuleLabel": "ADIOD_vPFE_BV",
+                "vfModuleLabel": "PASQUALE_vPFE_BV",
                 "baseModule": false
               },
               "inputs": {}
@@ -625,60 +720,60 @@ describe('Model Tree Generator service', () => {
         }
       },
       "networks": {},
-      "collectionResource": {},
+      "collectionResources": {},
       "configurations": {},
       "fabricConfigurations": {},
       "serviceProxies": {},
       "vfModules": {
-        "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
+        "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
           "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
           "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
           "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
           "description": null,
-          "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+          "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
           "version": "6",
-          "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+          "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
           "properties": {
             "minCountInstances": 0,
             "maxCountInstances": null,
             "initialCount": 0,
-            "vfModuleLabel": "ADIOD_vRE_BV",
+            "vfModuleLabel": "PASQUALE_vRE_BV",
             "baseModule": false
           },
           "inputs": {},
           "volumeGroupAllowed": true
         },
-        "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": {
+        "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
           "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
           "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
           "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
           "description": null,
-          "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
+          "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
           "version": "5",
-          "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
+          "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
           "properties": {
             "minCountInstances": 1,
             "maxCountInstances": 1,
             "initialCount": 1,
-            "vfModuleLabel": "ADIOD_base_vPE_BV",
+            "vfModuleLabel": "PASQUALE_base_vPE_BV",
             "baseModule": true
           },
           "inputs": {},
           "volumeGroupAllowed": false
         },
-        "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": {
+        "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
           "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
           "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
           "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
           "description": null,
-          "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+          "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
           "version": "6",
-          "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+          "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
           "properties": {
             "minCountInstances": 0,
             "maxCountInstances": null,
             "initialCount": 0,
-            "vfModuleLabel": "ADIOD_vPFE_BV",
+            "vfModuleLabel": "PASQUALE_vPFE_BV",
             "baseModule": false
           },
           "inputs": {},
@@ -686,36 +781,36 @@ describe('Model Tree Generator service', () => {
         }
       },
       "volumeGroups": {
-        "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
+        "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
           "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
           "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
           "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
           "description": null,
-          "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+          "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
           "version": "6",
-          "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
+          "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
           "properties": {
             "minCountInstances": 0,
             "maxCountInstances": null,
             "initialCount": 0,
-            "vfModuleLabel": "ADIOD_vRE_BV",
+            "vfModuleLabel": "PASQUALE_vRE_BV",
             "baseModule": false
           },
           "inputs": {}
         },
-        "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": {
+        "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
           "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
           "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
           "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
           "description": null,
-          "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+          "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
           "version": "6",
-          "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2",
+          "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
           "properties": {
             "minCountInstances": 0,
             "maxCountInstances": null,
             "initialCount": 0,
-            "vfModuleLabel": "ADIOD_vPFE_BV",
+            "vfModuleLabel": "PASQUALE_vPFE_BV",
             "baseModule": false
           },
           "inputs": {}