Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / webapp / app / vid / test / testMso.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 app.controller("testController", [ "$scope", "$timeout", "$cookieStore", "$log", "COMPONENT", "DataService", "PropertyService",\r
9     function($scope, $timeout, $cookieStore, $log, COMPONENT, DataService, PropertyService) {\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                          * These 2 statements should be included in non-test code.\r
17                          */\r
18                         PropertyService.setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec);\r
19                         PropertyService.setMsoMaxPolls(properties.msoMaxPolls);\r
20 \r
21                         /*\r
22                          * "setTestMode" is only used for testing.\r
23                          */\r
24 \r
25                         setTestMode();\r
26                         \r
27                         DataService.setSubscriberName("Mobility");\r
28                         DataService.setGlobalCustomerId("CUSTID12345")\r
29                         DataService.setServiceType("Mobility Type 1");\r
30                         DataService.setServiceName("Mobility Service 1");\r
31                         DataService.setServiceInstanceId("mmsc-test-service-instance");\r
32                         DataService.setVnfInstanceId("abcd-12345-56789");\r
33                         DataService.setVfModuleInstanceId("xye-99990123213");\r
34                 }\r
35                 \r
36                 var TEST_MODE_COOKIE = "isTestModeEnabled";\r
37 \r
38                 var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl();\r
39 \r
40                 var setTestMode = function() {\r
41                     setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE));\r
42                     PropertyService.setMsoMaxPollingIntervalMsec(1000);\r
43                     PropertyService.setMsoMaxPolls(7);\r
44                 };\r
45 \r
46                 $scope.testMsoModeChanged = function() {\r
47                     setTestMsoMode($scope.isTestMsoMode);\r
48                 };\r
49 \r
50                 var setTestMsoMode = function(isEnabled) {\r
51                     $scope.isTestMsoMode = isEnabled;\r
52                     $cookieStore.put(TEST_MODE_COOKIE, isEnabled);\r
53                     if (isEnabled) {\r
54                         PropertyService.setMsoBaseUrl("testmso");\r
55                     } else {\r
56                         PropertyService.setMsoBaseUrl(defaultMsoBaseUrl);\r
57                     }\r
58                 }\r
59                 \r
60                 $scope.autoStartCommitTest = function() {\r
61                         /*\r
62                          * Optionally comment in / out one of these method calls (or add a similar\r
63                          * entry) to auto-invoke an entry when the test screen is redrawn.\r
64                          */\r
65                         $timeout(function() {\r
66                                 // $scope.createServiceInstance();\r
67                                 // $scope.deleteServiceInstance();\r
68                                 // $scope.generateInvalidUrl404();                      \r
69                         }, 500);\r
70                 }\r
71                 \r
72                 $scope.autoStartQueryTest = function() {\r
73                         /*\r
74                          * Optionally comment in / out one of these method calls (or add a similar\r
75                          * entry) to auto-invoke an entry when the test screen is redrawn.\r
76                          */\r
77                         $timeout(function() {\r
78                                 // $scope.queryServiceInstance();\r
79                         }, 500);\r
80                 }\r
81                 \r
82                 $scope.queryServiceInstance = function() {\r
83                         /*\r
84                          * Example of method call needed to show service instance details.\r
85                          */\r
86                         $scope.$broadcast("showComponentDetails", {\r
87                             componentId : COMPONENT.SERVICE\r
88                         });\r
89                 }\r
90         \r
91                 $scope.createServiceInstance = function() {\r
92                         /*\r
93                          * Example of method call needed to commit an instance creation request.\r
94                          */\r
95                         $scope.$broadcast("createInstance", {\r
96                                 url : "mso_create_svc_instance",\r
97                                 requestDetails : createServiceRequestDetails\r
98                         });\r
99                 }\r
100         \r
101                 $scope.deleteServiceInstance = function() {\r
102                         /*\r
103                          * Example of method call needed to commit an instance deletion request.\r
104                          */\r
105                         $scope.$broadcast("deleteInstance",     {\r
106                                 url : "mso_delete_svc_instance/bc305d54-75b4-431b-adb2-eb6b9e546014",\r
107                                 requestDetails : deleteServiceRequestDetails\r
108                         });\r
109                 }\r
110         \r
111                 $scope.createVNFInstance = function() {\r
112                         /*\r
113                          * Example of method call needed to commit an instance creation request.\r
114                          */\r
115                         $scope.$broadcast("createInstance", {\r
116                                 url : "mso_create_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546099",\r
117                                 requestDetails : createVnfRequestDetails\r
118                         });\r
119                 }\r
120         \r
121                 $scope.deleteVNFInstance = function() {\r
122                         /*\r
123                          * Example of method call needed to commit an instance deletion request.\r
124                          */\r
125                         $scope.$broadcast("deleteInstance",     {\r
126                                 url : "mso_delete_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/ab9000-0009-9999",\r
127                                 requestDetails : deleteVnfRequestDetails\r
128                         });\r
129                 }\r
130                 \r
131                 $scope.createVolumeGroupInstance = function() {\r
132                         /*\r
133                          * Example of method call needed to commit an instance creation request.\r
134                          */\r
135                         $scope.$broadcast("createInstance", {\r
136                                 url : "mso_create_volumegroup_instance/bc305d54-75b4-431b-adb2-eb6b9e546099/vnfs/fe305d54-75b4-431b-adb2-eb6b9e546fea",\r
137                                 requestDetails : createVolumeGroupRequestDetails\r
138                         });\r
139                 }\r
140         \r
141                 $scope.deleteVolumeGroupInstance = function() {\r
142                         /*\r
143                          * Example of method call needed to commit an instance deletion request.\r
144                          */\r
145                         $scope.$broadcast("deleteInstance",     {\r
146                                 url : "mso_delete_volumegroup_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/fe305d54-75b4-431b-adb2-eb6b9e546fea/volumeGroups/fe9000-0009-9999",\r
147                                 requestDetails : deleteVolumeGroupRequestDetails\r
148                         });\r
149                 }\r
150                 $scope.createVFModuleInstance = function() {\r
151                         /*\r
152                          * Example of method call needed to commit an instance creation request.\r
153                          */\r
154                         $scope.$broadcast("createInstance", {\r
155                                 url : "mso_create_vfmodule_instance/bc305d54-75b4-431b-adb2-eb6b9e546099/vnfs/111-111-111-111",\r
156                                 requestDetails : createVFModuleRequestDetails\r
157                         });\r
158                 }\r
159         \r
160                 $scope.deleteVFModuleInstance = function() {\r
161                         /*\r
162                          * Example of method call needed to commit an instance deletion request.\r
163                          * \r
164                          */\r
165                         $scope.$broadcast("deleteInstance",     {\r
166                                 url : "mso_delete_vfmodule_instance/2/vnfs/ab/vfModules/a1",\r
167                                 requestDetails : deleteVFModuleRequestDetails\r
168                         });\r
169                 }\r
170                 $scope.createNetworkInstance = function() {\r
171                         $scope.$broadcast("createInstance", {\r
172                                 url : "mso_create_nw_instance/789098877777",\r
173                                 requestDetails : createNetworkRequestDetails\r
174                         });\r
175                 }\r
176         \r
177                 $scope.deleteNetworkInstance = function() {\r
178                         $scope.$broadcast("deleteInstance",     {\r
179                                 url : "mso_delete_nw_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/networks/ff305d54-75b4-ff1b-fff1-eb6b9e5460ff",\r
180                                 requestDetails : deleteNetworkRequestDetails\r
181                         });\r
182                 }\r
183         \r
184                 $scope.generateError = function(testName) {\r
185                         // Clone example request object\r
186                         var request = JSON.parse(JSON.stringify(createServiceRequestDetails));\r
187                         request.modelInfo.modelName = testName;\r
188                         $scope.$broadcast("createInstance", {\r
189                                 url : "mso_create_svc_instance",\r
190                                 requestDetails : request\r
191                         });\r
192                 }\r
193         \r
194                 $scope.generateInvalidUrl404 = function() {\r
195                         var baseUrl = PropertyService.getMsoBaseUrl();\r
196                         PropertyService.setMsoBaseUrl("/INVALID_STRING/");\r
197 \r
198                         $scope.$broadcast("createInstance", {\r
199                                 url : "mso_create_svc_instance",\r
200                                 requestDetails : createServiceRequestDetails,\r
201                                 callbackFunction : function() {\r
202                                     PropertyService.setMsoBaseUrl(baseUrl);\r
203                                     $scope.popup.isVisible = false;\r
204                                 }\r
205                         });     \r
206                 }\r
207         \r
208                 $scope.generateInvalidUrl405 = function() {\r
209                         $scope.$broadcast("createInstance", {\r
210                                 url : "INVALID_STRING_mso_create_svc_instance",\r
211                                 requestDetails : createServiceRequestDetails\r
212                         });\r
213                 }\r
214         \r
215                 /*\r
216                  * Test data objects:\r
217                  */\r
218                 /*var requestParameters = {\r
219                                 "subscriptionServiceType":"ef5256d1-5a33-aadf-13ab-12abad84e764",\r
220                                 "userParams":[{"name":"goldenr","value":"Willie"}, {"name":"lab","value":"Jackson"}, {"name":"goldend","value":"Max"}]} */\r
221                 var requestParameters = { "subscriptionServiceType":"ef5256d1-5a33-aadf-13ab-12abad84e764", userParams:[] };\r
222                 var requestInfo = {\r
223                                 instanceName: "sn5256d1-5a33-55df-13ab-12abad84e764",\r
224                                 productFamilyId: "sn5256d1-5a33-55df-13ab-12abad84edde",\r
225                                 source: "VID",\r
226                                 suppressRollback: true\r
227                 };\r
228                 var subscriberInfo = {\r
229                         globalSubscriberId : "C12345",\r
230                         subscriberName : "General Electric Division 12"\r
231                 };\r
232         \r
233                 var cloudConfiguration = {\r
234                                 lcpCloudRegionId: "cloudregion1",\r
235                                 tenantId: "df5256d1-5a33-55df-13ab-12abad843456"\r
236                                 \r
237                 };\r
238                 var createServiceRequestDetails = {\r
239                         modelInfo : {\r
240                                 modelType : "service",\r
241                                 modelInvariantId : "sn5256d1-5a33-55df-13ab-12abad84e764",\r
242                                 modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484adca",\r
243                                 modelName : "WanBonding",\r
244                                 modelVersion : "1",\r
245                                 modelCustomizationName: ""\r
246                         },\r
247                         subscriberInfo : subscriberInfo,\r
248                         requestInfo : requestInfo,\r
249                         requestParameters : requestParameters\r
250                 };\r
251         \r
252                 var deleteServiceRequestDetails = {\r
253                                 modelInfo : {\r
254                                         modelType : "service",\r
255                                         modelInvariantId : "sn5256d1-5a33-55df-13ab-12abad84e764",\r
256                                         modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484adca",\r
257                                         modelName : "WanBonding",\r
258                                         modelVersion : "1",\r
259                                         modelCustomizationName: ""\r
260                                 },\r
261                                 requestInfo : requestInfo\r
262                 };\r
263                 \r
264                 var createVFModuleRequestDetails = {\r
265                                 modelInfo : {\r
266                                         modelType : "VFModule",\r
267                                         modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e764",\r
268                                         modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab121484adc2",\r
269                                         modelName : "model1",\r
270                                         modelVersion : "1",\r
271                                         modelCustomizationName: ""\r
272                                 },\r
273                                 cloudConfiguration: cloudConfiguration,\r
274                                 requestInfo : requestInfo,\r
275                                 relatedInstanceList: [\r
276                                                                                 {\r
277                                                                                     relatedInstance: {\r
278                                                                                        instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",\r
279                                                                                        modelInfo: {   \r
280                                                                                           modelType: "volumeGroup",\r
281                                                                                           modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",\r
282                                                                                           modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",\r
283                                                                                           modelName: "parentServiceModelName",\r
284                                                                                           modelVersion: "1.0"\r
285                                                                                        }\r
286                                                                                     }\r
287                                                                                  },\r
288                                                         {\r
289                                                            relatedInstance: {\r
290                                                               instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",\r
291                                                               modelInfo: {   \r
292                                                                  modelType: "service",\r
293                                                                  modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",\r
294                                                                  modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",\r
295                                                                  modelName: "parentServiceModelName",\r
296                                                                  modelVersion: "1.0"\r
297                                                               }\r
298                                                            }\r
299                                                         },\r
300                                                         {\r
301                                                            relatedInstance: {\r
302                                                               instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34",\r
303                                                               modelInfo: {\r
304                                                                  modelType: "vnf",\r
305                                                                  modelInvariantId: "ff5256d1-5a33-55df-13ab-12abad84e7ff",\r
306                                                                  modelNameVersionId: "fe6478e4-ea33-3346-ac12-ab121484a3fe",\r
307                                                                  modelName: "vSAMP12",\r
308                                                                  modelVersion: "1.0",\r
309                                                                  modelCustomizationName: "vSAMP12 1"\r
310                                                               }\r
311                                                            }\r
312                                                         }\r
313 \r
314                                                      ],\r
315                                                      requestParameters : requestParameters\r
316                         };\r
317                 \r
318                         var deleteVFModuleRequestDetails = {\r
319                                         modelInfo : {\r
320                                                 modelType : "VFModule",\r
321                                                 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e764",\r
322                                                 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab121484adc2",\r
323                                                 modelName : "model1",\r
324                                                 modelVersion : "1",\r
325                                                 modelCustomizationName: ""\r
326                                         },\r
327                                         cloudConfiguration: cloudConfiguration,\r
328                                         requestInfo : requestInfo,\r
329                                         \r
330                         };\r
331                         \r
332                 var createVnfRequestDetails = {\r
333                                 modelInfo : {\r
334                                         modelType : "vnf",\r
335                                         modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efc2",\r
336                                         modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab1214847890",\r
337                                         modelName : "model1",\r
338                                         modelVersion : "1",\r
339                                         modelCustomizationName: ""\r
340                                 },\r
341                                 requestInfo : requestInfo,\r
342                                 cloudConfiguration : cloudConfiguration,\r
343                                 relatedInstanceList: [\r
344                                         {\r
345                                             relatedInstance: {\r
346                                                instanceId: "c3514e3-5a09-55df-13ab-1babad84e7cc",\r
347                                                modelInfo: {   \r
348                                                   modelType: "service",\r
349                                                   modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",\r
350                                                   modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",\r
351                                                   modelName: "parentServiceModelName",\r
352                                                   modelVersion: "1.0"\r
353                                                }\r
354                                             }\r
355                                          }\r
356                                         ]\r
357                         };\r
358                 \r
359                         var deleteVnfRequestDetails = {\r
360                                         modelInfo : {\r
361                                                 modelType : "vnf",\r
362                                                 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efc2",\r
363                                                 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab1214847890",\r
364                                                 modelName : "model1",\r
365                                                 modelVersion : "1",\r
366                                                 modelCustomizationName: ""\r
367                                         },\r
368                                         cloudConfiguration : cloudConfiguration,\r
369                                         requestInfo : requestInfo       \r
370                         };\r
371                         var createVolumeGroupRequestDetails = {\r
372                                 modelInfo : {\r
373                                                 modelType : "volumeGroup",\r
374                                                 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efda",\r
375                                                 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab12148478fa",\r
376                                                 modelName : "model1",\r
377                                                 modelVersion : "1",\r
378                                                 modelCustomizationName: ""\r
379                                         },\r
380                                         cloudConfiguration : cloudConfiguration,\r
381                                         requestInfo : requestInfo,\r
382                                         relatedInstanceList: [\r
383                       {\r
384                           relatedInstance: {\r
385                                   instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",\r
386                                   modelInfo: {   \r
387                                           modelType: "service",\r
388                                           modelInvariantId: "ff3514e3-5a33-55df-13ab-12abad84e7ff",\r
389                                           modelNameVersionId: "fe6985cd-ea33-3346-ac12-ab121484a3fe",\r
390                                           modelName: "parentServiceModelName",\r
391                                           modelVersion: "1.0"\r
392                                   }\r
393                           }\r
394                       },\r
395                       {\r
396                           relatedInstance: {\r
397                                   instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34",\r
398                                   modelInfo: {\r
399                                           modelType: "vnf",\r
400                                           modelInvariantId: "ff5256d1-5a33-55df-13ab-12abad84e7ff",\r
401                                           modelNameVersionId: "fe6478e4-ea33-3346-ac12-ab121484a3fe",\r
402                                           modelName: "vSAMP12",\r
403                                           modelVersion: "1.0",\r
404                                           modelCustomizationName: "vSAMP12 1"\r
405                                   }\r
406                           }\r
407                       }\r
408                       ]\r
409 \r
410                                 };\r
411                         \r
412                                 var deleteVolumeGroupRequestDetails = {\r
413                                         modelInfo : {\r
414                                                 modelType : "volumeGroup",\r
415                                                 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84efda",\r
416                                                 modelNameVersionId : "9b6478e4-ea33-3346-ac12-ab12148478fa",\r
417                                                 modelName : "vIsbcOamNetwork",\r
418                                                 modelVersion : "1",\r
419                                                 modelCustomizationName: ""\r
420                                         },\r
421                                         cloudConfiguration : cloudConfiguration,\r
422                                         requestInfo : requestInfo\r
423                                 };\r
424                         \r
425                 var createNetworkRequestDetails = {\r
426                         modelInfo : {\r
427                                 modelType : "network",\r
428                                 modelInvariantId : "ab5256d1-5a33-55df-13ab-12abad84e890",\r
429                                 modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fa",\r
430                                 modelName : "vIsbcOamNetwork",\r
431                                 modelVersion : "1",\r
432                                 modelCustomizationName: ""\r
433                         },\r
434                         cloudConfiguration: cloudConfiguration,\r
435                         requestInfo : requestInfo\r
436                 };\r
437         \r
438                 var deleteNetworkRequestDetails = {\r
439                         modelInfo : {\r
440                                 modelType : "network",\r
441                                 modelId : "ff5256d1-5a33-55df-aaaa-12abad84e7ff",\r
442                                 modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fe",\r
443                                 modelName : "vIsbcOamNetwork",\r
444                                 modelVersion : "1"\r
445                         },\r
446                         relatedModelList : [\r
447                                         {\r
448                                                 relatedModel : {\r
449                                                         instanceId : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",\r
450                                                         modelInfo : {\r
451                                                                 modelType : "service",\r
452                                                                 modelId : "ff3514e3-5a33-55df-13ab-12abad84e7ff",\r
453                                                                 modelNameVersionId : "fe6985cd-ea33-3346-ac12-ab121484a3fe",\r
454                                                                 modelName : "Intercarrier Interconnect Session Border Controller",\r
455                                                                 modelVersion : "1"\r
456                                                         }\r
457                                                 }\r
458                                         },\r
459                                         {\r
460                                                 relatedModel : {\r
461                                                         instanceId : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",\r
462                                                         modelInfo : {\r
463                                                                 modelType : "vnf",\r
464                                                                 modelId : "ff5256d1-5a33-55df-13ab-12abad84e7ff",\r
465                                                                 modelNameVersionId : "fe6478e4-ea33-3346-ac12-ab121484a3fe",\r
466                                                                 modelName : "vIsbc",\r
467                                                                 modelVersion : "1"\r
468                                                         }\r
469                                                 }\r
470                                         },\r
471                                         {\r
472                                                 relatedModel : {\r
473                                                         instanceId : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",\r
474                                                         modelInfo : {\r
475                                                                 modelType : "vfModule",\r
476                                                                 modelId : "ff5256d1-5a33-55df-13ab-22abad84e7ff",\r
477                                                                 modelNameVersionId : "fe6478e4-ea33-3346-bc12-ab121484a3fe",\r
478                                                                 modelName : "vIsbcRtpExpansionModule",\r
479                                                                 modelVersion : "1"\r
480                                                         }\r
481                                                 }\r
482                                         } ]\r
483                 };\r
484         }\r
485 ]);\r