aboutsummaryrefslogtreecommitdiffstats
path: root/vid/src/main/webapp/app/vid/test
diff options
context:
space:
mode:
Diffstat (limited to 'vid/src/main/webapp/app/vid/test')
-rw-r--r--vid/src/main/webapp/app/vid/test/testAaiData.js254
-rw-r--r--vid/src/main/webapp/app/vid/test/testMso.css22
-rw-r--r--vid/src/main/webapp/app/vid/test/testMso.js486
-rw-r--r--vid/src/main/webapp/app/vid/test/testViewEdit.css30
-rw-r--r--vid/src/main/webapp/app/vid/test/testViewEdit.js376
5 files changed, 1168 insertions, 0 deletions
diff --git a/vid/src/main/webapp/app/vid/test/testAaiData.js b/vid/src/main/webapp/app/vid/test/testAaiData.js
new file mode 100644
index 000000000..266cfe412
--- /dev/null
+++ b/vid/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 : "DEFAULTREGION",
+ tenantId : "ebe382f38e414b4dbf45b408c7e5bf9f",
+ tenantName : "vMOG-AKRON-123"
+}, {
+ cloudRegionId : "DEFAULTREGION",
+ tenantId : "abcdefhi38e414b4dbf45b408c7e5bf9f",
+ tenantName : "tenant 2"
+}, {
+ cloudRegionId : "DEFAULTREGION",
+ 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/src/main/webapp/app/vid/test/testMso.css b/vid/src/main/webapp/app/vid/test/testMso.css
new file mode 100644
index 000000000..077866be3
--- /dev/null
+++ b/vid/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/src/main/webapp/app/vid/test/testMso.js b/vid/src/main/webapp/app/vid/test/testMso.js
new file mode 100644
index 000000000..979ca18ec
--- /dev/null
+++ b/vid/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/src/main/webapp/app/vid/test/testViewEdit.css b/vid/src/main/webapp/app/vid/test/testViewEdit.css
new file mode 100644
index 000000000..7255c767e
--- /dev/null
+++ b/vid/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/src/main/webapp/app/vid/test/testViewEdit.js b/vid/src/main/webapp/app/vid/test/testViewEdit.js
new file mode 100644
index 000000000..003d7f43b
--- /dev/null
+++ b/vid/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