1 package org.openecomp.portalapp.portal.controller;
3 import static org.junit.Assert.assertEquals;
5 import java.util.ArrayList;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
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;
26 public class RolesApprovalSystemControllerTest extends MockitoTestSuite {
29 UserRolesService userRolesService;
32 RolesApprovalSystemController rolesApprovalSystemController = new RolesApprovalSystemController();
34 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
36 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
37 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
38 NullPointerException nullPointerException = new NullPointerException();
42 MockitoAnnotations.initMocks(this);
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);
59 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
60 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
61 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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");
82 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
83 .thenReturn(externalRequestFieldsValidator);
84 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
85 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
86 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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);
109 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
110 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
111 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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);
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);
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");
171 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
172 .thenReturn(externalRequestFieldsValidator);
173 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
174 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
175 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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");
196 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
197 .thenReturn(externalRequestFieldsValidator);
198 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
199 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
201 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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);
223 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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);
242 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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);
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,
281 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
282 .thenReturn(externalRequestFieldsValidator);
283 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
284 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
286 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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,
307 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
308 .thenReturn(externalRequestFieldsValidator);
309 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
310 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
312 assertEquals(expectedportalRestResponse, actualportalRestResponse);
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);
334 assertEquals(expectedportalRestResponse, actualportalRestResponse);