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 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
71 EPUser user = mockUser.mockEPUser();
72 user.setEmail("guestT@test.portal.onap.org");
73 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
74 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
75 .postPortalAdmin(mockedRequest, mockedResponse, user);
76 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
80 public void postPortalAdminTest() {
81 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
82 expectedportalRestResponse.setMessage("java.lang.NullPointerException");
83 expectedportalRestResponse.setResponse(null);
84 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
85 EPUser user = mockUser.mockEPUser();
86 user.setEmail("guestT@test.portal.onap.org");
87 user.setLoginPwd("pwd");
88 user.setLoginId("Test");
89 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
90 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenThrow(nullPointerException);
91 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
92 .postPortalAdmin(mockedRequest, mockedResponse, user);
93 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
97 public void postPortalAdminCreateUserIfNotFoundTest() throws Exception {
98 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
99 expectedportalRestResponse.setMessage(null);
100 expectedportalRestResponse.setResponse(null);
101 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
102 EPUser user = mockUser.mockEPUser();
103 user.setEmail("guestT@test.portal.onap.org");
104 user.setLoginPwd("pwd");
105 user.setLoginId("Test");
106 List<EPUser> expectedList = null;
107 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
108 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
109 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
110 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
111 .postPortalAdmin(mockedRequest, mockedResponse, user);
112 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
116 public void postPortalAdminCreateUserIfFoundTest() throws Exception {
117 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
118 expectedportalRestResponse.setMessage(null);
119 expectedportalRestResponse.setResponse(null);
120 expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK);
121 EPUser user = mockUser.mockEPUser();
122 user.setEmail("guestT@test.portal.onap.org");
123 user.setLoginPwd("pwd");
124 user.setLoginId("Test");
125 List<EPUser> expectedList = new ArrayList<EPUser>();
126 expectedList.add(user);
127 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
128 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
129 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
130 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
131 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
132 .postPortalAdmin(mockedRequest, mockedResponse, user);
133 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
137 public void postPortalAdminCreateUserIfNotSuperAdminTest() throws Exception {
138 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
139 expectedportalRestResponse.setMessage(null);
140 expectedportalRestResponse.setResponse(null);
141 expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK);
142 EPUser user = mockUser.mockEPUser();
143 user.setEmail("guestT@test.portal.onap.org");
144 user.setLoginPwd("pwd");
145 user.setLoginId("Test");
146 List<EPUser> expectedList = new ArrayList<EPUser>();
147 expectedList.add(user);
148 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
149 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
150 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
151 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
153 FieldsValidator expectedFieldValidator = new FieldsValidator();
154 expectedFieldValidator.setHttpStatusCode((long) 200);
155 expectedFieldValidator.setFields(null);
156 expectedFieldValidator.setErrorCode(null);
157 Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
159 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
160 .postPortalAdmin(mockedRequest, mockedResponse, user);
161 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
165 public void postPortalAdminCreateUserIfFieldValidatorErrorTest() throws Exception {
166 FieldsValidator expectedFieldValidator = new FieldsValidator();
167 expectedFieldValidator.setHttpStatusCode((long) 500);
168 expectedFieldValidator.setFields(null);
169 expectedFieldValidator.setErrorCode(null);
170 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
171 expectedportalRestResponse.setMessage("FieldsValidator [httpStatusCode=500, errorCode=null, fields=null]");
172 expectedportalRestResponse.setResponse(null);
173 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
174 EPUser user = mockUser.mockEPUser();
175 user.setEmail("guestT@test.portal.onap.org");
176 user.setLoginPwd("pwd");
177 user.setLoginId("Test");
178 List<EPUser> expectedList = new ArrayList<EPUser>();
179 expectedList.add(user);
180 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
181 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
182 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
183 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
184 Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
185 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
186 .postPortalAdmin(mockedRequest, mockedResponse, user);
187 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
191 public void getOnboardAppExternalTest() {
192 EPApp epApp = new EPApp();
193 Long appId = (long) 1;
194 Mockito.when(appService.getApp(appId)).thenReturn(epApp);
195 OnboardingApp expectedApp = new OnboardingApp();
196 Mockito.doNothing().when(appService).createOnboardingFromApp(epApp, expectedApp);
197 OnboardingApp actualApp = appsControllerExternalRequest.getOnboardAppExternal(mockedRequest, mockedResponse,
199 assertEquals(expectedApp.getClass(), actualApp.getClass());
203 public void postOnboardAppExternalExceptionTest() {
204 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
205 expectedportalRestResponse.setMessage("Unexpected field: id");
206 expectedportalRestResponse.setResponse(null);
207 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
209 OnboardingApp expectedOnboardingApp = new OnboardingApp();
210 expectedOnboardingApp.id = (long) 1;
212 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
213 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
214 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
218 public void postOnboardAppExternalTest() {
219 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
220 expectedportalRestResponse.setMessage(
221 "Missing required field: name, url, restUrl, restrictedApp, isOpen, isEnabled, myLoginsAppOwner");
222 expectedportalRestResponse.setResponse(null);
223 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
225 OnboardingApp expectedOnboardingApp = new OnboardingApp();
226 expectedOnboardingApp.id = null;
228 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
229 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
230 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
235 public void putOnboardAppExternalifAppNullTest() {
236 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
237 expectedportalRestResponse.setMessage("Unexpected value for field: id");
238 expectedportalRestResponse.setResponse(null);
239 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
241 OnboardingApp expectedOnboardingApp = new OnboardingApp();
242 expectedOnboardingApp.id = null;
244 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
245 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
246 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
250 public void putOnboardAppExternalIfOnboardingAppDetailsNullTest() {
251 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
252 expectedportalRestResponse.setMessage(
253 "Missing required field: name, url, restUrl, restrictedApp, isOpen, isEnabled, myLoginsAppOwner");
254 expectedportalRestResponse.setResponse(null);
255 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
256 Long appId = (long) 1;
257 OnboardingApp expectedOnboardingApp = new OnboardingApp();
258 expectedOnboardingApp.id = (long) 1;
259 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
260 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
261 assertEquals(actualPortalRestResponse, expectedportalRestResponse);