From 3982f4f67314ec37fd9b22ae54049958af777c1b Mon Sep 17 00:00:00 2001 From: jimmydot Date: Sun, 7 May 2017 14:58:24 -0400 Subject: [VID-6] Initial rebase push Change-Id: I9077be9663754d9b22f77c6a7b3109b361b39346 Signed-off-by: jimmydot --- .../src/main/webapp/app/vid/test/testAaiData.js | 254 +++++++++++ .../src/main/webapp/app/vid/test/testMso.css | 22 + .../src/main/webapp/app/vid/test/testMso.js | 486 +++++++++++++++++++++ .../src/main/webapp/app/vid/test/testViewEdit.css | 30 ++ .../src/main/webapp/app/vid/test/testViewEdit.js | 376 ++++++++++++++++ 5 files changed, 1168 insertions(+) create mode 100755 vid-app-common/src/main/webapp/app/vid/test/testAaiData.js create mode 100755 vid-app-common/src/main/webapp/app/vid/test/testMso.css create mode 100755 vid-app-common/src/main/webapp/app/vid/test/testMso.js create mode 100755 vid-app-common/src/main/webapp/app/vid/test/testViewEdit.css create mode 100755 vid-app-common/src/main/webapp/app/vid/test/testViewEdit.js (limited to 'vid-app-common/src/main/webapp/app/vid/test') diff --git a/vid-app-common/src/main/webapp/app/vid/test/testAaiData.js b/vid-app-common/src/main/webapp/app/vid/test/testAaiData.js new file mode 100755 index 00000000..95dd158f --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/test/testAaiData.js @@ -0,0 +1,254 @@ +var exampleServiceModelInfo = { + modelInvariantId : "SERVICE_INVARIANT_ID_c99-b43e0d88a9a1", + modelNameVersionId : "SERVICE_NAME_VERSION_ID-4d54-8548-5d0ed23e962b", + modelName : "SERVICE_NAME_DE220127", + modelVersion : "SERVICE_VERSION_0.1" +}; + +var exampleVnfModelInfo = { + modelInvariantId : "VNF_INVARIANT_ID_c99-b43e0d88a9a1", + modelNameVersionId : "VNF_NAME_VERSION_ID-4d54-8548-5d0ed23e962b", + modelName : "VNF_NAME_DE220127", + modelVersion : "VNF_VERSION_0.1" +}; + +var exampleVfModuleModelInfo = { + modelInvariantId : "VF_MODULE_INVARIANT_ID_c99-b43e0d88a9a1", + modelNameVersionId : "VF_MODULE_NAME_VERSION_ID-4d54-8548-5d0ed23e962b", + modelName : "VF_MODULE_NAME_DE220127", + modelVersion : "VF_MODULE_VERSION_0.1" +}; + +var exampleVolumeGroupModelInfo = { + modelInvariantId : "VOLUME_GROUP_INVARIANT_ID_c99-b43e0d88a9a1", + modelNameVersionId : "VOLUME_GROUP_NAME_VERSION_ID-4d54-8548-5d0ed23e962b", + modelName : "VOLUME_GROUP_NAME_DE220127", + modelVersion : "VOLUME_GROUP_VERSION_0.1" +}; + +var exampleAvailableVolumeGroupList = [ "Volume Group Alpha", + "Volume Group Baker", "Volume Group Charlie" ]; + +var exampleNetworkModelInfo = { + modelInvariantId : "NETWORK_INVARIANT_ID_c99-b43e0d88a9a1", + modelNameVersionId : "NETWORK_NAME_VERSION_ID-4d54-8548-5d0ed23e962b", + modelName : "NETWORK_NAME_DE220127", + modelVersion : "NETWORK_VERSION_0.1" +}; + +var exampleCloudRegionTenantList = [ { + cloudRegionId : "LEGACYREGION", + tenantId : "ebe382f38e414b4dbf45b408c7e5bf9f", + tenantName : "vMOG-AKRON-123" +}, { + cloudRegionId : "LEGACYREGION", + tenantId : "abcdefhi38e414b4dbf45b408c7e5bf9f", + tenantName : "tenant 2" +}, { + cloudRegionId : "LEGACYREGION", + tenantId : "rstuvwzyx38e414b4dbf45b408c7e5bf9f", + tenantName : "tenant 3" +}, { + cloudRegionId : "cloudR2", + tenantId : "jklmnop38e414b4dbf45b408c7e5bf9f", + tenantName : "tenant4" +}, { + cloudRegionId : "cloudR2", + tenantId : "qurstuv38e414b4dbf45b408c7e5bf9f", + tenantName : "tenant 5" +}, { + cloudRegionId : "cloudR3", + tenantId : "zyxw38e414b4dbf45b408c7e5bf9f", + tenantName : "tenant 6" +} ]; + +var exampleServiceIdList = [ { + id : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + description : "Mobility" +}, { + id : "e433710f-9217-458d-a79d-1c7aff376d89", + description : "VIRTUAL USP" +}, { + id : "c7611ebe-c324-48f1-8085-94aef0c6ef3d", + description : "HOSTED COMMUNICATIONS" +} ]; + +var exampleServiceItem = { + "generic-service" : { + "service-id" : "415d4d6c-19e8-44ed-bd28-28d41c5b5185", + "service-name" : "ZRDM1MMSC01", + "service-type" : "vMMSC Svc Jul 12/vMMSC VOLUME VF new Jul 12 13", + "service-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "orchestration-status" : "active", + "in-maint" : false, + "is-closed-loop-disabled" : false, + "resource-version" : "1469558690", + "persona-model-id" : "1fe5c0e1-7ae8-4a3b-bf06-e64b9fa7e7c9", + "persona-model-version" : "1.0" + } +}; + +var exampleVfModuleItem = { + "generic-vfModule" : { + "vfModule-id" : "415d4d6c-19e8-44ed-bd28-28d41c5b5185", + "vfModule-name" : "ZRDM1MMSC01", + "vfModule-type" : "vMMSC Svc Jul 12/vMMSC VOLUME VF new Jul 12 13", + "vfModule-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "orchestration-status" : "active", + "in-maint" : false, + "is-closed-loop-disabled" : false, + "resource-version" : "1469558690", + "persona-model-id" : "1fe5c0e1-7ae8-4a3b-bf06-e64b9fa7e7c9", + "persona-model-version" : "1.0" + } +}; + +var exampleVolumeGroupItem = { + "generic-volumeGroup" : { + "volumeGroup-id" : "415d4d6c-19e8-44ed-bd28-28d41c5b5185", + "volumeGroup-name" : "ZRDM1MMSC01", + "volumeGroup-type" : "vMMSC Svc Jul 12/vMMSC VOLUME VF new Jul 12 13", + "volumeGroup-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "orchestration-status" : "active", + "in-maint" : false, + "is-closed-loop-disabled" : false, + "resource-version" : "1469558690", + "persona-model-id" : "1fe5c0e1-7ae8-4a3b-bf06-e64b9fa7e7c9", + "persona-model-version" : "1.0" + } +}; + +var exampleNetworkItem = { + "generic-network" : { + "network-id" : "415d4d6c-19e8-44ed-bd28-28d41c5b5185", + "network-name" : "ZRDM1MMSC01", + "network-type" : "vMMSC Svc Jul 12/vMMSC VOLUME VF new Jul 12 13", + "network-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "orchestration-status" : "active", + "in-maint" : false, + "is-closed-loop-disabled" : false, + "resource-version" : "1469558690", + "persona-model-id" : "1fe5c0e1-7ae8-4a3b-bf06-e64b9fa7e7c9", + "persona-model-version" : "1.0" + } +}; + +/* + * Sample query provided by Jimmy on 8/11/16. + */ + +var exampleAaiResult = { + "service-instance" : { + "service-instance-id" : "mmsc-test-service-instance", + "resource-version" : "1470921501" + }, + "extra-properties" : {}, + "inventory-response-items" : { + "inventory-response-item" : [ { + "generic-vnf" : { + "vnf-id" : "415d4d6c-19e8-44ed-bd28-28d41c5b5185", + "vnf-name" : "ZRDM1MMSC01", + "vnf-type" : "vMMSC Svc Jul 12/vMMSC VOLUME VF new Jul 12 13", + "service-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "orchestration-status" : "active", + "in-maint" : false, + "is-closed-loop-disabled" : false, + "resource-version" : "1469558690", + "persona-model-id" : "1fe5c0e1-7ae8-4a3b-bf06-e64b9fa7e7c9", + "persona-model-version" : "1.0" + }, + "extra-properties" : {}, + "inventory-response-items" : { + "inventory-response-item" : [ { + "vf-module" : { + "vf-module-id" : "4dd25057-0b2b-4255-b9cd-669443c9b470", + "vf-module-name" : "ZRDM1MMSC01_base", + "heat-stack-id" : "ZRDM1MMSC01_base/6261554c-6c34-4604-b91c-68afd148a096", + "orchestration-status" : "active", + "is-base-vf-module" : true, + "resource-version" : "1469559159", + "persona-model-id" : "6e3b9ac7-cb21-4f39-99ba-f248ba2a597a", + "persona-model-version" : "1" + }, + "extra-properties" : {}, + "inventory-response-items" : { + "inventory-response-item" : [ + { + "l3-network" : { + "network-id" : "b13635a1-5ab8-4dee-9598-768a83eea099", + "network-name" : "MMS-24413-LAB-vMMSC-01_int_eca_mgmt_net_1", + "network-type" : "CONTRAIL_BASIC", + "network-role" : "int_eca_mgmt", + "network-technology" : "contrail", + "neutron-network-id" : "07919187-754f-49c2-abb3-9888cfd8ec7d", + "is-bound-to-vpn" : false, + "service-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "network-role-instance" : 0, + "resource-version" : "1469558694", + "orchestration-status" : "active", + "heat-stack-id" : "MMS-24413-LAB-vMMSC-01_int_eca_mgmt_net_1/8d34d139-c95f-4d80-86df-d7d13af01067" + }, + "extra-properties" : {}, + "inventory-response-items" : {} + }, + { + "l3-network" : { + "network-id" : "44e0d9e0-9334-4ec6-9344-07a96dac629f", + "network-name" : "dmz_protected_net_0", + "network-type" : "CONTRAIL_EXTERNAL", + "network-role" : "dmz_protected", + "network-technology" : "contrail", + "neutron-network-id" : "1ad6b2c5-97d0-4298-b016-7e28939e0baf", + "is-bound-to-vpn" : false, + "service-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "resource-version" : "1469563787", + "orchestration-status" : "active", + "heat-stack-id" : "dmz_protected_net_0/3f93df5c-f4f1-484f-a269-12d3a6b1ec82" + }, + "extra-properties" : {}, + "inventory-response-items" : {} + }, + { + "l3-network" : { + "network-id" : "ac49d99b-5daf-4624-9f8e-188b126ea166", + "network-name" : "cor_direct_net_0", + "network-type" : "CONTRAIL_BASIC", + "network-role" : "cor_direct", + "network-technology" : "contrail", + "neutron-network-id" : "ac49d99b-5daf-4624-9f8e-188b126ea166", + "is-bound-to-vpn" : false, + "service-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "network-role-instance" : 0, + "resource-version" : "1470846979", + "orchestration-status" : "active", + "heat-stack-id" : "", + "mso-catalog-key" : "" + }, + "extra-properties" : {}, + "inventory-response-items" : {} + }, + { + "l3-network" : { + "network-id" : "c597ab81-fece-49f4-a4f5-710cebb13c29", + "network-name" : "oam_protected_net_0", + "network-type" : "CONTRAIL_BASIC", + "network-role" : "oam_protected", + "network-technology" : "contrail", + "neutron-network-id" : "c597ab81-fece-49f4-a4f5-710cebb13c29", + "is-bound-to-vpn" : false, + "service-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "network-role-instance" : 0, + "resource-version" : "1470846979", + "orchestration-status" : "active", + "heat-stack-id" : "", + "mso-catalog-key" : "" + }, + "extra-properties" : {}, + "inventory-response-items" : {} + } ] + } + } ] + } + } ] + } +}; diff --git a/vid-app-common/src/main/webapp/app/vid/test/testMso.css b/vid-app-common/src/main/webapp/app/vid/test/testMso.css new file mode 100755 index 00000000..b0844ee7 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/test/testMso.css @@ -0,0 +1,22 @@ +div[ng-controller=testController] button { + width: 200px; + margin: 3px; +} + +h3 { + margin-bottom: 5px; +} + +ol, li { + list-style-type: decimal !important; +} + +div[ng-controller=testController]>div>span { + font-size: 20px; + margin-left: 10px; +} + +div[ng-controller=testController] input[type=checkbox] { + height: 20px; + width: 20px; +} \ No newline at end of file diff --git a/vid-app-common/src/main/webapp/app/vid/test/testMso.js b/vid-app-common/src/main/webapp/app/vid/test/testMso.js new file mode 100755 index 00000000..884ba8d8 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/test/testMso.js @@ -0,0 +1,486 @@ +"use strict"; + +app.config(function($logProvider){ + // Optionally set to "false" to disable debug logging. + $logProvider.debugEnabled(true); +}); + +app.controller("testController", [ "$scope", "$timeout", "$cookieStore", "$log", "COMPONENT", "DataService", "PropertyService", + function($scope, $timeout, $cookieStore, $log, COMPONENT, DataService, PropertyService) { + + $scope.popup = new Object(); + $scope.isTestMode = false; + + $scope.init = function(properties) { + /* + * These 2 statements should be included in non-test code. + */ + PropertyService.setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec); + PropertyService.setMsoMaxPolls(properties.msoMaxPolls); + + /* + * "setTestMode" is only used for testing. + */ + + setTestMode(); + + DataService.setSubscriberName("Mobility"); + DataService.setGlobalCustomerId("CUSTID12345") + DataService.setServiceType("Mobility Type 1"); + DataService.setServiceName("Mobility Service 1"); + DataService.setServiceInstanceId("mmsc-test-service-instance"); + DataService.setVnfInstanceId("abcd-12345-56789"); + DataService.setVfModuleInstanceId("xye-99990123213"); + } + + var TEST_MODE_COOKIE = "isTestModeEnabled"; + + var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl(); + + var setTestMode = function() { + setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE)); + PropertyService.setMsoMaxPollingIntervalMsec(1000); + PropertyService.setMsoMaxPolls(7); + PropertyService.setServerResponseTimeoutMsec(10000); + }; + + $scope.testMsoModeChanged = function() { + setTestMsoMode($scope.isTestMsoMode); + }; + + var setTestMsoMode = function(isEnabled) { + $scope.isTestMsoMode = isEnabled; + $cookieStore.put(TEST_MODE_COOKIE, isEnabled); + if (isEnabled) { + PropertyService.setMsoBaseUrl("testmso"); + } else { + PropertyService.setMsoBaseUrl(defaultMsoBaseUrl); + } + } + + $scope.autoStartCommitTest = function() { + /* + * Optionally comment in / out one of these method calls (or add a similar + * entry) to auto-invoke an entry when the test screen is redrawn. + */ + $timeout(function() { + // $scope.createServiceInstance(); + // $scope.deleteServiceInstance(); + // $scope.generateInvalidUrl404(); + }, 500); + } + + $scope.autoStartQueryTest = function() { + /* + * Optionally comment in / out one of these method calls (or add a similar + * entry) to auto-invoke an entry when the test screen is redrawn. + */ + $timeout(function() { + // $scope.queryServiceInstance(); + }, 500); + } + + $scope.queryServiceInstance = function() { + /* + * Example of method call needed to show service instance details. + */ + $scope.$broadcast("showComponentDetails", { + componentId : COMPONENT.SERVICE + }); + } + + $scope.createServiceInstance = function() { + /* + * Example of method call needed to commit an instance creation request. + */ + $scope.$broadcast("createInstance", { + url : "mso_create_svc_instance", + requestDetails : createServiceRequestDetails + }); + } + + $scope.deleteServiceInstance = function() { + /* + * Example of method call needed to commit an instance deletion request. + */ + $scope.$broadcast("deleteInstance", { + url : "mso_delete_svc_instance/bc305d54-75b4-431b-adb2-eb6b9e546014", + requestDetails : deleteServiceRequestDetails + }); + } + + $scope.createVNFInstance = function() { + /* + * Example of method call needed to commit an instance creation request. + */ + $scope.$broadcast("createInstance", { + url : "mso_create_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546099", + requestDetails : createVnfRequestDetails + }); + } + + $scope.deleteVNFInstance = function() { + /* + * Example of method call needed to commit an instance deletion request. + */ + $scope.$broadcast("deleteInstance", { + url : "mso_delete_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/ab9000-0009-9999", + requestDetails : deleteVnfRequestDetails + }); + } + + $scope.createVolumeGroupInstance = function() { + /* + * Example of method call needed to commit an instance creation request. + */ + $scope.$broadcast("createInstance", { + url : "mso_create_volumegroup_instance/bc305d54-75b4-431b-adb2-eb6b9e546099/vnfs/fe305d54-75b4-431b-adb2-eb6b9e546fea", + requestDetails : createVolumeGroupRequestDetails + }); + } + + $scope.deleteVolumeGroupInstance = function() { + /* + * Example of method call needed to commit an instance deletion request. + */ + $scope.$broadcast("deleteInstance", { + url : "mso_delete_volumegroup_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/fe305d54-75b4-431b-adb2-eb6b9e546fea/volumeGroups/fe9000-0009-9999", + requestDetails : deleteVolumeGroupRequestDetails + }); + } + $scope.createVFModuleInstance = function() { + /* + * Example of method call needed to commit an instance creation request. + */ + $scope.$broadcast("createInstance", { + url : "mso_create_vfmodule_instance/bc305d54-75b4-431b-adb2-eb6b9e546099/vnfs/111-111-111-111", + requestDetails : createVFModuleRequestDetails + }); + } + + $scope.deleteVFModuleInstance = function() { + /* + * Example of method call needed to commit an instance deletion request. + * + */ + $scope.$broadcast("deleteInstance", { + url : "mso_delete_vfmodule_instance/2/vnfs/ab/vfModules/a1", + requestDetails : deleteVFModuleRequestDetails + }); + } + $scope.createNetworkInstance = function() { + $scope.$broadcast("createInstance", { + url : "mso_create_nw_instance/789098877777", + requestDetails : createNetworkRequestDetails + }); + } + + $scope.deleteNetworkInstance = function() { + $scope.$broadcast("deleteInstance", { + url : "mso_delete_nw_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/networks/ff305d54-75b4-ff1b-fff1-eb6b9e5460ff", + requestDetails : deleteNetworkRequestDetails + }); + } + + $scope.generateError = function(testName) { + // Clone example request object + var request = JSON.parse(JSON.stringify(createServiceRequestDetails)); + request.modelInfo.modelName = testName; + $scope.$broadcast("createInstance", { + url : "mso_create_svc_instance", + requestDetails : request + }); + } + + $scope.generateInvalidUrl404 = function() { + var baseUrl = PropertyService.getMsoBaseUrl(); + PropertyService.setMsoBaseUrl("/INVALID_STRING/"); + + $scope.$broadcast("createInstance", { + url : "mso_create_svc_instance", + requestDetails : createServiceRequestDetails, + callbackFunction : function() { + PropertyService.setMsoBaseUrl(baseUrl); + $scope.popup.isVisible = false; + } + }); + } + + $scope.generateInvalidUrl405 = function() { + $scope.$broadcast("createInstance", { + url : "INVALID_STRING_mso_create_svc_instance", + requestDetails : createServiceRequestDetails + }); + } + + /* + * Test data objects: + */ + /*var requestParameters = { + "subscriptionServiceType":"ef5256d1-5a33-aadf-13ab-12abad84e764", + "userParams":[{"name":"goldenr","value":"Willie"}, {"name":"lab","value":"Jackson"}, {"name":"goldend","value":"Max"}]} */ + var requestParameters = { "subscriptionServiceType":"ef5256d1-5a33-aadf-13ab-12abad84e764", userParams:[] }; + var requestInfo = { + instanceName: "sn5256d1-5a33-55df-13ab-12abad84e764", + productFamilyId: "sn5256d1-5a33-55df-13ab-12abad84edde", + source: "VID", + suppressRollback: true + }; + var subscriberInfo = { + globalSubscriberId : "C12345", + subscriberName : "General Electric Division 12" + }; + + var cloudConfiguration = { + lcpCloudRegionId: "cloudregion1", + tenantId: "df5256d1-5a33-55df-13ab-12abad843456" + + }; + var createServiceRequestDetails = { + modelInfo : { + modelType : "service", + modelInvariantId : "sn5256d1-5a33-55df-13ab-12abad84e764", + modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484adca", + modelName : "WanBonding", + modelVersion : "1", + modelCustomizationName: "" + }, + subscriberInfo : subscriberInfo, + requestInfo : requestInfo, + requestParameters : requestParameters + }; + + var deleteServiceRequestDetails = { + modelInfo : { + modelType : "service", + modelInvariantId : "sn5256d1-5a33-55df-13ab-12abad84e764", + modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484adca", + modelName : "WanBonding", + modelVersion : "1", + modelCustomizationName: "" + }, + requestInfo : requestInfo + }; + + var createVFModuleRequestDetails = { + modelInfo : { + modelType : "VFModule", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e764", + modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab121484adc2", + modelName : "model1", + modelVersion : "1", + modelCustomizationName: "" + }, + cloudConfiguration: cloudConfiguration, + requestInfo : requestInfo, + relatedInstanceList: [ + { + relatedInstance: { + instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc", + modelInfo: { + modelType: "volumeGroup", + modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe", + modelName: "parentServiceModelName", + modelVersion: "1.0" + } + } + }, + { + relatedInstance: { + instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc", + modelInfo: { + modelType: "service", + modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe", + modelName: "parentServiceModelName", + modelVersion: "1.0" + } + } + }, + { + relatedInstance: { + instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34", + modelInfo: { + modelType: "vnf", + modelInvariantId: "ff5256d1-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId: "fe6478e4-ea33-3346-ac12-ab121484a3fe", + modelName: "vSAMP12", + modelVersion: "1.0", + modelCustomizationName: "vSAMP12 1" + } + } + } + + ], + requestParameters : requestParameters + }; + + var deleteVFModuleRequestDetails = { + modelInfo : { + modelType : "VFModule", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e764", + modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab121484adc2", + modelName : "model1", + modelVersion : "1", + modelCustomizationName: "" + }, + cloudConfiguration: cloudConfiguration, + requestInfo : requestInfo, + + }; + + var createVnfRequestDetails = { + modelInfo : { + modelType : "vnf", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efc2", + modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab1214847890", + modelName : "model1", + modelVersion : "1", + modelCustomizationName: "" + }, + requestInfo : requestInfo, + cloudConfiguration : cloudConfiguration, + relatedInstanceList: [ + { + relatedInstance: { + instanceId: "c3514e3-5a09-55df-13ab-1babad84e7cc", + modelInfo: { + modelType: "service", + modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe", + modelName: "parentServiceModelName", + modelVersion: "1.0" + } + } + } + ] + }; + + var deleteVnfRequestDetails = { + modelInfo : { + modelType : "vnf", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efc2", + modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab1214847890", + modelName : "model1", + modelVersion : "1", + modelCustomizationName: "" + }, + cloudConfiguration : cloudConfiguration, + requestInfo : requestInfo + }; + var createVolumeGroupRequestDetails = { + modelInfo : { + modelType : "volumeGroup", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efda", + modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab12148478fa", + modelName : "model1", + modelVersion : "1", + modelCustomizationName: "" + }, + cloudConfiguration : cloudConfiguration, + requestInfo : requestInfo, + relatedInstanceList: [ + { + relatedInstance: { + instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc", + modelInfo: { + modelType: "service", + modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe", + modelName: "parentServiceModelName", + modelVersion: "1.0" + } + } + }, + { + relatedInstance: { + instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34", + modelInfo: { + modelType: "vnf", + modelInvariantId: "ff5256d1-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId: "fe6478e4-ea33-3346-ac12-ab121484a3fe", + modelName: "vSAMP12", + modelVersion: "1.0", + modelCustomizationName: "vSAMP12 1" + } + } + } + ] + + }; + + var deleteVolumeGroupRequestDetails = { + modelInfo : { + modelType : "volumeGroup", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efda", + modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab12148478fa", + modelName : "vIsbcOamNetwork", + modelVersion : "1", + modelCustomizationName: "" + }, + cloudConfiguration : cloudConfiguration, + requestInfo : requestInfo + }; + + var createNetworkRequestDetails = { + modelInfo : { + modelType : "network", + modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e890", + modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fa", + modelName : "vIsbcOamNetwork", + modelVersion : "1", + modelCustomizationName: "" + }, + cloudConfiguration: cloudConfiguration, + requestInfo : requestInfo + }; + + var deleteNetworkRequestDetails = { + modelInfo : { + modelType : "network", + modelId : "ff5256d1-5a33-55df-aaaa-12abad84e7ff", + modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fe", + modelName : "vIsbcOamNetwork", + modelVersion : "1" + }, + relatedModelList : [ + { + relatedModel : { + instanceId : "ff305d54-75b4-431b-adb2-eb6b9e5ff000", + modelInfo : { + modelType : "service", + modelId : "ff3514e3-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId : "fe6985cd-ea33-3346-ac12-ab121484a3fe", + modelName : "Intercarrier Interconnect Session Border Controller", + modelVersion : "1" + } + } + }, + { + relatedModel : { + instanceId : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff", + modelInfo : { + modelType : "vnf", + modelId : "ff5256d1-5a33-55df-13ab-12abad84e7ff", + modelNameVersionId : "fe6478e4-ea33-3346-ac12-ab121484a3fe", + modelName : "vIsbc", + modelVersion : "1" + } + } + }, + { + relatedModel : { + instanceId : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff", + modelInfo : { + modelType : "vfModule", + modelId : "ff5256d1-5a33-55df-13ab-22abad84e7ff", + modelNameVersionId : "fe6478e4-ea33-3346-bc12-ab121484a3fe", + modelName : "vIsbcRtpExpansionModule", + modelVersion : "1" + } + } + } ] + }; + } +]); diff --git a/vid-app-common/src/main/webapp/app/vid/test/testViewEdit.css b/vid-app-common/src/main/webapp/app/vid/test/testViewEdit.css new file mode 100755 index 00000000..0dfb4507 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/test/testViewEdit.css @@ -0,0 +1,30 @@ +div[ng-controller=testViewEditController] button { + width: 120px; +} + +div[ng-controller=testViewEditController]>table { + border: solid black 1px; + width: auto; +} + +div[ng-controller=testViewEditController]>table td { + border: solid black 1px; +} + +h3 { + margin-bottom: 5px; +} + +ol, li { + list-style-type: decimal !important; +} + +div[ng-controller=testViewEditController]>div>span { + font-size: 20px; + margin-left: 10px; +} + +div[ng-controller=testViewEditController] input[type=checkbox] { + height: 20px; + width: 20px; +} \ No newline at end of file diff --git a/vid-app-common/src/main/webapp/app/vid/test/testViewEdit.js b/vid-app-common/src/main/webapp/app/vid/test/testViewEdit.js new file mode 100755 index 00000000..73da4db7 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/test/testViewEdit.js @@ -0,0 +1,376 @@ +"use strict"; + +app.config(function($logProvider) { + // Optionally set to "false" to disable debug logging. + $logProvider.debugEnabled(true); +}); + +var testViewEditController = function(COMPONENT, DataService, PropertyService, + UtilityService, $scope, $timeout, $cookieStore, $log) { + + $scope.popup = new Object(); + $scope.isTestMode = false; + + $scope.init = function(properties) { + + /* + * These 2 statements should be included in non-test code. + */ + PropertyService + .setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec); + PropertyService.setMsoMaxPolls(properties.msoMaxPolls); + + /* + * Common parameters that shows an example of how the view edit screen + * is expected to pass some common service instance values to the + * popups. + */ + + DataService.setSubscriberName("Mobility"); + DataService.setGlobalCustomerId("CUSTID12345") + DataService.setServiceType("Mobility Type 1"); + DataService.setServiceInstanceName("Example Service Instance Name"); + DataService.setServiceName("Mobility Service 1"); + DataService.setServiceInstanceId("mmsc-test-service-instance"); + DataService.setServiceUuid("XXXX-YYYY-ZZZZ"); + DataService.setUserServiceInstanceName("USER_SERVICE_INSTANCE_NAME"); + + /* + * "setTestMode" is only used for testing. + */ + + setTestMode(); + + } + + $scope.autoStartTest = function() { + /* + * Optionally comment in / out one of these method calls (or add a + * similar entry) to auto-invoke an entry as soon as the page is + * refreshed. + */ + $timeout(function() { + // $scope.showServiceDetails(); + // $scope.showVnfDetails(); + // $scope.createService(); + // $scope.deleteService(); + // $scope.createNetwork(); + // $scope.createVnf(); + // $scope.createVfModule(); + // $scope.deleteVnf(); + // $scope.createVfModule(); + }, 500); + } + + /* + * This block of code is only used for testing. + */ + + /* + * The first 3 functions override default values set in the server + * properties file. + * + * 1) The URL for the MSO controller is set to either the "real" controller + * or the test version depending on the "Use test MSO controller" checkbox. + * + * 2) SDC and AAI are set to use test controller versions. + * + * 3) Maximum polling and timeout values are set to lower values to lessen + * the time required to run tests. + * + */ + + var TEST_MODE_COOKIE = "isTestModeEnabled"; + + var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl(); + + var setTestMode = function() { + setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE)); + PropertyService.setAaiBaseUrl("testaai"); + PropertyService.setAsdcBaseUrl("testasdc"); + PropertyService.setMsoMaxPollingIntervalMsec(1000); + PropertyService.setMsoMaxPolls(7); + PropertyService.setServerResponseTimeoutMsec(10000); + }; + + $scope.testMsoModeChanged = function() { + setTestMsoMode($scope.isTestMsoMode); + }; + + var setTestMsoMode = function(isEnabled) { + $scope.isTestMsoMode = isEnabled; + $cookieStore.put(TEST_MODE_COOKIE, isEnabled); + if (isEnabled) { + PropertyService.setMsoBaseUrl("testmso"); + } else { + PropertyService.setMsoBaseUrl(defaultMsoBaseUrl); + } + }; + + var callbackFunction = function(response) { + $scope.callbackResults = ""; + var color = "none"; + $scope.callbackStyle = { + "background-color" : color + }; + /* + * This 1/2 delay was only added to visually highlight the status + * change. Probably not needed in the real application code. + */ + $timeout(function() { + $scope.callbackResults = UtilityService.getCurrentTime() + + " isSuccessful: " + response.isSuccessful; + if (response.isSuccessful) { + color = "#8F8"; + } else { + color = "#F88"; + } + $scope.callbackStyle = { + "background-color" : color + }; + }, 500); + }; + + /* + * End of block of test-specific code + */ + + /* + * Create functions + */ + $scope.createService = function() { + + DataService.setModelId("91238134091820938018230918230989"); + + $scope.$broadcast("createComponent", { + componentId : COMPONENT.SERVICE, + callbackFunction : callbackFunction + }); + } + + $scope.createVnf = function() { + + DataService.setModelId("91238134091820938018230918230989"); + DataService.setModelInstanceName("VNF_MODEL_INSTANCE_NAME"); + + DataService.setCloudRegionTenantList(exampleCloudRegionTenantList) + DataService.setServiceIdList(exampleServiceIdList); + + // Data used to create MSO "relatedInstanceList" object + + DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo); + + $scope.$broadcast("createComponent", { + componentId : COMPONENT.VNF, + callbackFunction : callbackFunction + }); + } + + $scope.createVfModule = function() { + DataService + .setInventoryItem(exampleAaiResult["inventory-response-items"][0]); + + DataService.setModelId("91238134091820938018230918230989"); + DataService.setModelInstanceName("VF_MODULE_MODEL_INSTANCE_NAME"); + + DataService.setLcpRegion("Region2"); + DataService.setTenant("Tenant2"); + // Data used to create MSO "relatedInstanceList" object + + DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo); + + DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345"); + DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo); + + DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345"); + DataService + .setAvailableVolumeGroupList(exampleAvailableVolumeGroupList); + DataService.setModelInfo(COMPONENT.VOLUME_GROUP, + exampleVolumeGroupModelInfo); + + $scope.$broadcast("createComponent", { + componentId : COMPONENT.VF_MODULE, + callbackFunction : callbackFunction + }); + } + + $scope.createVolumeGroup = function() { + + DataService.setModelId("91238134091820938018230918230989"); + DataService.setModelInstanceName("VOLUME_GROUP_MODEL_INSTANCE_NAME"); + DataService.setLcpRegion("Region1"); + DataService.setTenant("Tenant1"); + // Data used to create MSO "relatedInstanceList" object + + DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo); + + DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345"); + DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo); + + $scope.$broadcast("createComponent", { + componentId : COMPONENT.VOLUME_GROUP, + callbackFunction : callbackFunction + }); + } + + $scope.createNetwork = function() { + + DataService.setModelId("91238134091820938018230918230989"); + DataService.setModelInstanceName("NETWORK_MODEL_INSTANCE_NAME"); + + DataService.setCloudRegionTenantList(exampleCloudRegionTenantList) + DataService.setServiceIdList(exampleServiceIdList); + + // Data used to create MSO "relatedInstanceList" object + + DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo); + + $scope.$broadcast("createComponent", { + componentId : COMPONENT.NETWORK, + callbackFunction : callbackFunction + }); + } + + /* + * Delete functions + */ + $scope.deleteService = function() { + + DataService.setInventoryItem(exampleServiceItem); + + DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo); + + $scope.$broadcast("deleteComponent", { + componentId : COMPONENT.SERVICE, + callbackFunction : callbackFunction + }); + } + + $scope.deleteVnf = function() { + + DataService + .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]); + + DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345"); + DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo); + DataService.setLcpRegion("Region3"); + DataService.setTenant("Tenant3"); + + $scope.$broadcast("deleteComponent", { + componentId : COMPONENT.VNF, + callbackFunction : callbackFunction + }); + } + + $scope.deleteVfModule = function() { + + DataService.setInventoryItem(exampleVfModuleItem); + + DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345"); + + DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345"); + DataService.setModelInfo(COMPONENT.VF_MODULE, exampleVfModuleModelInfo); + DataService.setLcpRegion("Region4"); + DataService.setTenant("Tenant4"); + + $scope.$broadcast("deleteComponent", { + componentId : COMPONENT.VF_MODULE, + callbackFunction : callbackFunction + }); + } + + $scope.deleteVolumeGroup = function() { + + DataService.setInventoryItem(exampleVolumeGroupItem); + + DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345"); + DataService.setModelInfo(COMPONENT.VOLUME_GROUP, + exampleVolumeGroupModelInfo); + DataService.setLcpRegion("Region3"); + DataService.setTenant("Tenant3"); + + + $scope.$broadcast("deleteComponent", { + componentId : COMPONENT.VOLUME_GROUP, + callbackFunction : callbackFunction + }); + } + + $scope.deleteNetwork = function() { + + DataService.setInventoryItem(exampleNetworkItem); + + DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345"); + DataService.setModelInfo(COMPONENT.NETWORK, exampleNetworkModelInfo); + DataService.setLcpRegion("Region5"); + DataService.setTenant("Tenant5"); + + $scope.$broadcast("deleteComponent", { + componentId : COMPONENT.NETWORK, + callbackFunction : callbackFunction + }); + } + + /* + * Show Details functions + */ + $scope.showServiceDetails = function() { + + DataService.setInventoryItem(exampleServiceItem); + + $scope.$broadcast("showComponentDetails", { + componentId : COMPONENT.SERVICE, + callbackFunction : callbackFunction + }); + } + + $scope.showVnfDetails = function() { + + DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345"); + DataService + .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]); + + $scope.$broadcast("showComponentDetails", { + componentId : COMPONENT.VNF, + callbackFunction : callbackFunction + }); + } + + $scope.showVfModuleDetails = function() { + + DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345"); + DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345"); + DataService.setInventoryItem(exampleVfModuleItem); + + $scope.$broadcast("showComponentDetails", { + componentId : COMPONENT.VF_MODULE, + callbackFunction : callbackFunction + }); + } + + $scope.showVolumeGroupDetails = function() { + + DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345"); + DataService.setInventoryItem(exampleVolumeGroupItem); + + $scope.$broadcast("showComponentDetails", { + componentId : COMPONENT.VOLUME_GROUP, + callbackFunction : callbackFunction + }); + } + + $scope.showNetworkDetails = function() { + + DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345"); + DataService.setInventoryItem(exampleNetworkItem); + + $scope.$broadcast("showComponentDetails", { + componentId : COMPONENT.NETWORK, + callbackFunction : callbackFunction + }); + } +} + +app.controller("testViewEditController", [ "COMPONENT", "DataService", + "PropertyService", "UtilityService", "$scope", "$timeout", + "$cookieStore", "$log", testViewEditController ]); \ No newline at end of file -- cgit 1.2.3-korg