diff options
author | 2019-07-07 19:23:03 +0300 | |
---|---|---|
committer | 2019-07-08 16:13:43 +0300 | |
commit | f792671ae247a931f34d902e9276202b5016ef9a (patch) | |
tree | 6104971e8074c9a3d720836276ff18619719ec02 /vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf | |
parent | fc62274e8d15964d63c62bf0e2f4abc040252ee9 (diff) |
Merge from ecomp 718fd196 - Modern UI
Issue-ID: VID-378
Change-Id: I2736b98426e324ec3aa233b034229ba84d99839f
Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf')
2 files changed, 204 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts new file mode 100644 index 000000000..ca041e045 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts @@ -0,0 +1,134 @@ +import {ComponentInfoService} from "../../../component-info/component-info.service"; +import {AppState} from "../../../../../shared/store/reducers"; +import {NgRedux} from "@angular-redux/store"; +import {PnfModelInfo} from "./pnf.model.info"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {DynamicInputsService} from "../../dynamicInputs.service"; +import {SharedTreeService} from "../../shared.tree.service"; +import {DuplicateService} from "../../../duplicate/duplicate.service"; +import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; +import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {IframeService} from "../../../../../shared/utils/iframe.service"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; +import {HttpClient, HttpHandler} from "@angular/common/http"; +import {CollectionResourceModel} from "../../../../../shared/models/collectionResourceModel"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; + + +describe('PNF model info', () => { + let injector; + let _componentInfoService: ComponentInfoService; + let _store: NgRedux<AppState>; + let pnfModel: PnfModelInfo = new PnfModelInfo(); + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule, NgReduxTestingModule], + providers: [ + MockNgRedux, + DynamicInputsService, + SharedTreeService, + DuplicateService, + AaiService, + HttpClient, + HttpHandler, + FeatureFlagsService, + ComponentInfoService, + IframeService] + }).compileComponents(); + + injector = getTestBed(); + _store = injector.get(NgRedux); + _componentInfoService = injector.get(ComponentInfoService); + }); + + test('pnf model should be defined', () => { + expect(pnfModel).toBeDefined(); + }); + + test('pnf model should defined extra details', () => { + expect(pnfModel.name).toEqual('pnfs'); + expect(pnfModel.type).toEqual('PNF'); + expect(pnfModel.typeName).toEqual('PNF'); + expect(pnfModel.componentInfoType).toEqual(ComponentInfoType.PNF); + }); + + test('getTooltip should return "PNF"', () => { + let tooltip: string = pnfModel.getTooltip(); + expect(tooltip).toEqual('PNF'); + }); + + test('getType should return "pnf"', () => { + let tooltip: string = pnfModel.getType(); + expect(tooltip).toEqual('pnf'); + }); + + test('getNextLevelObject should be null', () => { + let nextLevel: any = pnfModel.getNextLevelObject(); + expect(nextLevel).toBeNull(); + }); + + test('isEcompGeneratedNaming should return false', () => { + let isEcompGeneratedNaming: boolean = pnfModel.isEcompGeneratedNaming(<any>{}); + expect(isEcompGeneratedNaming).toBeFalsy(); + }); + + test('getModel should return pnf model', () => { + let model: CollectionResourceModel = pnfModel.getModel('PNF1', <any>{ + originalName : 'PNF1' + }, getServiceHierarchy()); + expect(model.type).toEqual('PNF'); + }); + + function getServiceHierarchy(){ + return { + "service": { + "uuid": "12550cd7-7708-4f53-a09e-41d3d6327ebc", + "invariantUuid": "561faa57-7bbb-40ec-a81c-c0d4133e98d4", + "name": "AIM Transport SVC_ym161f", + "version": "1.0", + "toscaModelURL": null, + "category": "Network L1-3", + "serviceType": "TRANSPORT", + "serviceRole": "AIM", + "description": "AIM Transport service", + "serviceEcompNaming": "true", + "instantiationType": "Macro", + "inputs": {}, + "vidNotions": { + "instantiationUI": "legacy", + "modelCategory": "other", + "viewEditUI": "legacy" + } + }, + "vnfs": {}, + "networks": {}, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": {}, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": { + "PNF1": { + "uuid": "1c831fa9-28a6-4778-8c1d-80b9e769f2ed", + "invariantUuid": "74e13a12-dac9-4fba-b102-cd242d9e7f02", + "description": "AIM Transport service", + "name": "AIM PNF Model", + "version": "1.0", + "customizationUuid": "dce78da7-c842-47a1-aba2-2de1cd03ab7a", + "inputs": {}, + "commands": {}, + "properties": { + "nf_function": "SDNGW", + "nf_role": "pD2IPE", + "ecomp_generated_naming": "false", + "nf_type": "ROUTER" + }, + "type": "PNF" + } + }, + "vnfGroups": {} + } + } +}) diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts new file mode 100644 index 000000000..dc01b87ef --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts @@ -0,0 +1,70 @@ +import {ILevelNodeInfo} from "../basic.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {PnfInstance} from "app/shared/models/pnfInstance"; +import {PNFModel} from "../../../../../shared/models/pnfModel"; +import {PnfTreeNode} from "../../../../../shared/models/pnfTreeNode"; + + +export class PnfModelInfo implements ILevelNodeInfo{ + + constructor(){} + + name: string = 'pnfs'; + type: string ='PNF'; + typeName: string = 'PNF'; + childNames: string[]; + componentInfoType = ComponentInfoType.PNF; + + createInstanceTreeNode = (instance: PnfInstance, model: PNFModel, parentModel: any, storeKey: string): PnfTreeNode => null; + + getInfo(model, instance): ModelInformationItem[] { + return []; + } + + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function; visible: Function; enable: Function } } { + return {}; + } + + getModel = (pnfModelId: string, instance: PnfInstance, serviceHierarchy): PNFModel => { + const originalModelName = instance.originalName ? instance.originalName : pnfModelId; + return new PNFModel(serviceHierarchy[this.name][originalModelName]); + }; + + getNextLevelObject(): any { return null; } + + getNodeCount(node: ITreeNode, serviceModelId: string): number { + return 0; + } + + getNodePosition(instance): number {return 0; } + + getTooltip = (): string => 'PNF'; + + + getType = (): string => 'pnf'; + + + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean { + return false; + } + + isEcompGeneratedNaming(currentModel): boolean { + return false; + } + + onClickAdd(node: ITreeNode, serviceModelId: string): void { + } + + showNodeIcons(node: ITreeNode, serviceModelId: string): AvailableNodeIcons { + return null; + } + + updateDynamicInputsDataFromModel = (currentModel): any => []; + + updatePosition(that, node, instanceId): void { + } + +} |