Fix for Penetration test _ Session and cookie management
[vid.git] / vid-app-common / src / main / webapp / app / vid / test / testMso.js
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * VID\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
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \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
19  */\r
20 \r
21 "use strict";\r
22 \r
23 app.config(function($logProvider){\r
24     // Optionally set to "false" to disable debug logging.\r
25     $logProvider.debugEnabled(true);\r
26 });\r
27 \r
28 app.controller("testController", [ "$scope", "$timeout", "$cookieStore", "$log", "COMPONENT", "DataService", "PropertyService",\r
29     function($scope, $timeout, $cookieStore, $log, COMPONENT, DataService, PropertyService) {\r
30 \r
31                 $scope.popup = new Object();\r
32                 $scope.isTestMode = false;\r
33 \r
34                 $scope.init = function(properties) {\r
35                         /*\r
36                          * These 2 statements should be included in non-test code.\r
37                          */\r
38                         PropertyService.setMsoMaxPollingIntervalMsec(properties.msoMaxPollingIntervalMsec);\r
39                         PropertyService.setMsoMaxPolls(properties.msoMaxPolls);\r
40 \r
41                         /*\r
42                          * "setTestMode" is only used for testing.\r
43                          */\r
44 \r
45                         setTestMode();\r
46                         \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
54                 };\r
55                 \r
56                 var TEST_MODE_COOKIE = "isTestModeEnabled";\r
57 \r
58                 var defaultMsoBaseUrl = PropertyService.getMsoBaseUrl();\r
59 \r
60                 var setTestMode = function() {\r
61                     setTestMsoMode($cookieStore.get(TEST_MODE_COOKIE));\r
62                     PropertyService.setMsoMaxPollingIntervalMsec(1000);\r
63                     PropertyService.setMsoMaxPolls(7);\r
64                 };\r
65 \r
66                 $scope.testMsoModeChanged = function() {\r
67                     setTestMsoMode($scope.isTestMsoMode);\r
68                 };\r
69 \r
70                 var setTestMsoMode = function(isEnabled) {\r
71                     $scope.isTestMsoMode = isEnabled;\r
72                     $cookieStore.put(TEST_MODE_COOKIE, isEnabled);\r
73                     if (isEnabled) {\r
74                         PropertyService.setMsoBaseUrl("testmso");\r
75                     } else {\r
76                         PropertyService.setMsoBaseUrl(defaultMsoBaseUrl);\r
77                     }\r
78                 };\r
79                 \r
80                 $scope.autoStartCommitTest = function() {\r
81                         /*\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
84                          */\r
85                         $timeout(function() {\r
86                                 // $scope.createServiceInstance();\r
87                                 // $scope.deleteServiceInstance();\r
88                                 // $scope.generateInvalidUrl404();                      \r
89                         }, 500);\r
90                 };\r
91                 \r
92                 $scope.autoStartQueryTest = function() {\r
93                         /*\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
96                          */\r
97                         $timeout(function() {\r
98                                 // $scope.queryServiceInstance();\r
99                         }, 500);\r
100                 };\r
101                 \r
102                 $scope.queryServiceInstance = function() {\r
103                         /*\r
104                          * Example of method call needed to show service instance details.\r
105                          */\r
106                         $scope.$broadcast("showComponentDetails", {\r
107                             componentId : COMPONENT.SERVICE\r
108                         });\r
109                 };\r
110         \r
111                 $scope.createServiceInstance = 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_svc_instance",\r
117                                 requestDetails : createServiceRequestDetails\r
118                         });\r
119                 };\r
120         \r
121                 $scope.deleteServiceInstance = 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_svc_instance/bc305d54-75b4-431b-adb2-eb6b9e546014",\r
127                                 requestDetails : deleteServiceRequestDetails\r
128                         });\r
129                 };\r
130         \r
131                 $scope.createVNFInstance = 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_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546099",\r
137                                 requestDetails : createVnfRequestDetails\r
138                         });\r
139                 };\r
140         \r
141                 $scope.deleteVNFInstance = 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_vnf_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/vnfs/ab9000-0009-9999",\r
147                                 requestDetails : deleteVnfRequestDetails\r
148                         });\r
149                 };\r
150                 \r
151                 $scope.createVolumeGroupInstance = function() {\r
152                         /*\r
153                          * Example of method call needed to commit an instance creation request.\r
154                          */\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
158                         });\r
159                 };\r
160         \r
161                 $scope.deleteVolumeGroupInstance = function() {\r
162                         /*\r
163                          * Example of method call needed to commit an instance deletion request.\r
164                          */\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
168                         });\r
169                 };\r
170                 $scope.createVFModuleInstance = function() {\r
171                         /*\r
172                          * Example of method call needed to commit an instance creation request.\r
173                          */\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
177                         });\r
178                 };\r
179         \r
180                 $scope.deleteVFModuleInstance = function() {\r
181                         /*\r
182                          * Example of method call needed to commit an instance deletion request.\r
183                          * \r
184                          */\r
185                         $scope.$broadcast("deleteInstance",     {\r
186                                 url : "mso_delete_vfmodule_instance/2/vnfs/ab/vfModules/a1",\r
187                                 requestDetails : deleteVFModuleRequestDetails\r
188                         });\r
189                 }\r
190                 $scope.createNetworkInstance = function() {\r
191                         $scope.$broadcast("createInstance", {\r
192                                 url : "mso_create_nw_instance/789098877777",\r
193                                 requestDetails : createNetworkRequestDetails\r
194                         });\r
195                 };\r
196         \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
201                         });\r
202                 };\r
203         \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
211                         });\r
212                 };\r
213         \r
214                 $scope.generateInvalidUrl404 = function() {\r
215                         var baseUrl = PropertyService.getMsoBaseUrl();\r
216                         PropertyService.setMsoBaseUrl("/INVALID_STRING/");\r
217 \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
224                                 }\r
225                         });     \r
226                 };\r
227         \r
228                 $scope.generateInvalidUrl405 = function() {\r
229                         $scope.$broadcast("createInstance", {\r
230                                 url : "INVALID_STRING_mso_create_svc_instance",\r
231                                 requestDetails : createServiceRequestDetails\r
232                         });\r
233                 };\r
234         \r
235                 /*\r
236                  * Test data objects:\r
237                  */\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
245                                 source: "VID",\r
246                                 suppressRollback: true\r
247                 };\r
248                 var subscriberInfo = {\r
249                         globalSubscriberId : "C12345",\r
250                         subscriberName : "General Electric Division 12"\r
251                 };\r
252         \r
253                 var cloudConfiguration = {\r
254                                 lcpCloudRegionId: "cloudregion1",\r
255                                 tenantId: "df5256d1-5a33-55df-13ab-12abad843456"\r
256                                 \r
257                 };\r
258                 var createServiceRequestDetails = {\r
259                         modelInfo : {\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
266                         },\r
267                         subscriberInfo : subscriberInfo,\r
268                         requestInfo : requestInfo,\r
269                         requestParameters : requestParameters\r
270                 };\r
271         \r
272                 var deleteServiceRequestDetails = {\r
273                                 modelInfo : {\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
280                                 },\r
281                                 requestInfo : requestInfo\r
282                 };\r
283                 \r
284                 var createVFModuleRequestDetails = {\r
285                                 modelInfo : {\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
292                                 },\r
293                                 cloudConfiguration: cloudConfiguration,\r
294                                 requestInfo : requestInfo,\r
295                                 relatedInstanceList: [\r
296                                                                                 {\r
297                                                                                     relatedInstance: {\r
298                                                                                        instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",\r
299                                                                                        modelInfo: {   \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
305                                                                                        }\r
306                                                                                     }\r
307                                                                                  },\r
308                                                         {\r
309                                                            relatedInstance: {\r
310                                                               instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",\r
311                                                               modelInfo: {   \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
317                                                               }\r
318                                                            }\r
319                                                         },\r
320                                                         {\r
321                                                            relatedInstance: {\r
322                                                               instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34",\r
323                                                               modelInfo: {\r
324                                                                  modelType: "vnf",\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
330                                                               }\r
331                                                            }\r
332                                                         }\r
333 \r
334                                                      ],\r
335                                                      requestParameters : requestParameters\r
336                         };\r
337                 \r
338                         var deleteVFModuleRequestDetails = {\r
339                                         modelInfo : {\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
346                                         },\r
347                                         cloudConfiguration: cloudConfiguration,\r
348                                         requestInfo : requestInfo,\r
349                                         \r
350                         };\r
351                         \r
352                 var createVnfRequestDetails = {\r
353                                 modelInfo : {\r
354                                         modelType : "vnf",\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
360                                 },\r
361                                 requestInfo : requestInfo,\r
362                                 cloudConfiguration : cloudConfiguration,\r
363                                 relatedInstanceList: [\r
364                                         {\r
365                                             relatedInstance: {\r
366                                                instanceId: "c3514e3-5a09-55df-13ab-1babad84e7cc",\r
367                                                modelInfo: {   \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
373                                                }\r
374                                             }\r
375                                          }\r
376                                         ]\r
377                         };\r
378                 \r
379                         var deleteVnfRequestDetails = {\r
380                                         modelInfo : {\r
381                                                 modelType : "vnf",\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
387                                         },\r
388                                         cloudConfiguration : cloudConfiguration,\r
389                                         requestInfo : requestInfo       \r
390                         };\r
391                         var createVolumeGroupRequestDetails = {\r
392                                 modelInfo : {\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
399                                         },\r
400                                         cloudConfiguration : cloudConfiguration,\r
401                                         requestInfo : requestInfo,\r
402                                         relatedInstanceList: [\r
403                       {\r
404                           relatedInstance: {\r
405                                   instanceId: "c3514e3-5a33-55df-13ab-12abad84e7cc",\r
406                                   modelInfo: {   \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
412                                   }\r
413                           }\r
414                       },\r
415                       {\r
416                           relatedInstance: {\r
417                                   instanceId: "fab256d1-5a33-55df-13ab-12abad8445ff34",\r
418                                   modelInfo: {\r
419                                           modelType: "vnf",\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
425                                   }\r
426                           }\r
427                       }\r
428                       ]\r
429 \r
430                                 };\r
431                         \r
432                                 var deleteVolumeGroupRequestDetails = {\r
433                                         modelInfo : {\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
440                                         },\r
441                                         cloudConfiguration : cloudConfiguration,\r
442                                         requestInfo : requestInfo\r
443                                 };\r
444                         \r
445                 var createNetworkRequestDetails = {\r
446                         modelInfo : {\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
453                         },\r
454                         cloudConfiguration: cloudConfiguration,\r
455                         requestInfo : requestInfo\r
456                 };\r
457         \r
458                 var deleteNetworkRequestDetails = {\r
459                         modelInfo : {\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
464                                 modelVersion : "1"\r
465                         },\r
466                         relatedModelList : [\r
467                                         {\r
468                                                 relatedModel : {\r
469                                                         instanceId : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",\r
470                                                         modelInfo : {\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
475                                                                 modelVersion : "1"\r
476                                                         }\r
477                                                 }\r
478                                         },\r
479                                         {\r
480                                                 relatedModel : {\r
481                                                         instanceId : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",\r
482                                                         modelInfo : {\r
483                                                                 modelType : "vnf",\r
484                                                                 modelId : "ff5256d1-5a33-55df-13ab-12abad84e7ff",\r
485                                                                 modelNameVersionId : "fe6478e4-ea33-3346-ac12-ab121484a3fe",\r
486                                                                 modelName : "vIsbc",\r
487                                                                 modelVersion : "1"\r
488                                                         }\r
489                                                 }\r
490                                         },\r
491                                         {\r
492                                                 relatedModel : {\r
493                                                         instanceId : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",\r
494                                                         modelInfo : {\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
499                                                                 modelVersion : "1"\r
500                                                         }\r
501                                                 }\r
502                                         } ]\r
503                 };\r
504         }\r
505 ]);\r