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 var testViewEditController = function(COMPONENT, DataService, PropertyService,
\r
29 UtilityService, $scope, $timeout, $cookieStore, $log) {
\r
31 $scope.popup = new Object();
\r
32 $scope.isTestMode = false;
\r
34 $scope.init = function(properties) {
\r
37 * These 2 statements should be included in non-test code.
\r
40 .setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec);
\r
41 PropertyService.setMsoMaxPolls(properties.msoMaxPolls);
\r
44 * Common parameters that shows an example of how the view edit screen
\r
45 * is expected to pass some common service instance values to the
\r
49 DataService.setSubscriberName("Mobility");
\r
50 DataService.setGlobalCustomerId("CUSTID12345");
\r
51 DataService.setServiceType("Mobility Type 1");
\r
52 DataService.setServiceInstanceName("Example Service Instance Name");
\r
53 DataService.setServiceName("Mobility Service 1");
\r
54 DataService.setServiceInstanceId("mmsc-test-service-instance");
\r
55 DataService.setServiceUuid("XXXX-YYYY-ZZZZ");
\r
56 DataService.setUserServiceInstanceName("USER_SERVICE_INSTANCE_NAME");
\r
59 * "setTestMode" is only used for testing.
\r
66 $scope.autoStartTest = function() {
\r
68 * Optionally comment in / out one of these method calls (or add a
\r
69 * similar entry) to auto-invoke an entry as soon as the page is
\r
72 $timeout(function() {
\r
73 // $scope.showServiceDetails();
\r
74 // $scope.showVnfDetails();
\r
75 // $scope.createService();
\r
76 // $scope.deleteService();
\r
77 // $scope.createNetwork();
\r
78 // $scope.createVnf();
\r
79 // $scope.createVfModule();
\r
80 // $scope.deleteVnf();
\r
81 // $scope.createVfModule();
\r
86 * This block of code is only used for testing.
\r
90 * The first 3 functions override default values set in the server
\r
93 * 1) The URL for the MSO controller is set to either the "real" controller
\r
94 * or the test version depending on the "Use test MSO controller" checkbox.
\r
96 * 2) SDC and AAI are set to use test controller versions.
\r
98 * 3) Maximum polling and timeout values are set to lower values to lessen
\r
99 * the time required to run tests.
\r
103 var TEST_MODE_COOKIE = "isTestModeEnabled";
\r
105 var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl();
\r
107 var setTestMode = function() {
\r
108 setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE));
\r
109 PropertyService.setAaiBaseUrl("testaai");
\r
110 PropertyService.setAsdcBaseUrl("testasdc");
\r
111 PropertyService.setMsoMaxPollingIntervalMsec(1000);
\r
112 PropertyService.setMsoMaxPolls(7);
\r
115 $scope.testMsoModeChanged = function() {
\r
116 setTestMsoMode($scope.isTestMsoMode);
\r
119 var setTestMsoMode = function(isEnabled) {
\r
120 $scope.isTestMsoMode = isEnabled;
\r
121 $cookieStore.put(TEST_MODE_COOKIE, isEnabled);
\r
123 PropertyService.setMsoBaseUrl("testmso");
\r
125 PropertyService.setMsoBaseUrl(defaultMsoBaseUrl);
\r
129 var callbackFunction = function(response) {
\r
130 $scope.callbackResults = "";
\r
131 var color = "none";
\r
132 $scope.callbackStyle = {
\r
133 "background-color" : color
\r
136 * This 1/2 delay was only added to visually highlight the status
\r
137 * change. Probably not needed in the real application code.
\r
139 $timeout(function() {
\r
140 $scope.callbackResults = UtilityService.getCurrentTime()
\r
141 + " isSuccessful: " + response.isSuccessful;
\r
142 if (response.isSuccessful) {
\r
147 $scope.callbackStyle = {
\r
148 "background-color" : color
\r
154 * End of block of test-specific code
\r
160 $scope.createService = function() {
\r
162 DataService.setModelId("91238134091820938018230918230989");
\r
164 $scope.$broadcast("createComponent", {
\r
165 componentId : COMPONENT.SERVICE,
\r
166 callbackFunction : callbackFunction
\r
170 $scope.createVnf = function() {
\r
172 DataService.setModelId("91238134091820938018230918230989");
\r
173 DataService.setModelInstanceName("VNF_MODEL_INSTANCE_NAME");
\r
175 DataService.setCloudRegionTenantList(exampleCloudRegionTenantList);
\r
176 DataService.setServiceIdList(exampleServiceIdList);
\r
178 // Data used to create MSO "relatedInstanceList" object
\r
180 DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);
\r
182 $scope.$broadcast("createComponent", {
\r
183 componentId : COMPONENT.VNF,
\r
184 callbackFunction : callbackFunction
\r
188 $scope.createVfModule = function() {
\r
190 .setInventoryItem(exampleAaiResult["inventory-response-items"][0]);
\r
192 DataService.setModelId("91238134091820938018230918230989");
\r
193 DataService.setModelInstanceName("VF_MODULE_MODEL_INSTANCE_NAME");
\r
195 DataService.setLcpRegion("Region2");
\r
196 DataService.setTenant("Tenant2");
\r
197 // Data used to create MSO "relatedInstanceList" object
\r
199 DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);
\r
201 DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");
\r
202 DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);
\r
204 DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");
\r
206 .setAvailableVolumeGroupList(exampleAvailableVolumeGroupList);
\r
207 DataService.setModelInfo(COMPONENT.VOLUME_GROUP,
\r
208 exampleVolumeGroupModelInfo);
\r
210 $scope.$broadcast("createComponent", {
\r
211 componentId : COMPONENT.VF_MODULE,
\r
212 callbackFunction : callbackFunction
\r
216 $scope.createVolumeGroup = function() {
\r
218 DataService.setModelId("91238134091820938018230918230989");
\r
219 DataService.setModelInstanceName("VOLUME_GROUP_MODEL_INSTANCE_NAME");
\r
220 DataService.setLcpRegion("Region1");
\r
221 DataService.setTenant("Tenant1");
\r
222 // Data used to create MSO "relatedInstanceList" object
\r
224 DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);
\r
226 DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");
\r
227 DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);
\r
229 $scope.$broadcast("createComponent", {
\r
230 componentId : COMPONENT.VOLUME_GROUP,
\r
231 callbackFunction : callbackFunction
\r
235 $scope.createNetwork = function() {
\r
237 DataService.setModelId("91238134091820938018230918230989");
\r
238 DataService.setModelInstanceName("NETWORK_MODEL_INSTANCE_NAME");
\r
240 DataService.setCloudRegionTenantList(exampleCloudRegionTenantList)
\r
241 DataService.setServiceIdList(exampleServiceIdList);
\r
243 // Data used to create MSO "relatedInstanceList" object
\r
245 DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);
\r
247 $scope.$broadcast("createComponent", {
\r
248 componentId : COMPONENT.NETWORK,
\r
249 callbackFunction : callbackFunction
\r
256 $scope.deleteService = function() {
\r
258 DataService.setInventoryItem(exampleServiceItem);
\r
260 DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);
\r
262 $scope.$broadcast("deleteComponent", {
\r
263 componentId : COMPONENT.SERVICE,
\r
264 callbackFunction : callbackFunction
\r
268 $scope.deleteVnf = function() {
\r
271 .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]);
\r
273 DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");
\r
274 DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);
\r
275 DataService.setLcpRegion("Region3");
\r
276 DataService.setTenant("Tenant3");
\r
278 $scope.$broadcast("deleteComponent", {
\r
279 componentId : COMPONENT.VNF,
\r
280 callbackFunction : callbackFunction
\r
284 $scope.deleteVfModule = function() {
\r
286 DataService.setInventoryItem(exampleVfModuleItem);
\r
288 DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");
\r
290 DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345");
\r
291 DataService.setModelInfo(COMPONENT.VF_MODULE, exampleVfModuleModelInfo);
\r
292 DataService.setLcpRegion("Region4");
\r
293 DataService.setTenant("Tenant4");
\r
295 $scope.$broadcast("deleteComponent", {
\r
296 componentId : COMPONENT.VF_MODULE,
\r
297 callbackFunction : callbackFunction
\r
301 $scope.deleteVolumeGroup = function() {
\r
303 DataService.setInventoryItem(exampleVolumeGroupItem);
\r
305 DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");
\r
306 DataService.setModelInfo(COMPONENT.VOLUME_GROUP,
\r
307 exampleVolumeGroupModelInfo);
\r
308 DataService.setLcpRegion("Region3");
\r
309 DataService.setTenant("Tenant3");
\r
312 $scope.$broadcast("deleteComponent", {
\r
313 componentId : COMPONENT.VOLUME_GROUP,
\r
314 callbackFunction : callbackFunction
\r
318 $scope.deleteNetwork = function() {
\r
320 DataService.setInventoryItem(exampleNetworkItem);
\r
322 DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345");
\r
323 DataService.setModelInfo(COMPONENT.NETWORK, exampleNetworkModelInfo);
\r
324 DataService.setLcpRegion("Region5");
\r
325 DataService.setTenant("Tenant5");
\r
327 $scope.$broadcast("deleteComponent", {
\r
328 componentId : COMPONENT.NETWORK,
\r
329 callbackFunction : callbackFunction
\r
334 * Show Details functions
\r
336 $scope.showServiceDetails = function() {
\r
338 DataService.setInventoryItem(exampleServiceItem);
\r
340 $scope.$broadcast("showComponentDetails", {
\r
341 componentId : COMPONENT.SERVICE,
\r
342 callbackFunction : callbackFunction
\r
346 $scope.showVnfDetails = function() {
\r
348 DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");
\r
350 .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]);
\r
352 $scope.$broadcast("showComponentDetails", {
\r
353 componentId : COMPONENT.VNF,
\r
354 callbackFunction : callbackFunction
\r
358 $scope.showVfModuleDetails = function() {
\r
360 DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");
\r
361 DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345");
\r
362 DataService.setInventoryItem(exampleVfModuleItem);
\r
364 $scope.$broadcast("showComponentDetails", {
\r
365 componentId : COMPONENT.VF_MODULE,
\r
366 callbackFunction : callbackFunction
\r
370 $scope.showVolumeGroupDetails = function() {
\r
372 DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");
\r
373 DataService.setInventoryItem(exampleVolumeGroupItem);
\r
375 $scope.$broadcast("showComponentDetails", {
\r
376 componentId : COMPONENT.VOLUME_GROUP,
\r
377 callbackFunction : callbackFunction
\r
381 $scope.showNetworkDetails = function() {
\r
383 DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345");
\r
384 DataService.setInventoryItem(exampleNetworkItem);
\r
386 $scope.$broadcast("showComponentDetails", {
\r
387 componentId : COMPONENT.NETWORK,
\r
388 callbackFunction : callbackFunction
\r
393 app.controller("testViewEditController", [ "COMPONENT", "DataService",
\r
394 "PropertyService", "UtilityService", "$scope", "$timeout",
\r
395 "$cookieStore", "$log", testViewEditController ]);
\r