Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / webapp / app / vid / test / testViewEdit.js
1 "use strict";\r
2 \r
3 app.config(function($logProvider) {\r
4     // Optionally set to "false" to disable debug logging.\r
5     $logProvider.debugEnabled(true);\r
6 });\r
7 \r
8 var testViewEditController = function(COMPONENT, DataService, PropertyService,\r
9         UtilityService, $scope, $timeout, $cookieStore, $log) {\r
10 \r
11     $scope.popup = new Object();\r
12     $scope.isTestMode = false;\r
13 \r
14     $scope.init = function(properties) {\r
15 \r
16         /*\r
17          * These 2 statements should be included in non-test code.\r
18          */\r
19         PropertyService\r
20                 .setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec);\r
21         PropertyService.setMsoMaxPolls(properties.msoMaxPolls);\r
22 \r
23         /*\r
24          * Common parameters that shows an example of how the view edit screen\r
25          * is expected to pass some common service instance values to the\r
26          * popups.\r
27          */\r
28 \r
29         DataService.setSubscriberName("Mobility");\r
30         DataService.setGlobalCustomerId("CUSTID12345")\r
31         DataService.setServiceType("Mobility Type 1");\r
32         DataService.setServiceInstanceName("Example Service Instance Name");\r
33         DataService.setServiceName("Mobility Service 1");\r
34         DataService.setServiceInstanceId("mmsc-test-service-instance");\r
35         DataService.setServiceUuid("XXXX-YYYY-ZZZZ");\r
36         DataService.setUserServiceInstanceName("USER_SERVICE_INSTANCE_NAME");\r
37 \r
38         /*\r
39          * "setTestMode" is only used for testing.\r
40          */\r
41 \r
42         setTestMode();\r
43 \r
44     }\r
45 \r
46     $scope.autoStartTest = function() {\r
47         /*\r
48          * Optionally comment in / out one of these method calls (or add a\r
49          * similar entry) to auto-invoke an entry as soon as the page is\r
50          * refreshed.\r
51          */\r
52         $timeout(function() {\r
53             // $scope.showServiceDetails();\r
54             // $scope.showVnfDetails();\r
55             // $scope.createService();\r
56             // $scope.deleteService();\r
57             // $scope.createNetwork();\r
58             // $scope.createVnf();\r
59             // $scope.createVfModule();\r
60             // $scope.deleteVnf();\r
61             // $scope.createVfModule();\r
62         }, 500);\r
63     }\r
64 \r
65     /*\r
66      * This block of code is only used for testing.\r
67      */\r
68 \r
69     /*\r
70      * The first 3 functions override default values set in the server\r
71      * properties file.\r
72      * \r
73      * 1) The URL for the MSO controller is set to either the "real" controller\r
74      * or the test version depending on the "Use test MSO controller" checkbox.\r
75      * \r
76      * 2) SDC and AAI are set to use test controller versions.\r
77      * \r
78      * 3) Maximum polling and timeout values are set to lower values to lessen\r
79      * the time required to run tests.\r
80      * \r
81      */\r
82 \r
83     var TEST_MODE_COOKIE = "isTestModeEnabled";\r
84 \r
85     var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl();\r
86 \r
87     var setTestMode = function() {\r
88         setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE));\r
89         PropertyService.setAaiBaseUrl("testaai");\r
90         PropertyService.setAsdcBaseUrl("testasdc");\r
91         PropertyService.setMsoMaxPollingIntervalMsec(1000);\r
92         PropertyService.setMsoMaxPolls(7);\r
93     };\r
94 \r
95     $scope.testMsoModeChanged = function() {\r
96         setTestMsoMode($scope.isTestMsoMode);\r
97     };\r
98 \r
99     var setTestMsoMode = function(isEnabled) {\r
100         $scope.isTestMsoMode = isEnabled;\r
101         $cookieStore.put(TEST_MODE_COOKIE, isEnabled);\r
102         if (isEnabled) {\r
103             PropertyService.setMsoBaseUrl("testmso");\r
104         } else {\r
105             PropertyService.setMsoBaseUrl(defaultMsoBaseUrl);\r
106         }\r
107     };\r
108 \r
109     var callbackFunction = function(response) {\r
110         $scope.callbackResults = "";\r
111         var color = "none";\r
112         $scope.callbackStyle = {\r
113             "background-color" : color\r
114         };\r
115         /*\r
116          * This 1/2 delay was only added to visually highlight the status\r
117          * change. Probably not needed in the real application code.\r
118          */\r
119         $timeout(function() {\r
120             $scope.callbackResults = UtilityService.getCurrentTime()\r
121                     + " isSuccessful: " + response.isSuccessful;\r
122             if (response.isSuccessful) {\r
123                 color = "#8F8";\r
124             } else {\r
125                 color = "#F88";\r
126             }\r
127             $scope.callbackStyle = {\r
128                 "background-color" : color\r
129             };\r
130         }, 500);\r
131     };\r
132 \r
133     /*\r
134      * End of block of test-specific code\r
135      */\r
136 \r
137     /*\r
138      * Create functions\r
139      */\r
140     $scope.createService = function() {\r
141 \r
142         DataService.setModelId("91238134091820938018230918230989");\r
143 \r
144         $scope.$broadcast("createComponent", {\r
145             componentId : COMPONENT.SERVICE,\r
146             callbackFunction : callbackFunction\r
147         });\r
148     }\r
149 \r
150     $scope.createVnf = function() {\r
151 \r
152         DataService.setModelId("91238134091820938018230918230989");\r
153         DataService.setModelInstanceName("VNF_MODEL_INSTANCE_NAME");\r
154 \r
155         DataService.setCloudRegionTenantList(exampleCloudRegionTenantList)\r
156         DataService.setServiceIdList(exampleServiceIdList);\r
157 \r
158         // Data used to create MSO "relatedInstanceList" object\r
159 \r
160         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
161 \r
162         $scope.$broadcast("createComponent", {\r
163             componentId : COMPONENT.VNF,\r
164             callbackFunction : callbackFunction\r
165         });\r
166     }\r
167 \r
168     $scope.createVfModule = function() {\r
169         DataService\r
170                 .setInventoryItem(exampleAaiResult["inventory-response-items"][0]);\r
171 \r
172         DataService.setModelId("91238134091820938018230918230989");\r
173         DataService.setModelInstanceName("VF_MODULE_MODEL_INSTANCE_NAME");\r
174 \r
175         DataService.setLcpRegion("Region2");\r
176         DataService.setTenant("Tenant2");\r
177         // Data used to create MSO "relatedInstanceList" object\r
178 \r
179         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
180 \r
181         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
182         DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);\r
183 \r
184         DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");\r
185         DataService\r
186                 .setAvailableVolumeGroupList(exampleAvailableVolumeGroupList);\r
187         DataService.setModelInfo(COMPONENT.VOLUME_GROUP,\r
188                 exampleVolumeGroupModelInfo);\r
189 \r
190         $scope.$broadcast("createComponent", {\r
191             componentId : COMPONENT.VF_MODULE,\r
192             callbackFunction : callbackFunction\r
193         });\r
194     }\r
195 \r
196     $scope.createVolumeGroup = function() {\r
197 \r
198         DataService.setModelId("91238134091820938018230918230989");\r
199         DataService.setModelInstanceName("VOLUME_GROUP_MODEL_INSTANCE_NAME");\r
200         DataService.setLcpRegion("Region1");\r
201         DataService.setTenant("Tenant1");\r
202         // Data used to create MSO "relatedInstanceList" object\r
203 \r
204         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
205 \r
206         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
207         DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);\r
208 \r
209         $scope.$broadcast("createComponent", {\r
210             componentId : COMPONENT.VOLUME_GROUP,\r
211             callbackFunction : callbackFunction\r
212         });\r
213     }\r
214 \r
215     $scope.createNetwork = function() {\r
216 \r
217         DataService.setModelId("91238134091820938018230918230989");\r
218         DataService.setModelInstanceName("NETWORK_MODEL_INSTANCE_NAME");\r
219 \r
220         DataService.setCloudRegionTenantList(exampleCloudRegionTenantList)\r
221         DataService.setServiceIdList(exampleServiceIdList);\r
222 \r
223         // Data used to create MSO "relatedInstanceList" object\r
224 \r
225         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
226 \r
227         $scope.$broadcast("createComponent", {\r
228             componentId : COMPONENT.NETWORK,\r
229             callbackFunction : callbackFunction\r
230         });\r
231     }\r
232 \r
233     /*\r
234      * Delete functions\r
235      */\r
236     $scope.deleteService = function() {\r
237 \r
238         DataService.setInventoryItem(exampleServiceItem);\r
239 \r
240         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
241 \r
242         $scope.$broadcast("deleteComponent", {\r
243             componentId : COMPONENT.SERVICE,\r
244             callbackFunction : callbackFunction\r
245         });\r
246     }\r
247 \r
248     $scope.deleteVnf = function() {\r
249 \r
250         DataService\r
251                 .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]);\r
252 \r
253         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
254         DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);\r
255         DataService.setLcpRegion("Region3");\r
256         DataService.setTenant("Tenant3");\r
257 \r
258         $scope.$broadcast("deleteComponent", {\r
259             componentId : COMPONENT.VNF,\r
260             callbackFunction : callbackFunction\r
261         });\r
262     }\r
263 \r
264     $scope.deleteVfModule = function() {\r
265 \r
266         DataService.setInventoryItem(exampleVfModuleItem);\r
267 \r
268         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
269 \r
270         DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345");\r
271         DataService.setModelInfo(COMPONENT.VF_MODULE, exampleVfModuleModelInfo);\r
272         DataService.setLcpRegion("Region4");\r
273         DataService.setTenant("Tenant4");\r
274 \r
275         $scope.$broadcast("deleteComponent", {\r
276             componentId : COMPONENT.VF_MODULE,\r
277             callbackFunction : callbackFunction\r
278         });\r
279     }\r
280 \r
281     $scope.deleteVolumeGroup = function() {\r
282 \r
283         DataService.setInventoryItem(exampleVolumeGroupItem);\r
284 \r
285         DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");\r
286         DataService.setModelInfo(COMPONENT.VOLUME_GROUP,\r
287                 exampleVolumeGroupModelInfo);\r
288         DataService.setLcpRegion("Region3");\r
289         DataService.setTenant("Tenant3");\r
290 \r
291 \r
292         $scope.$broadcast("deleteComponent", {\r
293             componentId : COMPONENT.VOLUME_GROUP,\r
294             callbackFunction : callbackFunction\r
295         });\r
296     }\r
297 \r
298     $scope.deleteNetwork = function() {\r
299 \r
300         DataService.setInventoryItem(exampleNetworkItem);\r
301 \r
302         DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345");\r
303         DataService.setModelInfo(COMPONENT.NETWORK, exampleNetworkModelInfo);\r
304         DataService.setLcpRegion("Region5");\r
305         DataService.setTenant("Tenant5");\r
306 \r
307         $scope.$broadcast("deleteComponent", {\r
308             componentId : COMPONENT.NETWORK,\r
309             callbackFunction : callbackFunction\r
310         });\r
311     }\r
312 \r
313     /*\r
314      * Show Details functions\r
315      */\r
316     $scope.showServiceDetails = function() {\r
317 \r
318         DataService.setInventoryItem(exampleServiceItem);\r
319 \r
320         $scope.$broadcast("showComponentDetails", {\r
321             componentId : COMPONENT.SERVICE,\r
322             callbackFunction : callbackFunction\r
323         });\r
324     }\r
325 \r
326     $scope.showVnfDetails = function() {\r
327 \r
328         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
329         DataService\r
330                 .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]);\r
331 \r
332         $scope.$broadcast("showComponentDetails", {\r
333             componentId : COMPONENT.VNF,\r
334             callbackFunction : callbackFunction\r
335         });\r
336     }\r
337 \r
338     $scope.showVfModuleDetails = function() {\r
339 \r
340         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
341         DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345");\r
342         DataService.setInventoryItem(exampleVfModuleItem);\r
343 \r
344         $scope.$broadcast("showComponentDetails", {\r
345             componentId : COMPONENT.VF_MODULE,\r
346             callbackFunction : callbackFunction\r
347         });\r
348     }\r
349 \r
350     $scope.showVolumeGroupDetails = function() {\r
351 \r
352         DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");\r
353         DataService.setInventoryItem(exampleVolumeGroupItem);\r
354 \r
355         $scope.$broadcast("showComponentDetails", {\r
356             componentId : COMPONENT.VOLUME_GROUP,\r
357             callbackFunction : callbackFunction\r
358         });\r
359     }\r
360 \r
361     $scope.showNetworkDetails = function() {\r
362 \r
363         DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345");\r
364         DataService.setInventoryItem(exampleNetworkItem);\r
365 \r
366         $scope.$broadcast("showComponentDetails", {\r
367             componentId : COMPONENT.NETWORK,\r
368             callbackFunction : callbackFunction\r
369         });\r
370     }\r
371 }\r
372 \r
373 app.controller("testViewEditController", [ "COMPONENT", "DataService",\r
374         "PropertyService", "UtilityService", "$scope", "$timeout",\r
375         "$cookieStore", "$log", testViewEditController ]);