Add doc folder.
[portal.git] / ecomp-portal-BE-common-test / src / main / java / org / openecomp / portalapp / portal / test / controller / AppsControllerExternalRequestTest.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.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;
32
33 public class AppsControllerExternalRequestTest extends MockitoTestSuite {
34
35         @Mock
36         AdminRolesService adminRolesService;
37
38         @Mock
39         EPAppService appService;
40
41         @Mock
42         PortalAdminService portalAdminService;
43
44         @Mock
45         UserService userService = new UserServiceImpl();
46
47         @InjectMocks
48         AppsControllerExternalRequest appsControllerExternalRequest = new AppsControllerExternalRequest();
49
50         @Before
51         public void setup() {
52                 MockitoAnnotations.initMocks(this);
53         }
54
55         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
56
57         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
58         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
59         NullPointerException nullPointerException = new NullPointerException();
60
61         MockEPUser mockUser = new MockEPUser();
62         @Mock
63         EPUserUtils ePUserUtils = new EPUserUtils();
64
65         @Test
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);
77         }
78
79         @Test
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);
94         }
95
96         @Test
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);
113         }
114
115         @Test
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);
134         }
135
136         @Test
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);
152
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);
158
159                 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
160                                 .postPortalAdmin(mockedRequest, mockedResponse, user);
161                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
162         }
163
164         @Test
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);
188         }
189
190         @Test
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,
198                                 appId);
199                 assertEquals(expectedApp.getClass(), actualApp.getClass());
200         }
201
202         @Test
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);
208
209                 OnboardingApp expectedOnboardingApp = new OnboardingApp();
210                 expectedOnboardingApp.id = (long) 1;
211
212                 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
213                                 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
214                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
215         }
216
217         @Test
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);
224
225                 OnboardingApp expectedOnboardingApp = new OnboardingApp();
226                 expectedOnboardingApp.id = null;
227
228                 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
229                                 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
230                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
231
232         }
233
234         @Test
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);
240                 Long appId = null;
241                 OnboardingApp expectedOnboardingApp = new OnboardingApp();
242                 expectedOnboardingApp.id = null;
243
244                 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
245                                 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
246                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
247         }
248
249         @Test
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);
262         }
263 }