Merge from ecomp 718fd196 - Modern UI
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / available-models-tree / available-models-tree.service.spec.ts
index cf9d04a..4abc203 100644 (file)
@@ -1,9 +1,6 @@
-import {TestBed, getTestBed} from '@angular/core/testing';
-import {
-  HttpClientTestingModule,
-  HttpTestingController
-} from '@angular/common/http/testing';
-import {AvailableModelsTreeService, AvailableNodeIcons} from './available-models-tree.service';
+import {getTestBed, TestBed} from '@angular/core/testing';
+import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
+import {AvailableModelsTreeService} from './available-models-tree.service';
 import {ServiceNodeTypes} from "../../../shared/models/ServiceNodeTypes";
 import {DefaultDataGeneratorService} from "../../../shared/services/defaultDataServiceGenerator/default.data.generator.service";
 import {MessageBoxService} from "../../../shared/components/messageBox/messageBox.service";
@@ -63,9 +60,9 @@ describe('Available Models Tree Service', () => {
 
       //  add vfModule with dynamicInputs without defaultValues should return true
       result = service.shouldOpenDialog(ServiceNodeTypes.VFmodule, [{
-        id: '2017488_adiodvpe0_vnf_config_template_version',
+        id: '2017488_pasqualevpe0_vnf_config_template_version',
         type: 'string',
-        name: '2017488_adiodvpe0_vnf_config_template_version',
+        name: '2017488_pasqualevpe0_vnf_config_template_version',
         isRequired: true,
         description: 'VPE Software Version'
       }], true);
@@ -73,9 +70,9 @@ describe('Available Models Tree Service', () => {
 
       // add vfModule with dynamicInputs with defaultValues should return false
       result = service.shouldOpenDialog(ServiceNodeTypes.VFmodule, [{
-        id: '2017488_adiodvpe0_vnf_config_template_version',
+        id: '2017488_pasqualevpe0_vnf_config_template_version',
         type: 'string',
-        name: '2017488_adiodvpe0_vnf_config_template_version',
+        name: '2017488_pasqualevpe0_vnf_config_template_version',
         value: '17.2',
         isRequired: true,
         description: 'VPE Software Version'
@@ -84,6 +81,160 @@ describe('Available Models Tree Service', () => {
     });
   });
 
+
+  test('shouldOpenVRFModal', () => {
+    const nodes = [{
+      "id": "dd024d73-9bd1-425d-9db5-476338d53433",
+      "modelCustomizationId": "dd024d73-9bd1-425d-9db5-476338d53433",
+      "modelVersionId": "9cac02be-2489-4374-888d-2863b4511a59",
+      "modelUniqueId": "dd024d73-9bd1-425d-9db5-476338d53433",
+      "name": "VRF Entry Configuration 0",
+      "tooltip": "VRF",
+      "type": "VRF",
+      "count": 0,
+      "max": 1,
+      "children": [],
+      "disabled": false,
+      "dynamicInputs": [],
+      "isEcompGeneratedNaming": false,
+      "typeName": "VRF",
+      "componentInfoType": "VRF",
+      "getModel" : ()=>{
+        return  {
+          min : 1
+        }
+      }
+    }];
+
+
+    const serviceStore = {
+      "serviceInstance": {
+        "4117a0b6-e234-467d-b5b9-fe2f68c8b0fc": {
+          "action": "Create",
+          "isDirty": false,
+          "vnfs": {},
+          "vrfs": {
+            "VRF Entry Configuration": {
+              "action": "Create",
+              "uuid": "9cac02be-2489-4374-888d-2863b4511a59",
+              "inputs": {},
+              "type": "Configuration",
+              "trackById": "s0z58emiprq",
+              "modelInfo": {
+                "modelInvariantId": "b67a289b-1688-496d-86e8-1583c828be0a",
+                "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
+                "modelName": "VRF Entry Configuration",
+                "modelVersion": "5.0",
+                "modelCustomizationId": "dd024d73-9bd1-425d-9db5-476338d53433",
+                "modelUniqueId": "dd024d73-9bd1-425d-9db5-476338d53433",
+                "modelCustomizationName": "VRF Entry Configuration",
+                "uuid": "9cac02be-2489-4374-888d-2863b4511a59"
+              },
+              "vpns": {
+                "VRF Entry Configuration vpns 1": {
+                  "action": "Create",
+                  "instanceId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7",
+                  "instanceName": "LPPVPN",
+                  "platformName": "AVPN",
+                  "instanceType": "SERVICE-INFRASTRUCTURE",
+                  "region": "USA,EMEA",
+                  "customerId": "VPN1271",
+                  "modelInfo": {
+                    "modelCustomizationId": null,
+                    "modelInvariantId": null,
+                    "modelVersionId": null
+                  },
+                  "routeTargets": null,
+                  "isSelected": true
+                }
+              },
+              "networks": {
+                "VRF Entry Configuration networks 1": {
+                  "action ": "Create",
+                  "instanceName": "AUK51a_oam_calea_net_0",
+                  "instanceType": "SR-IOV-PROVIDER2-0",
+                  "role": "role-1",
+                  "orchStatus": "Active",
+                  "physicalName": "sriovnet0",
+                  "instanceId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7",
+                  "serviceName": "LPPVPN",
+                  "serv§iceUUID": "VPN1271",
+                  "tenantName": "ecomp_ispt",
+                  "lcpCloudRegionId": "USA,EMEA",
+                  "modelInfo": {
+                    "modelCustomizationId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7",
+                    "modelInvariantId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7",
+                    "modelVersionId": "7010093-df36-4dcb-8428-c3d02bf3f88d",
+                    "modelType": "vpn"
+                  }
+                }
+              }
+            }
+          },
+          "instanceParams": [],
+          "validationCounter": 0,
+          "existingNames": {},
+          "existingVNFCounterMap": {},
+          "existingVRFCounterMap": {},
+          "existingVnfGroupCounterMap": {},
+          "existingNetworksCounterMap": {},
+          "optionalGroupMembersMap": {},
+          "networks": {},
+          "vnfGroups": {},
+          "bulkSize": 1,
+          "service": {
+            "vidNotions": {
+              "instantiationUI": "serviceWithVRF",
+              "modelCategory": "other",
+              "viewEditUI": "serviceWithVRF",
+              "instantiationType": "ALaCarte"
+            },
+            "uuid": "4117a0b6-e234-467d-b5b9-fe2f68c8b0fc",
+            "invariantUuid": "7ee41ce4-4827-44b0-a48e-2707a59905d2",
+            "name": "VRF Service for Test",
+            "version": "1.0",
+            "toscaModelURL": null,
+            "category": "Network L4+",
+            "serviceType": "INFRASTRUCTURE",
+            "serviceRole": "Configuration",
+            "description": "xxx",
+            "serviceEcompNaming": "true",
+            "instantiationType": "A-La-Carte",
+            "inputs": {}
+          },
+          "collectionResources": {},
+          "configurations": {},
+          "fabricConfigurations": {},
+          "serviceProxies": {},
+          "vfModules": {},
+          "volumeGroups": {},
+          "pnfs": {},
+          "isALaCarte": true,
+          "testApi": "VNF_API",
+          "vidNotions": {
+            "instantiationUI": "serviceWithVVRF",
+            "modelCategory": "other",
+            "viewEditUI": "serviceWithVRF",
+            "instantiationType": "ALaCarte"
+          }
+        }
+      }
+    };
+
+    const serviceModelId :string = '4117a0b6-e234-467d-b5b9-fe2f68c8b0fc';
+
+    let result: boolean = service.shouldOpenVRFModal(nodes,  serviceModelId, serviceStore);
+    expect(result).not.toBeNull();
+
+    serviceStore.serviceInstance[serviceModelId].existingVRFCounterMap = {
+      "dd024d73-9bd1-425d-9db5-476338d53433" : 1
+    };
+
+    result = service.shouldOpenVRFModal(nodes,  serviceModelId, serviceStore);
+    expect(result).toBeNull();
+
+  });
+
   function getServiceServiceHierarchy() {
     return JSON.parse(JSON.stringify(
       {
@@ -103,11 +254,11 @@ describe('Available Models Tree Service', () => {
             'inputs': {}
           },
           'vnfs': {
-            'VF_vMee 0': {
+            'VF_vGeraldine 0': {
               'uuid': 'd6557200-ecf2-4641-8094-5393ae3aae60',
               'invariantUuid': '4160458e-f648-4b30-a176-43881ffffe9e',
-              'description': 'VSP_vMee',
-              'name': 'VF_vMee',
+              'description': 'VSP_vGeraldine',
+              'name': 'VF_vGeraldine',
               'version': '2.0',
               'customizationUuid': '91415b44-753d-494c-926a-456a9172bbb9',
               'inputs': {},
@@ -277,54 +428,54 @@ describe('Available Models Tree Service', () => {
                 'sctp-b-egress-dst_end_port': '65535.0'
               },
               'type': 'VF',
-              'modelCustomizationName': 'VF_vMee 0',
+              'modelCustomizationName': 'VF_vGeraldine 0',
               'vfModules': {
-                'vf_vmee0..VfVmee..vmme_vlc..module-1': {
+                'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1': {
                   'uuid': '522159d5-d6e0-4c2a-aa44-5a542a12a830',
                   'invariantUuid': '98a7c88b-b577-476a-90e4-e25a5871e02b',
                   'customizationUuid': '55b1be94-671a-403e-a26c-667e9c47d091',
                   'description': null,
-                  'name': 'VfVmee..vmme_vlc..module-1',
+                  'name': 'VfVgeraldine..vflorence_vlc..module-1',
                   'version': '2',
-                  'modelCustomizationName': 'VfVmee..vmme_vlc..module-1',
+                  'modelCustomizationName': 'VfVgeraldine..vflorence_vlc..module-1',
                   'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0},
                   'commands': {},
                   'volumeGroupAllowed': false
                 },
-                'vf_vmee0..VfVmee..vmme_gpb..module-2': {
+                'vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2': {
                   'uuid': '41708296-e443-4c71-953f-d9a010f059e1',
                   'invariantUuid': '1cca90b8-3490-495e-87da-3f3e4c57d5b9',
                   'customizationUuid': '6add59e0-7fe1-4bc4-af48-f8812422ae7c',
                   'description': null,
-                  'name': 'VfVmee..vmme_gpb..module-2',
+                  'name': 'VfVgeraldine..vflorence_gpb..module-2',
                   'version': '2',
-                  'modelCustomizationName': 'VfVmee..vmme_gpb..module-2',
+                  'modelCustomizationName': 'VfVgeraldine..vflorence_gpb..module-2',
                   'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0},
                   'commands': {},
                   'volumeGroupAllowed': false
                 },
-                'vf_vmee0..VfVmee..base_vmme..module-0': {
+                'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': {
                   'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87',
                   'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d',
                   'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861',
                   'description': null,
-                  'name': 'VfVmee..base_vmme..module-0',
+                  'name': 'VfVgeraldine..base_vflorence..module-0',
                   'version': '2',
-                  'modelCustomizationName': 'VfVmee..base_vmme..module-0',
+                  'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0',
                   'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1},
                   'commands': {},
                   'volumeGroupAllowed': true
                 }
               },
               'volumeGroups': {
-                'vf_vmee0..VfVmee..base_vmme..module-0': {
+                'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': {
                   'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87',
                   'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d',
                   'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861',
                   'description': null,
-                  'name': 'VfVmee..base_vmme..module-0',
+                  'name': 'VfVgeraldine..base_vflorence..module-0',
                   'version': '2',
-                  'modelCustomizationName': 'VfVmee..base_vmme..module-0',
+                  'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0',
                   'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1}
                 }
               }
@@ -370,52 +521,52 @@ describe('Available Models Tree Service', () => {
           },
           'serviceProxies': {},
           'vfModules': {
-            'vf_vmee0..VfVmee..vmme_vlc..module-1': {
+            'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1': {
               'uuid': '522159d5-d6e0-4c2a-aa44-5a542a12a830',
               'invariantUuid': '98a7c88b-b577-476a-90e4-e25a5871e02b',
               'customizationUuid': '55b1be94-671a-403e-a26c-667e9c47d091',
               'description': null,
-              'name': 'VfVmee..vmme_vlc..module-1',
+              'name': 'VfVgeraldine..vflorence_vlc..module-1',
               'version': '2',
-              'modelCustomizationName': 'VfVmee..vmme_vlc..module-1',
+              'modelCustomizationName': 'VfVgeraldine..vflorence_vlc..module-1',
               'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0},
               'commands': {},
               'volumeGroupAllowed': false
             },
-            'vf_vmee0..VfVmee..vmme_gpb..module-2': {
+            'vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2': {
               'uuid': '41708296-e443-4c71-953f-d9a010f059e1',
               'invariantUuid': '1cca90b8-3490-495e-87da-3f3e4c57d5b9',
               'customizationUuid': '6add59e0-7fe1-4bc4-af48-f8812422ae7c',
               'description': null,
-              'name': 'VfVmee..vmme_gpb..module-2',
+              'name': 'VfVgeraldine..vflorence_gpb..module-2',
               'version': '2',
-              'modelCustomizationName': 'VfVmee..vmme_gpb..module-2',
+              'modelCustomizationName': 'VfVgeraldine..vflorence_gpb..module-2',
               'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0},
               'commands': {},
               'volumeGroupAllowed': false
             },
-            'vf_vmee0..VfVmee..base_vmme..module-0': {
+            'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': {
               'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87',
               'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d',
               'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861',
               'description': null,
-              'name': 'VfVmee..base_vmme..module-0',
+              'name': 'VfVgeraldine..base_vflorence..module-0',
               'version': '2',
-              'modelCustomizationName': 'VfVmee..base_vmme..module-0',
+              'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0',
               'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1},
               'commands': {},
               'volumeGroupAllowed': true
             }
           },
           'volumeGroups': {
-            'vf_vmee0..VfVmee..base_vmme..module-0': {
+            'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': {
               'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87',
               'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d',
               'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861',
               'description': null,
-              'name': 'VfVmee..base_vmme..module-0',
+              'name': 'VfVgeraldine..base_vflorence..module-0',
               'version': '2',
-              'modelCustomizationName': 'VfVmee..base_vmme..module-0',
+              'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0',
               'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1}
             }
           },