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