From f792671ae247a931f34d902e9276202b5016ef9a Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Sun, 7 Jul 2019 19:23:03 +0300 Subject: Merge from ecomp 718fd196 - Modern UI Issue-ID: VID-378 Change-Id: I2736b98426e324ec3aa233b034229ba84d99839f Signed-off-by: Ittay Stern --- .../available-models-tree.service.spec.ts | 227 +++++++++++++++++---- 1 file changed, 189 insertions(+), 38 deletions(-) (limited to 'vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts') diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts index cf9d04aae..4abc20324 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts @@ -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} } }, -- cgit 1.2.3-korg