1 package org.openecomp.portalapp.portal.test.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.portal.controller.AppsControllerExternalRequest;
18 import org.openecomp.portalapp.portal.domain.EPApp;
19 import org.openecomp.portalapp.portal.domain.EPUser;
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.AdminRolesService;
23 import org.openecomp.portalapp.portal.service.EPAppService;
24 import org.openecomp.portalapp.portal.service.PortalAdminService;
25 import org.openecomp.portalapp.portal.service.UserService;
26 import org.openecomp.portalapp.portal.service.UserServiceImpl;
27 import org.openecomp.portalapp.portal.test.core.MockEPUser;
28 import org.openecomp.portalapp.portal.transport.FieldsValidator;
29 import org.openecomp.portalapp.portal.transport.OnboardingApp;
30 import org.openecomp.portalapp.test.framework.MockitoTestSuite;
31 import org.openecomp.portalapp.util.EPUserUtils;
33 public class AppsControllerExternalRequestTest extends MockitoTestSuite {
36 AdminRolesService adminRolesService;
39 EPAppService appService;
42 PortalAdminService portalAdminService;
45 UserService userService = new UserServiceImpl();
48 AppsControllerExternalRequest appsControllerExternalRequest = new AppsControllerExternalRequest();
52 MockitoAnnotations.initMocks(this);
55 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
57 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
58 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
59 NullPointerException nullPointerException = new NullPointerException();
61 MockEPUser mockUser = new MockEPUser();
63 EPUserUtils ePUserUtils = new EPUserUtils();
66 public void postPortalAdminIfUSerNullTest() {
67 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
68 expectedportalRestResponse.setMessage("Missing required field: email, loginId, or loginPwd");
69 expectedportalRestResponse.setResponse(null);
70 PortalRestStatusEnum portalRestStatusEnum = null;
71 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
72 EPUser user = mockUser.mockEPUser();
73 user.setEmail("guestT@test.portal.onap.org");
74 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
75 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
76 .postPortalAdmin(mockedRequest, mockedResponse, user);
77 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
81 public void postPortalAdminTest() {
82 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
83 expectedportalRestResponse.setMessage("java.lang.NullPointerException");
84 expectedportalRestResponse.setResponse(null);
85 PortalRestStatusEnum portalRestStatusEnum = null;
86 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
87 EPUser user = mockUser.mockEPUser();
88 user.setEmail("guestT@test.portal.onap.org");
89 user.setLoginPwd("pwd");
90 user.setLoginId("Test");
91 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
92 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenThrow(nullPointerException);
93 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
94 .postPortalAdmin(mockedRequest, mockedResponse, user);
95 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
99 public void postPortalAdminCreateUserIfNotFoundTest() throws Exception {
100 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
101 expectedportalRestResponse.setMessage(null);
102 expectedportalRestResponse.setResponse(null);
103 PortalRestStatusEnum portalRestStatusEnum = null;
104 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
105 EPUser user = mockUser.mockEPUser();
106 user.setEmail("guestT@test.portal.onap.org");
107 user.setLoginPwd("pwd");
108 user.setLoginId("Test");
109 List<EPUser> expectedList = null;
110 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
111 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
112 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
113 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
114 .postPortalAdmin(mockedRequest, mockedResponse, user);
115 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
119 public void postPortalAdminCreateUserIfFoundTest() throws Exception {
120 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
121 expectedportalRestResponse.setMessage(null);
122 expectedportalRestResponse.setResponse(null);
123 PortalRestStatusEnum portalRestStatusEnum = null;
124 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
125 EPUser user = mockUser.mockEPUser();
126 user.setEmail("guestT@test.portal.onap.org");
127 user.setLoginPwd("pwd");
128 user.setLoginId("Test");
129 List<EPUser> expectedList = new ArrayList<EPUser>();
130 expectedList.add(user);
131 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
132 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
133 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
134 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
135 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
136 .postPortalAdmin(mockedRequest, mockedResponse, user);
137 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
141 public void postPortalAdminCreateUserIfNotSuperAdminTest() throws Exception {
142 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
143 expectedportalRestResponse.setMessage(null);
144 expectedportalRestResponse.setResponse(null);
145 PortalRestStatusEnum portalRestStatusEnum = null;
146 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
147 EPUser user = mockUser.mockEPUser();
148 user.setEmail("guestT@test.portal.onap.org");
149 user.setLoginPwd("pwd");
150 user.setLoginId("Test");
151 List<EPUser> expectedList = new ArrayList<EPUser>();
152 expectedList.add(user);
153 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
154 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
155 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
156 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
158 FieldsValidator expectedFieldValidator = new FieldsValidator();
159 expectedFieldValidator.setHttpStatusCode((long) 200);
160 expectedFieldValidator.setFields(null);
161 expectedFieldValidator.setErrorCode(null);
162 Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
164 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
165 .postPortalAdmin(mockedRequest, mockedResponse, user);
166 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
170 public void postPortalAdminCreateUserIfFieldValidatorErrorTest() throws Exception {
171 FieldsValidator expectedFieldValidator = new FieldsValidator();
172 expectedFieldValidator.setHttpStatusCode((long) 500);
173 expectedFieldValidator.setFields(null);
174 expectedFieldValidator.setErrorCode(null);
175 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
176 expectedportalRestResponse.setMessage("FieldsValidator [httpStatusCode=500, errorCode=null, fields=null]");
177 expectedportalRestResponse.setResponse(null);
178 PortalRestStatusEnum portalRestStatusEnum = null;
179 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
180 EPUser user = mockUser.mockEPUser();
181 user.setEmail("guestT@test.portal.onap.org");
182 user.setLoginPwd("pwd");
183 user.setLoginId("Test");
184 List<EPUser> expectedList = new ArrayList<EPUser>();
185 expectedList.add(user);
186 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
187 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
188 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
189 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
190 Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
191 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
192 .postPortalAdmin(mockedRequest, mockedResponse, user);
193 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
197 public void getOnboardAppExternalTest() {
198 EPApp epApp = new EPApp();
199 Long appId = (long) 1;
200 Mockito.when(appService.getApp(appId)).thenReturn(epApp);
201 OnboardingApp expectedApp = new OnboardingApp();
202 Mockito.doNothing().when(appService).createOnboardingFromApp(epApp, expectedApp);
203 OnboardingApp actualApp = appsControllerExternalRequest.getOnboardAppExternal(mockedRequest, mockedResponse,
205 assertEquals(expectedApp.getClass(), actualApp.getClass());
209 public void postOnboardAppExternalExceptionTest() {
210 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
211 expectedportalRestResponse.setMessage("Unexpected field: id");
212 expectedportalRestResponse.setResponse(null);
213 PortalRestStatusEnum portalRestStatusEnum = null;
214 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
216 OnboardingApp expectedOnboardingApp = new OnboardingApp();
217 expectedOnboardingApp.id = (long) 1;
219 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
220 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
221 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
225 public void postOnboardAppExternalTest() {
226 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
227 expectedportalRestResponse.setMessage(
228 "Missing required field: name, url, restUrl, restrictedApp, isOpen, isEnabled, myLoginsAppOwner");
229 expectedportalRestResponse.setResponse(null);
230 PortalRestStatusEnum portalRestStatusEnum = null;
231 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
233 OnboardingApp expectedOnboardingApp = new OnboardingApp();
234 expectedOnboardingApp.id = null;
236 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
237 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
238 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
243 public void putOnboardAppExternalifAppNullTest() {
244 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
245 expectedportalRestResponse.setMessage("Unexpected value for field: id");
246 expectedportalRestResponse.setResponse(null);
247 PortalRestStatusEnum portalRestStatusEnum = null;
248 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
250 OnboardingApp expectedOnboardingApp = new OnboardingApp();
251 expectedOnboardingApp.id = null;
253 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
254 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
255 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
259 public void putOnboardAppExternalIfOnboardingAppDetailsNullTest() {
260 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
261 expectedportalRestResponse.setMessage(
262 "Missing required field: name, url, restUrl, restrictedApp, isOpen, isEnabled, myLoginsAppOwner");
263 expectedportalRestResponse.setResponse(null);
264 PortalRestStatusEnum portalRestStatusEnum = null;
265 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
266 Long appId = (long) 1;
267 OnboardingApp expectedOnboardingApp = new OnboardingApp();
268 expectedOnboardingApp.id = (long) 1;
269 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
270 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
271 assertEquals(actualPortalRestResponse, expectedportalRestResponse);