2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
23 app.config(function($logProvider){
\r
24 // Optionally set to "false" to disable debug logging.
\r
25 $logProvider.debugEnabled(true);
\r
28 app.controller("testController", [ "$scope", "$timeout", "$cookieStore", "$log", "COMPONENT", "DataService", "PropertyService",
\r
29 function($scope, $timeout, $cookieStore, $log, COMPONENT, DataService, PropertyService) {
\r
31 $scope.popup = new Object();
\r
32 $scope.isTestMode = false;
\r
34 $scope.init = function(properties) {
\r
36 * These 2 statements should be included in non-test code.
\r
38 PropertyService.setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec);
\r
39 PropertyService.setMsoMaxPolls(properties.msoMaxPolls);
\r
42 * "setTestMode" is only used for testing.
\r
47 DataService.setSubscriberName("Mobility");
\r
48 DataService.setGlobalCustomerId("CUSTID12345")
\r
49 DataService.setServiceType("Mobility Type 1");
\r
50 DataService.setServiceName("Mobility Service 1");
\r
51 DataService.setServiceInstanceId("mmsc-test-service-instance");
\r
52 DataService.setVnfInstanceId("abcd-12345-56789");
\r
53 DataService.setVfModuleInstanceId("xye-99990123213");
\r
56 var TEST_MODE_COOKIE = "isTestModeEnabled";
\r
58 var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl();
\r
60 var setTestMode = function() {
\r
61 setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE));
\r
62 PropertyService.setMsoMaxPollingIntervalMsec(1000);
\r
63 PropertyService.setMsoMaxPolls(7);
\r
66 $scope.testMsoModeChanged = function() {
\r
67 setTestMsoMode($scope.isTestMsoMode);
\r
70 var setTestMsoMode = function(isEnabled) {
\r
71 $scope.isTestMsoMode = isEnabled;
\r
72 $cookieStore.put(TEST_MODE_COOKIE, isEnabled);
\r
74 PropertyService.setMsoBaseUrl("testmso");
\r
76 PropertyService.setMsoBaseUrl(defaultMsoBaseUrl);
\r
80 $scope.autoStartCommitTest = function() {
\r
82 * Optionally comment in / out one of these method calls (or add a similar
\r
83 * entry) to auto-invoke an entry when the test screen is redrawn.
\r
85 $timeout(function() {
\r
86 // $scope.createServiceInstance();
\r
87 // $scope.deleteServiceInstance();
\r
88 // $scope.generateInvalidUrl404();
\r
92 $scope.autoStartQueryTest = function() {
\r
94 * Optionally comment in / out one of these method calls (or add a similar
\r
95 * entry) to auto-invoke an entry when the test screen is redrawn.
\r
97 $timeout(function() {
\r
98 // $scope.queryServiceInstance();
\r
102 $scope.queryServiceInstance = function() {
\r
104 * Example of method call needed to show service instance details.
\r
106 $scope.$broadcast("showComponentDetails", {
\r
107 componentId : COMPONENT.SERVICE
\r
111 $scope.createServiceInstance = function() {
\r
113 * Example of method call needed to commit an instance creation request.
\r
115 $scope.$broadcast("createInstance", {
\r
116 url : "mso_create_svc_instance",
\r
117 requestDetails : createServiceRequestDetails
\r
121 $scope.deleteServiceInstance = function() {
\r
123 * Example of method call needed to commit an instance deletion request.
\r
125 $scope.$broadcast("deleteInstance", {
\r
126 url : "mso_delete_svc_instance/bc305d54-75b4-431b-adb2-eb6b9e546014",
\r
127 requestDetails : deleteServiceRequestDetails
\r
131 $scope.createVNFInstance = function() {
\r
133 * Example of method call needed to commit an instance creation request.
\r
135 $scope.$broadcast("createInstance", {
\r
136 url : "mso_create_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546099",
\r
137 requestDetails : createVnfRequestDetails
\r
141 $scope.deleteVNFInstance = function() {
\r
143 * Example of method call needed to commit an instance deletion request.
\r
145 $scope.$broadcast("deleteInstance", {
\r
146 url : "mso_delete_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/ab9000-0009-9999",
\r
147 requestDetails : deleteVnfRequestDetails
\r
151 $scope.createVolumeGroupInstance = function() {
\r
153 * Example of method call needed to commit an instance creation request.
\r
155 $scope.$broadcast("createInstance", {
\r
156 url : "mso_create_volumegroup_instance/bc305d54-75b4-431b-adb2-eb6b9e546099/vnfs/fe305d54-75b4-431b-adb2-eb6b9e546fea",
\r
157 requestDetails : createVolumeGroupRequestDetails
\r
161 $scope.deleteVolumeGroupInstance = function() {
\r
163 * Example of method call needed to commit an instance deletion request.
\r
165 $scope.$broadcast("deleteInstance", {
\r
166 url : "mso_delete_volumegroup_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/fe305d54-75b4-431b-adb2-eb6b9e546fea/volumeGroups/fe9000-0009-9999",
\r
167 requestDetails : deleteVolumeGroupRequestDetails
\r
170 $scope.createVFModuleInstance = function() {
\r
172 * Example of method call needed to commit an instance creation request.
\r
174 $scope.$broadcast("createInstance", {
\r
175 url : "mso_create_vfmodule_instance/bc305d54-75b4-431b-adb2-eb6b9e546099/vnfs/111-111-111-111",
\r
176 requestDetails : createVFModuleRequestDetails
\r
180 $scope.deleteVFModuleInstance = function() {
\r
182 * Example of method call needed to commit an instance deletion request.
\r
185 $scope.$broadcast("deleteInstance", {
\r
186 url : "mso_delete_vfmodule_instance/2/vnfs/ab/vfModules/a1",
\r
187 requestDetails : deleteVFModuleRequestDetails
\r
190 $scope.createNetworkInstance = function() {
\r
191 $scope.$broadcast("createInstance", {
\r
192 url : "mso_create_nw_instance/789098877777",
\r
193 requestDetails : createNetworkRequestDetails
\r
197 $scope.deleteNetworkInstance = function() {
\r
198 $scope.$broadcast("deleteInstance", {
\r
199 url : "mso_delete_nw_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/networks/ff305d54-75b4-ff1b-fff1-eb6b9e5460ff",
\r
200 requestDetails : deleteNetworkRequestDetails
\r
204 $scope.generateError = function(testName) {
\r
205 // Clone example request object
\r
206 var request = JSON.parse(JSON.stringify(createServiceRequestDetails));
\r
207 request.modelInfo.modelName = testName;
\r
208 $scope.$broadcast("createInstance", {
\r
209 url : "mso_create_svc_instance",
\r
210 requestDetails : request
\r
214 $scope.generateInvalidUrl404 = function() {
\r
215 var baseUrl = PropertyService.getMsoBaseUrl();
\r
216 PropertyService.setMsoBaseUrl("/INVALID_STRING/");
\r
218 $scope.$broadcast("createInstance", {
\r
219 url : "mso_create_svc_instance",
\r
220 requestDetails : createServiceRequestDetails,
\r
221 callbackFunction : function() {
\r
222 PropertyService.setMsoBaseUrl(baseUrl);
\r
223 $scope.popup.isVisible = false;
\r
228 $scope.generateInvalidUrl405 = function() {
\r
229 $scope.$broadcast("createInstance", {
\r
230 url : "INVALID_STRING_mso_create_svc_instance",
\r
231 requestDetails : createServiceRequestDetails
\r
236 * Test data objects:
\r
238 /*var requestParameters = {
\r
239 "subscriptionServiceType":"ef5256d1-5a33-aadf-13ab-12abad84e764",
\r
240 "userParams":[{"name":"goldenr","value":"Willie"}, {"name":"lab","value":"Jackson"}, {"name":"goldend","value":"Max"}]} */
\r
241 var requestParameters = { "subscriptionServiceType":"ef5256d1-5a33-aadf-13ab-12abad84e764", userParams:[] };
\r
242 var requestInfo = {
\r
243 instanceName: "sn5256d1-5a33-55df-13ab-12abad84e764",
\r
244 productFamilyId: "sn5256d1-5a33-55df-13ab-12abad84edde",
\r
246 suppressRollback: true
\r
248 var subscriberInfo = {
\r
249 globalSubscriberId : "C12345",
\r
250 subscriberName : "General Electric Division 12"
\r
253 var cloudConfiguration = {
\r
254 lcpCloudRegionId: "cloudregion1",
\r
255 tenantId: "df5256d1-5a33-55df-13ab-12abad843456"
\r
258 var createServiceRequestDetails = {
\r
260 modelType : "service",
\r
261 modelInvariantId : "sn5256d1-5a33-55df-13ab-12abad84e764",
\r
262 modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484adca",
\r
263 modelName : "WanBonding",
\r
264 modelVersion : "1",
\r
265 modelCustomizationName: ""
\r
267 subscriberInfo : subscriberInfo,
\r
268 requestInfo : requestInfo,
\r
269 requestParameters : requestParameters
\r
272 var deleteServiceRequestDetails = {
\r
274 modelType : "service",
\r
275 modelInvariantId : "sn5256d1-5a33-55df-13ab-12abad84e764",
\r
276 modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484adca",
\r
277 modelName : "WanBonding",
\r
278 modelVersion : "1",
\r
279 modelCustomizationName: ""
\r
281 requestInfo : requestInfo
\r
284 var createVFModuleRequestDetails = {
\r
286 modelType : "VFModule",
\r
287 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e764",
\r
288 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab121484adc2",
\r
289 modelName : "model1",
\r
290 modelVersion : "1",
\r
291 modelCustomizationName: ""
\r
293 cloudConfiguration: cloudConfiguration,
\r
294 requestInfo : requestInfo,
\r
295 relatedInstanceList: [
\r
298 instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",
\r
300 modelType: "volumeGroup",
\r
301 modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",
\r
302 modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",
\r
303 modelName: "parentServiceModelName",
\r
304 modelVersion: "1.0"
\r
310 instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",
\r
312 modelType: "service",
\r
313 modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",
\r
314 modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",
\r
315 modelName: "parentServiceModelName",
\r
316 modelVersion: "1.0"
\r
322 instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34",
\r
325 modelInvariantId: "ff5256d1-5a33-55df-13ab-12abad84e7ff",
\r
326 modelNameVersionId: "fe6478e4-ea33-3346-ac12-ab121484a3fe",
\r
327 modelName: "vSAMP12",
\r
328 modelVersion: "1.0",
\r
329 modelCustomizationName: "vSAMP12 1"
\r
335 requestParameters : requestParameters
\r
338 var deleteVFModuleRequestDetails = {
\r
340 modelType : "VFModule",
\r
341 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e764",
\r
342 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab121484adc2",
\r
343 modelName : "model1",
\r
344 modelVersion : "1",
\r
345 modelCustomizationName: ""
\r
347 cloudConfiguration: cloudConfiguration,
\r
348 requestInfo : requestInfo,
\r
352 var createVnfRequestDetails = {
\r
355 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efc2",
\r
356 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab1214847890",
\r
357 modelName : "model1",
\r
358 modelVersion : "1",
\r
359 modelCustomizationName: ""
\r
361 requestInfo : requestInfo,
\r
362 cloudConfiguration : cloudConfiguration,
\r
363 relatedInstanceList: [
\r
366 instanceId: "c3514e3-5a09-55df-13ab-1babad84e7cc",
\r
368 modelType: "service",
\r
369 modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",
\r
370 modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",
\r
371 modelName: "parentServiceModelName",
\r
372 modelVersion: "1.0"
\r
379 var deleteVnfRequestDetails = {
\r
382 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efc2",
\r
383 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab1214847890",
\r
384 modelName : "model1",
\r
385 modelVersion : "1",
\r
386 modelCustomizationName: ""
\r
388 cloudConfiguration : cloudConfiguration,
\r
389 requestInfo : requestInfo
\r
391 var createVolumeGroupRequestDetails = {
\r
393 modelType : "volumeGroup",
\r
394 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efda",
\r
395 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab12148478fa",
\r
396 modelName : "model1",
\r
397 modelVersion : "1",
\r
398 modelCustomizationName: ""
\r
400 cloudConfiguration : cloudConfiguration,
\r
401 requestInfo : requestInfo,
\r
402 relatedInstanceList: [
\r
405 instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",
\r
407 modelType: "service",
\r
408 modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",
\r
409 modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",
\r
410 modelName: "parentServiceModelName",
\r
411 modelVersion: "1.0"
\r
417 instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34",
\r
420 modelInvariantId: "ff5256d1-5a33-55df-13ab-12abad84e7ff",
\r
421 modelNameVersionId: "fe6478e4-ea33-3346-ac12-ab121484a3fe",
\r
422 modelName: "vSAMP12",
\r
423 modelVersion: "1.0",
\r
424 modelCustomizationName: "vSAMP12 1"
\r
432 var deleteVolumeGroupRequestDetails = {
\r
434 modelType : "volumeGroup",
\r
435 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efda",
\r
436 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab12148478fa",
\r
437 modelName : "vIsbcOamNetwork",
\r
438 modelVersion : "1",
\r
439 modelCustomizationName: ""
\r
441 cloudConfiguration : cloudConfiguration,
\r
442 requestInfo : requestInfo
\r
445 var createNetworkRequestDetails = {
\r
447 modelType : "network",
\r
448 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e890",
\r
449 modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fa",
\r
450 modelName : "vIsbcOamNetwork",
\r
451 modelVersion : "1",
\r
452 modelCustomizationName: ""
\r
454 cloudConfiguration: cloudConfiguration,
\r
455 requestInfo : requestInfo
\r
458 var deleteNetworkRequestDetails = {
\r
460 modelType : "network",
\r
461 modelId : "ff5256d1-5a33-55df-aaaa-12abad84e7ff",
\r
462 modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fe",
\r
463 modelName : "vIsbcOamNetwork",
\r
466 relatedModelList : [
\r
469 instanceId : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",
\r
471 modelType : "service",
\r
472 modelId : "ff3514e3-5a33-55df-13ab-12abad84e7ff",
\r
473 modelNameVersionId : "fe6985cd-ea33-3346-ac12-ab121484a3fe",
\r
474 modelName : "Intercarrier Interconnect Session Border Controller",
\r
481 instanceId : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",
\r
484 modelId : "ff5256d1-5a33-55df-13ab-12abad84e7ff",
\r
485 modelNameVersionId : "fe6478e4-ea33-3346-ac12-ab121484a3fe",
\r
486 modelName : "vIsbc",
\r
493 instanceId : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
\r
495 modelType : "vfModule",
\r
496 modelId : "ff5256d1-5a33-55df-13ab-22abad84e7ff",
\r
497 modelNameVersionId : "fe6478e4-ea33-3346-bc12-ab121484a3fe",
\r
498 modelName : "vIsbcRtpExpansionModule",
\r