281a0cbe6285f30f07b05f8888fb1a77fc52c51c
[portal.git] / ecomp-portal-BE-common / src / test / java / org / onap / portalapp / portal / controller / RolesApprovalSystemControllerTest.java
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 package org.onap.portalapp.portal.controller;
39
40 import static org.junit.Assert.assertEquals;
41
42 import java.util.ArrayList;
43 import java.util.List;
44
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
47
48 import org.junit.Before;
49 import org.junit.Test;
50 import org.mockito.InjectMocks;
51 import org.mockito.Mock;
52 import org.mockito.Mockito;
53 import org.mockito.MockitoAnnotations;
54 import org.onap.portalapp.externalsystemapproval.model.ExternalSystemRoleApproval;
55 import org.onap.portalapp.externalsystemapproval.model.ExternalSystemUser;
56 import org.onap.portalapp.portal.controller.RolesApprovalSystemController;
57 import org.onap.portalapp.portal.ecomp.model.PortalRestResponse;
58 import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum;
59 import org.onap.portalapp.portal.framework.MockitoTestSuite;
60 import org.onap.portalapp.portal.service.UserRolesService;
61 import org.onap.portalapp.portal.transport.ExternalRequestFieldsValidator;
62
63 public class RolesApprovalSystemControllerTest extends MockitoTestSuite {
64
65         @Mock
66         UserRolesService userRolesService;
67
68         @InjectMocks
69         RolesApprovalSystemController rolesApprovalSystemController = new RolesApprovalSystemController();
70
71         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
72
73         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
74         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
75         NullPointerException nullPointerException = new NullPointerException();
76
77         @Before
78         public void setup() {
79                 MockitoAnnotations.initMocks(this);
80         }
81
82         @Test
83         public void postUserProfileIfRolesNullTest() {
84                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
85                 expectedportalRestResponse.setMessage("Request has no roles");
86                 expectedportalRestResponse.setResponse("save user profile failed");
87                 PortalRestStatusEnum portalRestStatusEnum = null;
88                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
89                 ExternalSystemUser extSysUser = new ExternalSystemUser();
90                 extSysUser.setApplicationName("Test_App");
91                 extSysUser.setLoginId("1");
92                 extSysUser.setMyloginrequestId("Test");
93                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = null;
94                 extSysUser.setRoles(externalSystemRoleApprovalList);
95
96                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
97                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
98                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
99         }
100
101         @Test
102         public void postUserProfileTest() {
103                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
104                 expectedportalRestResponse.setMessage("Saved Successfully");
105                 expectedportalRestResponse.setResponse("Success");
106                 PortalRestStatusEnum portalRestStatusEnum = null;
107                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
108                 ExternalSystemUser extSysUser = new ExternalSystemUser();
109                 extSysUser.setApplicationName("Test_App");
110                 extSysUser.setLoginId("1");
111                 extSysUser.setMyloginrequestId("Test");
112                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
113                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
114                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
115                 extSysUser.setRoles(externalSystemRoleApprovalList);
116                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
117                                 "Saved Successfully");
118
119                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
120                                 .thenReturn(externalRequestFieldsValidator);
121                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
122                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
123                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
124         }
125
126         @Test
127         public void postUserProfileFailureTest() {
128                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
129                 expectedportalRestResponse.setMessage("Received Bad String");
130                 expectedportalRestResponse.setResponse("save user profile failed");
131                 PortalRestStatusEnum portalRestStatusEnum = null;
132                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
133                 ExternalSystemUser extSysUser = new ExternalSystemUser();
134                 extSysUser.setApplicationName("Test_App");
135                 extSysUser.setLoginId("1");
136                 extSysUser.setMyloginrequestId("Test");
137                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
138                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
139                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
140                 extSysUser.setRoles(externalSystemRoleApprovalList);
141                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
142                                 "Received Bad String");
143                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
144                                 .thenReturn(externalRequestFieldsValidator);
145
146                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
147                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
148                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
149         }
150
151         @Test
152         public void postUserProfileExceptionTest() {
153                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
154                 expectedportalRestResponse.setMessage(null);
155                 expectedportalRestResponse.setResponse("save user profile failed");
156                 PortalRestStatusEnum portalRestStatusEnum = null;
157                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
158                 ExternalSystemUser extSysUser = new ExternalSystemUser();
159                 extSysUser.setApplicationName("Test_App");
160                 extSysUser.setLoginId("1");
161                 extSysUser.setMyloginrequestId("Test");
162                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
163                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
164                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
165                 extSysUser.setRoles(externalSystemRoleApprovalList);
166                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST")).thenThrow(nullPointerException);
167                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
168                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
169                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
170         }
171
172         @Test
173         public void putUserProfileIfLoginIdNullTest() {
174                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
175                 expectedportalRestResponse.setMessage("Request has no login ID");
176                 expectedportalRestResponse.setResponse("save user profile failed");
177                 PortalRestStatusEnum portalRestStatusEnum = null;
178                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
179                 ExternalSystemUser extSysUser = new ExternalSystemUser();
180                 extSysUser.setApplicationName("Test_App");
181                 extSysUser.setLoginId(null);
182                 extSysUser.setMyloginrequestId("Test");
183                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
184                 extSysUser.setRoles(externalSystemRoleApprovalList);
185                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
186                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
187                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
188         }
189
190         @Test
191         public void putUserProfileTest() {
192                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
193                 expectedportalRestResponse.setMessage("Updated Successfully");
194                 expectedportalRestResponse.setResponse("Success");
195                 PortalRestStatusEnum portalRestStatusEnum = null;
196                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
197                 ExternalSystemUser extSysUser = new ExternalSystemUser();
198                 extSysUser.setApplicationName("Test_App");
199                 extSysUser.setLoginId("1");
200                 extSysUser.setMyloginrequestId("Test");
201                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
202                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
203                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
204                 extSysUser.setRoles(externalSystemRoleApprovalList);
205                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
206                                 "Updated Successfully");
207
208                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
209                                 .thenReturn(externalRequestFieldsValidator);
210                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
211                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
212                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
213         }
214
215         @Test
216         public void putUserProfileFailureTest() {
217                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
218                 expectedportalRestResponse.setMessage("Received Bad String");
219                 expectedportalRestResponse.setResponse("save user profile failed");
220                 PortalRestStatusEnum portalRestStatusEnum = null;
221                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
222                 ExternalSystemUser extSysUser = new ExternalSystemUser();
223                 extSysUser.setApplicationName("Test_App");
224                 extSysUser.setLoginId("1");
225                 extSysUser.setMyloginrequestId("Test");
226                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
227                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
228                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
229                 extSysUser.setRoles(externalSystemRoleApprovalList);
230                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
231                                 "Received Bad String");
232
233                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
234                                 .thenReturn(externalRequestFieldsValidator);
235                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
236                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
237
238                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
239         }
240
241         @Test
242         public void putUserProfileExceptionTest() {
243                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
244                 expectedportalRestResponse.setMessage(null);
245                 expectedportalRestResponse.setResponse("save user profile failed");
246                 PortalRestStatusEnum portalRestStatusEnum = null;
247                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
248                 ExternalSystemUser extSysUser = new ExternalSystemUser();
249                 extSysUser.setApplicationName("Test_App");
250                 extSysUser.setLoginId("1");
251                 extSysUser.setMyloginrequestId("Test");
252                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
253                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
254                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
255                 extSysUser.setRoles(externalSystemRoleApprovalList);
256                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT")).thenThrow(nullPointerException);
257                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
258                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
259
260                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
261         }
262
263         @Test
264         public void deleteUserProfileIfApplicationNameNullTest() {
265                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
266                 expectedportalRestResponse.setMessage("Request has no application name");
267                 expectedportalRestResponse.setResponse("delete user profile failed");
268                 PortalRestStatusEnum portalRestStatusEnum = null;
269                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
270                 ExternalSystemUser extSysUser = new ExternalSystemUser();
271                 extSysUser.setApplicationName(null);
272                 extSysUser.setLoginId("1");
273                 extSysUser.setMyloginrequestId("Test");
274                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
275                 extSysUser.setRoles(externalSystemRoleApprovalList);
276                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
277                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
278
279                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
280         }
281
282         @Test
283         public void deleteUserProfileIfMyloginrequestIdNullTest() {
284                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
285                 expectedportalRestResponse.setMessage("Request has no request ID");
286                 expectedportalRestResponse.setResponse("delete user profile failed");
287                 PortalRestStatusEnum portalRestStatusEnum = null;
288                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
289                 ExternalSystemUser extSysUser = new ExternalSystemUser();
290                 extSysUser.setApplicationName("Test");
291                 extSysUser.setLoginId("1");
292                 extSysUser.setMyloginrequestId(null);
293                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
294                 extSysUser.setRoles(externalSystemRoleApprovalList);
295                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
296                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
297                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
298         }
299
300         @Test
301         public void deleteUserProfileTest() {
302                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
303                 expectedportalRestResponse.setMessage("Deleted Successfully");
304                 expectedportalRestResponse.setResponse("Success");
305                 PortalRestStatusEnum portalRestStatusEnum = null;
306                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
307                 ExternalSystemUser extSysUser = new ExternalSystemUser();
308                 extSysUser.setApplicationName("Test_App");
309                 extSysUser.setLoginId("1");
310                 extSysUser.setMyloginrequestId("Test");
311                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
312                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
313                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
314                 extSysUser.setRoles(externalSystemRoleApprovalList);
315                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
316                                 "Success");
317
318                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
319                                 .thenReturn(externalRequestFieldsValidator);
320                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
321                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
322
323                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
324         }
325
326         @Test
327         public void deleteUserProfileFailureTest() {
328                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
329                 expectedportalRestResponse.setMessage("failed");
330                 expectedportalRestResponse.setResponse("delete user profile failed");
331                 PortalRestStatusEnum portalRestStatusEnum = null;
332                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
333                 ExternalSystemUser extSysUser = new ExternalSystemUser();
334                 extSysUser.setApplicationName("Test_App");
335                 extSysUser.setLoginId("1");
336                 extSysUser.setMyloginrequestId("Test");
337                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
338                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
339                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
340                 extSysUser.setRoles(externalSystemRoleApprovalList);
341                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
342                                 "failed");
343
344                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
345                                 .thenReturn(externalRequestFieldsValidator);
346                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
347                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
348
349                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
350         }
351
352         @Test
353         public void deleteUserProfileExceptionTest() {
354                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
355                 expectedportalRestResponse.setMessage(null);
356                 expectedportalRestResponse.setResponse("delete user profile failed");
357                 PortalRestStatusEnum portalRestStatusEnum = null;
358                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
359                 ExternalSystemUser extSysUser = new ExternalSystemUser();
360                 extSysUser.setApplicationName("Test_App");
361                 extSysUser.setLoginId("1");
362                 extSysUser.setMyloginrequestId("Test");
363                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
364                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
365                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
366                 extSysUser.setRoles(externalSystemRoleApprovalList);
367                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE")).thenThrow(nullPointerException);
368                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
369                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
370
371                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
372         }
373 }