Rearrange docker to speed-up building
[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         PropertyService.setServerResponseTimeoutMsec(30000);\r
94     };\r
95 \r
96     $scope.testMsoModeChanged = function() {\r
97         setTestMsoMode($scope.isTestMsoMode);\r
98     };\r
99 \r
100     var setTestMsoMode = function(isEnabled) {\r
101         $scope.isTestMsoMode = isEnabled;\r
102         $cookieStore.put(TEST_MODE_COOKIE, isEnabled);\r
103         if (isEnabled) {\r
104             PropertyService.setMsoBaseUrl("testmso");\r
105         } else {\r
106             PropertyService.setMsoBaseUrl(defaultMsoBaseUrl);\r
107         }\r
108     };\r
109 \r
110     var callbackFunction = function(response) {\r
111         $scope.callbackResults = "";\r
112         var color = "none";\r
113         $scope.callbackStyle = {\r
114             "background-color" : color\r
115         };\r
116         /*\r
117          * This 1/2 delay was only added to visually highlight the status\r
118          * change. Probably not needed in the real application code.\r
119          */\r
120         $timeout(function() {\r
121             $scope.callbackResults = UtilityService.getCurrentTime()\r
122                     + " isSuccessful: " + response.isSuccessful;\r
123             if (response.isSuccessful) {\r
124                 color = "#8F8";\r
125             } else {\r
126                 color = "#F88";\r
127             }\r
128             $scope.callbackStyle = {\r
129                 "background-color" : color\r
130             };\r
131         }, 500);\r
132     };\r
133 \r
134     /*\r
135      * End of block of test-specific code\r
136      */\r
137 \r
138     /*\r
139      * Create functions\r
140      */\r
141     $scope.createService = function() {\r
142 \r
143         DataService.setModelId("91238134091820938018230918230989");\r
144 \r
145         $scope.$broadcast("createComponent", {\r
146             componentId : COMPONENT.SERVICE,\r
147             callbackFunction : callbackFunction\r
148         });\r
149     }\r
150 \r
151     $scope.createVnf = function() {\r
152 \r
153         DataService.setModelId("91238134091820938018230918230989");\r
154         DataService.setModelInstanceName("VNF_MODEL_INSTANCE_NAME");\r
155 \r
156         DataService.setCloudRegionTenantList(exampleCloudRegionTenantList)\r
157         DataService.setServiceIdList(exampleServiceIdList);\r
158 \r
159         // Data used to create MSO "relatedInstanceList" object\r
160 \r
161         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
162 \r
163         $scope.$broadcast("createComponent", {\r
164             componentId : COMPONENT.VNF,\r
165             callbackFunction : callbackFunction\r
166         });\r
167     }\r
168 \r
169     $scope.createVfModule = function() {\r
170         DataService\r
171                 .setInventoryItem(exampleAaiResult["inventory-response-items"][0]);\r
172 \r
173         DataService.setModelId("91238134091820938018230918230989");\r
174         DataService.setModelInstanceName("VF_MODULE_MODEL_INSTANCE_NAME");\r
175 \r
176         DataService.setLcpRegion("Region2");\r
177         DataService.setTenant("Tenant2");\r
178         // Data used to create MSO "relatedInstanceList" object\r
179 \r
180         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
181 \r
182         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
183         DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);\r
184 \r
185         DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");\r
186         DataService\r
187                 .setAvailableVolumeGroupList(exampleAvailableVolumeGroupList);\r
188         DataService.setModelInfo(COMPONENT.VOLUME_GROUP,\r
189                 exampleVolumeGroupModelInfo);\r
190 \r
191         $scope.$broadcast("createComponent", {\r
192             componentId : COMPONENT.VF_MODULE,\r
193             callbackFunction : callbackFunction\r
194         });\r
195     }\r
196 \r
197     $scope.createVolumeGroup = function() {\r
198 \r
199         DataService.setModelId("91238134091820938018230918230989");\r
200         DataService.setModelInstanceName("VOLUME_GROUP_MODEL_INSTANCE_NAME");\r
201         DataService.setLcpRegion("Region1");\r
202         DataService.setTenant("Tenant1");\r
203         // Data used to create MSO "relatedInstanceList" object\r
204 \r
205         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
206 \r
207         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
208         DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);\r
209 \r
210         $scope.$broadcast("createComponent", {\r
211             componentId : COMPONENT.VOLUME_GROUP,\r
212             callbackFunction : callbackFunction\r
213         });\r
214     }\r
215 \r
216     $scope.createNetwork = function() {\r
217 \r
218         DataService.setModelId("91238134091820938018230918230989");\r
219         DataService.setModelInstanceName("NETWORK_MODEL_INSTANCE_NAME");\r
220 \r
221         DataService.setCloudRegionTenantList(exampleCloudRegionTenantList)\r
222         DataService.setServiceIdList(exampleServiceIdList);\r
223 \r
224         // Data used to create MSO "relatedInstanceList" object\r
225 \r
226         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
227 \r
228         $scope.$broadcast("createComponent", {\r
229             componentId : COMPONENT.NETWORK,\r
230             callbackFunction : callbackFunction\r
231         });\r
232     }\r
233 \r
234     /*\r
235      * Delete functions\r
236      */\r
237     $scope.deleteService = function() {\r
238 \r
239         DataService.setInventoryItem(exampleServiceItem);\r
240 \r
241         DataService.setModelInfo(COMPONENT.SERVICE, exampleServiceModelInfo);\r
242 \r
243         $scope.$broadcast("deleteComponent", {\r
244             componentId : COMPONENT.SERVICE,\r
245             callbackFunction : callbackFunction\r
246         });\r
247     }\r
248 \r
249     $scope.deleteVnf = function() {\r
250 \r
251         DataService\r
252                 .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]);\r
253 \r
254         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
255         DataService.setModelInfo(COMPONENT.VNF, exampleVnfModelInfo);\r
256         DataService.setLcpRegion("Region3");\r
257         DataService.setTenant("Tenant3");\r
258 \r
259         $scope.$broadcast("deleteComponent", {\r
260             componentId : COMPONENT.VNF,\r
261             callbackFunction : callbackFunction\r
262         });\r
263     }\r
264 \r
265     $scope.deleteVfModule = function() {\r
266 \r
267         DataService.setInventoryItem(exampleVfModuleItem);\r
268 \r
269         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
270 \r
271         DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345");\r
272         DataService.setModelInfo(COMPONENT.VF_MODULE, exampleVfModuleModelInfo);\r
273         DataService.setLcpRegion("Region4");\r
274         DataService.setTenant("Tenant4");\r
275 \r
276         $scope.$broadcast("deleteComponent", {\r
277             componentId : COMPONENT.VF_MODULE,\r
278             callbackFunction : callbackFunction\r
279         });\r
280     }\r
281 \r
282     $scope.deleteVolumeGroup = function() {\r
283 \r
284         DataService.setInventoryItem(exampleVolumeGroupItem);\r
285 \r
286         DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");\r
287         DataService.setModelInfo(COMPONENT.VOLUME_GROUP,\r
288                 exampleVolumeGroupModelInfo);\r
289         DataService.setLcpRegion("Region3");\r
290         DataService.setTenant("Tenant3");\r
291 \r
292 \r
293         $scope.$broadcast("deleteComponent", {\r
294             componentId : COMPONENT.VOLUME_GROUP,\r
295             callbackFunction : callbackFunction\r
296         });\r
297     }\r
298 \r
299     $scope.deleteNetwork = function() {\r
300 \r
301         DataService.setInventoryItem(exampleNetworkItem);\r
302 \r
303         DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345");\r
304         DataService.setModelInfo(COMPONENT.NETWORK, exampleNetworkModelInfo);\r
305         DataService.setLcpRegion("Region5");\r
306         DataService.setTenant("Tenant5");\r
307 \r
308         $scope.$broadcast("deleteComponent", {\r
309             componentId : COMPONENT.NETWORK,\r
310             callbackFunction : callbackFunction\r
311         });\r
312     }\r
313 \r
314     /*\r
315      * Show Details functions\r
316      */\r
317     $scope.showServiceDetails = function() {\r
318 \r
319         DataService.setInventoryItem(exampleServiceItem);\r
320 \r
321         $scope.$broadcast("showComponentDetails", {\r
322             componentId : COMPONENT.SERVICE,\r
323             callbackFunction : callbackFunction\r
324         });\r
325     }\r
326 \r
327     $scope.showVnfDetails = function() {\r
328 \r
329         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
330         DataService\r
331                 .setInventoryItem(exampleAaiResult["inventory-response-items"]["inventory-response-item"][0]);\r
332 \r
333         $scope.$broadcast("showComponentDetails", {\r
334             componentId : COMPONENT.VNF,\r
335             callbackFunction : callbackFunction\r
336         });\r
337     }\r
338 \r
339     $scope.showVfModuleDetails = function() {\r
340 \r
341         DataService.setVnfInstanceId("VNF_INSTANCE_ID_12345");\r
342         DataService.setVfModuleInstanceId("VF_MODULE_INSTANCE_ID_12345");\r
343         DataService.setInventoryItem(exampleVfModuleItem);\r
344 \r
345         $scope.$broadcast("showComponentDetails", {\r
346             componentId : COMPONENT.VF_MODULE,\r
347             callbackFunction : callbackFunction\r
348         });\r
349     }\r
350 \r
351     $scope.showVolumeGroupDetails = function() {\r
352 \r
353         DataService.setVolumeGroupInstanceId("VOLUME_GROUP_INSTANCE_ID_12345");\r
354         DataService.setInventoryItem(exampleVolumeGroupItem);\r
355 \r
356         $scope.$broadcast("showComponentDetails", {\r
357             componentId : COMPONENT.VOLUME_GROUP,\r
358             callbackFunction : callbackFunction\r
359         });\r
360     }\r
361 \r
362     $scope.showNetworkDetails = function() {\r
363 \r
364         DataService.setNetworkInstanceId("NETWORK_INSTANCE_ID_12345");\r
365         DataService.setInventoryItem(exampleNetworkItem);\r
366 \r
367         $scope.$broadcast("showComponentDetails", {\r
368             componentId : COMPONENT.NETWORK,\r
369             callbackFunction : callbackFunction\r
370         });\r
371     }\r
372 }\r
373 \r
374 app.controller("testViewEditController", [ "COMPONENT", "DataService",\r
375         "PropertyService", "UtilityService", "$scope", "$timeout",\r
376         "$cookieStore", "$log", testViewEditController ]);