e55b9a9c64142f91f93b5c2d0bff855def17210b
[portal.git] / ecomp-portal-BE-common / src / test / java / org / openecomp / portalapp / portal / controller / RolesApprovalSystemControllerTest.java
1 package org.openecomp.portalapp.portal.controller;
2
3 import static org.junit.Assert.assertEquals;
4
5 import java.util.ArrayList;
6 import java.util.List;
7
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.mockito.InjectMocks;
14 import org.mockito.Mock;
15 import org.mockito.Mockito;
16 import org.mockito.MockitoAnnotations;
17 import org.openecomp.portalapp.externalsystemapproval.model.ExternalSystemRoleApproval;
18 import org.openecomp.portalapp.externalsystemapproval.model.ExternalSystemUser;
19 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
20 import org.openecomp.portalapp.portal.controller.RolesApprovalSystemController;
21 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
22 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
23 import org.openecomp.portalapp.portal.service.UserRolesService;
24 import org.openecomp.portalapp.portal.transport.ExternalRequestFieldsValidator;
25
26 public class RolesApprovalSystemControllerTest extends MockitoTestSuite {
27
28         @Mock
29         UserRolesService userRolesService;
30
31         @InjectMocks
32         RolesApprovalSystemController rolesApprovalSystemController = new RolesApprovalSystemController();
33
34         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
35
36         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
37         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
38         NullPointerException nullPointerException = new NullPointerException();
39
40         @Before
41         public void setup() {
42                 MockitoAnnotations.initMocks(this);
43         }
44
45         @Test
46         public void postUserProfileIfRolesNullTest() {
47                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
48                 expectedportalRestResponse.setMessage("Request has no roles");
49                 expectedportalRestResponse.setResponse("save user profile failed");
50                 PortalRestStatusEnum portalRestStatusEnum = null;
51                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
52                 ExternalSystemUser extSysUser = new ExternalSystemUser();
53                 extSysUser.setApplicationName("Test_App");
54                 extSysUser.setLoginId("1");
55                 extSysUser.setMyloginrequestId("Test");
56                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = null;
57                 extSysUser.setRoles(externalSystemRoleApprovalList);
58
59                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
60                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
61                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
62         }
63
64         @Test
65         public void postUserProfileTest() {
66                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
67                 expectedportalRestResponse.setMessage("Saved Successfully");
68                 expectedportalRestResponse.setResponse("Success");
69                 PortalRestStatusEnum portalRestStatusEnum = null;
70                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
71                 ExternalSystemUser extSysUser = new ExternalSystemUser();
72                 extSysUser.setApplicationName("Test_App");
73                 extSysUser.setLoginId("1");
74                 extSysUser.setMyloginrequestId("Test");
75                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
76                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
77                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
78                 extSysUser.setRoles(externalSystemRoleApprovalList);
79                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
80                                 "Saved Successfully");
81
82                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
83                                 .thenReturn(externalRequestFieldsValidator);
84                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
85                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
86                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
87         }
88
89         @Test
90         public void postUserProfileFailureTest() {
91                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
92                 expectedportalRestResponse.setMessage("Received Bad String");
93                 expectedportalRestResponse.setResponse("save user profile failed");
94                 PortalRestStatusEnum portalRestStatusEnum = null;
95                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
96                 ExternalSystemUser extSysUser = new ExternalSystemUser();
97                 extSysUser.setApplicationName("Test_App");
98                 extSysUser.setLoginId("1");
99                 extSysUser.setMyloginrequestId("Test");
100                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
101                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
102                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
103                 extSysUser.setRoles(externalSystemRoleApprovalList);
104                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
105                                 "Received Bad String");
106                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
107                                 .thenReturn(externalRequestFieldsValidator);
108
109                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
110                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
111                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
112         }
113
114         @Test
115         public void postUserProfileExceptionTest() {
116                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
117                 expectedportalRestResponse.setMessage(null);
118                 expectedportalRestResponse.setResponse("save user profile failed");
119                 PortalRestStatusEnum portalRestStatusEnum = null;
120                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
121                 ExternalSystemUser extSysUser = new ExternalSystemUser();
122                 extSysUser.setApplicationName("Test_App");
123                 extSysUser.setLoginId("1");
124                 extSysUser.setMyloginrequestId("Test");
125                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
126                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
127                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
128                 extSysUser.setRoles(externalSystemRoleApprovalList);
129                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST")).thenThrow(nullPointerException);
130                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
131                                 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
132                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
133         }
134
135         @Test
136         public void putUserProfileIfLoginIdNullTest() {
137                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
138                 expectedportalRestResponse.setMessage("Request has no login ID");
139                 expectedportalRestResponse.setResponse("save user profile failed");
140                 PortalRestStatusEnum portalRestStatusEnum = null;
141                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
142                 ExternalSystemUser extSysUser = new ExternalSystemUser();
143                 extSysUser.setApplicationName("Test_App");
144                 extSysUser.setLoginId(null);
145                 extSysUser.setMyloginrequestId("Test");
146                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
147                 extSysUser.setRoles(externalSystemRoleApprovalList);
148                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
149                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
150                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
151         }
152
153         @Test
154         public void putUserProfileTest() {
155                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
156                 expectedportalRestResponse.setMessage("Updated Successfully");
157                 expectedportalRestResponse.setResponse("Success");
158                 PortalRestStatusEnum portalRestStatusEnum = null;
159                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
160                 ExternalSystemUser extSysUser = new ExternalSystemUser();
161                 extSysUser.setApplicationName("Test_App");
162                 extSysUser.setLoginId("1");
163                 extSysUser.setMyloginrequestId("Test");
164                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
165                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
166                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
167                 extSysUser.setRoles(externalSystemRoleApprovalList);
168                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
169                                 "Updated Successfully");
170
171                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
172                                 .thenReturn(externalRequestFieldsValidator);
173                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
174                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
175                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
176         }
177
178         @Test
179         public void putUserProfileFailureTest() {
180                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
181                 expectedportalRestResponse.setMessage("Received Bad String");
182                 expectedportalRestResponse.setResponse("save user profile failed");
183                 PortalRestStatusEnum portalRestStatusEnum = null;
184                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
185                 ExternalSystemUser extSysUser = new ExternalSystemUser();
186                 extSysUser.setApplicationName("Test_App");
187                 extSysUser.setLoginId("1");
188                 extSysUser.setMyloginrequestId("Test");
189                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
190                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
191                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
192                 extSysUser.setRoles(externalSystemRoleApprovalList);
193                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
194                                 "Received Bad String");
195
196                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
197                                 .thenReturn(externalRequestFieldsValidator);
198                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
199                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
200
201                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
202         }
203
204         @Test
205         public void putUserProfileExceptionTest() {
206                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
207                 expectedportalRestResponse.setMessage(null);
208                 expectedportalRestResponse.setResponse("save user profile failed");
209                 PortalRestStatusEnum portalRestStatusEnum = null;
210                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
211                 ExternalSystemUser extSysUser = new ExternalSystemUser();
212                 extSysUser.setApplicationName("Test_App");
213                 extSysUser.setLoginId("1");
214                 extSysUser.setMyloginrequestId("Test");
215                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
216                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
217                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
218                 extSysUser.setRoles(externalSystemRoleApprovalList);
219                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT")).thenThrow(nullPointerException);
220                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
221                                 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
222
223                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
224         }
225
226         @Test
227         public void deleteUserProfileIfApplicationNameNullTest() {
228                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
229                 expectedportalRestResponse.setMessage("Request has no application name");
230                 expectedportalRestResponse.setResponse("delete user profile failed");
231                 PortalRestStatusEnum portalRestStatusEnum = null;
232                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
233                 ExternalSystemUser extSysUser = new ExternalSystemUser();
234                 extSysUser.setApplicationName(null);
235                 extSysUser.setLoginId("1");
236                 extSysUser.setMyloginrequestId("Test");
237                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
238                 extSysUser.setRoles(externalSystemRoleApprovalList);
239                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
240                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
241
242                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
243         }
244
245         @Test
246         public void deleteUserProfileIfMyloginrequestIdNullTest() {
247                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
248                 expectedportalRestResponse.setMessage("Request has no request ID");
249                 expectedportalRestResponse.setResponse("delete user profile failed");
250                 PortalRestStatusEnum portalRestStatusEnum = null;
251                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
252                 ExternalSystemUser extSysUser = new ExternalSystemUser();
253                 extSysUser.setApplicationName("Test");
254                 extSysUser.setLoginId("1");
255                 extSysUser.setMyloginrequestId(null);
256                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
257                 extSysUser.setRoles(externalSystemRoleApprovalList);
258                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
259                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
260                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
261         }
262
263         @Test
264         public void deleteUserProfileTest() {
265                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
266                 expectedportalRestResponse.setMessage("Deleted Successfully");
267                 expectedportalRestResponse.setResponse("Success");
268                 PortalRestStatusEnum portalRestStatusEnum = null;
269                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
270                 ExternalSystemUser extSysUser = new ExternalSystemUser();
271                 extSysUser.setApplicationName("Test_App");
272                 extSysUser.setLoginId("1");
273                 extSysUser.setMyloginrequestId("Test");
274                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
275                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
276                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
277                 extSysUser.setRoles(externalSystemRoleApprovalList);
278                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
279                                 "Success");
280
281                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
282                                 .thenReturn(externalRequestFieldsValidator);
283                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
284                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
285
286                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
287         }
288
289         @Test
290         public void deleteUserProfileFailureTest() {
291                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
292                 expectedportalRestResponse.setMessage("failed");
293                 expectedportalRestResponse.setResponse("delete user profile failed");
294                 PortalRestStatusEnum portalRestStatusEnum = null;
295                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
296                 ExternalSystemUser extSysUser = new ExternalSystemUser();
297                 extSysUser.setApplicationName("Test_App");
298                 extSysUser.setLoginId("1");
299                 extSysUser.setMyloginrequestId("Test");
300                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
301                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
302                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
303                 extSysUser.setRoles(externalSystemRoleApprovalList);
304                 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
305                                 "failed");
306
307                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
308                                 .thenReturn(externalRequestFieldsValidator);
309                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
310                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
311
312                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
313         }
314
315         @Test
316         public void deleteUserProfileExceptionTest() {
317                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
318                 expectedportalRestResponse.setMessage(null);
319                 expectedportalRestResponse.setResponse("delete user profile failed");
320                 PortalRestStatusEnum portalRestStatusEnum = null;
321                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
322                 ExternalSystemUser extSysUser = new ExternalSystemUser();
323                 extSysUser.setApplicationName("Test_App");
324                 extSysUser.setLoginId("1");
325                 extSysUser.setMyloginrequestId("Test");
326                 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
327                 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
328                 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
329                 extSysUser.setRoles(externalSystemRoleApprovalList);
330                 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE")).thenThrow(nullPointerException);
331                 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
332                                 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
333
334                 assertEquals(expectedportalRestResponse, actualportalRestResponse);
335         }
336 }