summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf')
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts134
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts70
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 {
+ }
+
+}