Fixed health check issue
[portal.git] / ecomp-portal-BE-common / src / test / java / org / onap / portalapp / portal / controller / PortalAdminControllerTest.java
1
2 /*-
3  * ============LICENSE_START==========================================
4  * ONAP Portal
5  * ===================================================================
6  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
7  * ===================================================================
8  *
9  * Unless otherwise specified, all software contained herein is licensed
10  * under the Apache License, Version 2.0 (the "License");
11  * you may not use this software except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  *             http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  *
22  * Unless otherwise specified, all documentation contained herein is licensed
23  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
24  * you may not use this documentation except in compliance with the License.
25  * You may obtain a copy of the License at
26  *
27  *             https://creativecommons.org/licenses/by/4.0/
28  *
29  * Unless required by applicable law or agreed to in writing, documentation
30  * distributed under the License is distributed on an "AS IS" BASIS,
31  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32  * See the License for the specific language governing permissions and
33  * limitations under the License.
34  *
35  * ============LICENSE_END============================================
36  *
37  * 
38  */package org.onap.portalapp.portal.controller;
39
40 import static org.junit.Assert.assertEquals;
41 import static org.junit.Assert.assertNull;
42
43 import java.util.ArrayList;
44 import java.util.List;
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
47 import org.junit.Before;
48 import org.junit.Test;
49 import org.mockito.InjectMocks;
50 import org.mockito.Mock;
51 import org.mockito.Mockito;
52 import org.mockito.MockitoAnnotations;
53 import org.onap.portalapp.portal.core.MockEPUser;
54 import org.onap.portalapp.portal.domain.EPRole;
55 import org.onap.portalapp.portal.domain.EPUser;
56 import org.onap.portalapp.portal.framework.MockitoTestSuite;
57 import org.onap.portalapp.portal.service.AdminRolesService;
58 import org.onap.portalapp.portal.service.AdminRolesServiceImpl;
59 import org.onap.portalapp.portal.service.PortalAdminService;
60 import org.onap.portalapp.portal.service.PortalAdminServiceImpl;
61 import org.onap.portalapp.portal.transport.FieldsValidator;
62 import org.onap.portalapp.portal.transport.PortalAdmin;
63 import org.onap.portalapp.portal.utils.EcompPortalUtils;
64 import org.onap.portalapp.util.EPUserUtils;
65 import org.onap.portalsdk.core.service.AuditService;
66 import org.onap.portalsdk.core.service.AuditServiceImpl;
67
68 public class PortalAdminControllerTest extends MockitoTestSuite{
69
70         @InjectMocks
71         PortalAdminController portalAdminController;
72
73         @Mock
74         AdminRolesService adminRolesService = new AdminRolesServiceImpl();
75         
76         @Mock
77         PortalAdminService portalAdminService = new PortalAdminServiceImpl();
78
79         @Mock
80         AuditService auditService = new AuditServiceImpl();
81
82          
83         @Mock
84         EcompPortalUtils ecompPortalUtils = new EcompPortalUtils();
85
86         @Before
87         public void setup() {
88                 MockitoAnnotations.initMocks(this);
89         }
90
91         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
92
93         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
94         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
95         NullPointerException nullPointerException = new NullPointerException();
96
97         @Mock
98         EPUserUtils ePUserUtils = new EPUserUtils();
99
100         MockEPUser mockUser = new MockEPUser();
101         
102         
103         @Test
104         public void getPortalAdminsTest()
105         {
106                 EPUser user = mockUser.mockEPUser();
107                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
108                 List<PortalAdmin> expectedPortalAdminsList = new ArrayList<PortalAdmin>();
109                 PortalAdmin portalAdmin= new PortalAdmin();
110                 
111                 portalAdmin.setUserId((long) 1);
112                 portalAdmin.setLoginId("guestT");
113                 portalAdmin.setFirstName("Test_FirstName");
114                 portalAdmin.setLastName("Test_LastName");
115                 
116                 expectedPortalAdminsList.add(portalAdmin);
117                 
118                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
119                 
120          Mockito.when(portalAdminService.getPortalAdmins()).thenReturn(expectedPortalAdminsList);
121          List<PortalAdmin> actualPortalAdminsList =  portalAdminController.getPortalAdmins(mockedRequest, mockedResponse);
122          assertEquals(actualPortalAdminsList,expectedPortalAdminsList);
123
124         }
125 //      @Test
126 //      public void getPortalAdminsIfUserIsNullTest()
127 //      {
128 //              EPUser user = null;
129 //              Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
130 //
131 //         assertNull(portalAdminController.getPortalAdmins(mockedRequest, mockedResponse));
132 //
133 //      }
134         
135         @Test
136         public void getPortalAdminsIfUserIsSuperAdminTest()
137         {
138                 EPUser user = mockUser.mockEPUser();
139                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
140                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
141                  assertNull(portalAdminController.getPortalAdmins(mockedRequest, mockedResponse));
142
143         }
144         
145         
146         
147         @Test
148         public void createPortalAdminTest()
149         {
150                 EPUser user = mockUser.mockEPUser();
151                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
152         
153                 FieldsValidator expectedFieldValidator = new FieldsValidator();
154                 expectedFieldValidator.setHttpStatusCode((long) 200);
155                 expectedFieldValidator.setFields(null);
156                 expectedFieldValidator.setErrorCode(null);
157                 FieldsValidator actualFieldValidator = new FieldsValidator();
158                 String sbcid = "Test";
159                 
160                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
161                 Mockito.when(portalAdminService.createPortalAdmin(sbcid)).thenReturn(expectedFieldValidator);
162                 actualFieldValidator = portalAdminController.createPortalAdmin(mockedRequest, sbcid, mockedResponse);
163         assertEquals(actualFieldValidator,expectedFieldValidator);
164
165         }
166
167         @Test
168         public void createPortalAdminXSSTest()
169         {
170                 EPUser user = mockUser.mockEPUser();
171                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
172                 FieldsValidator expectedFieldValidator = null;
173                 FieldsValidator actualFieldValidator;
174                 String userId = "<IMG SRC=jAVasCrIPt:alert(‘XSS’)>";
175                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
176                 Mockito.when(portalAdminService.createPortalAdmin(userId)).thenReturn(expectedFieldValidator);
177                 actualFieldValidator = portalAdminController.createPortalAdmin(mockedRequest, userId, mockedResponse);
178                 assertEquals(expectedFieldValidator, actualFieldValidator);
179
180         }
181
182         @Test
183         public void createPortalAdminIfUserIsNullTest()
184         {
185                 EPUser user = null;
186                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(null);
187                 String sbcid = "null";
188                 assertNull(portalAdminController.createPortalAdmin(mockedRequest, sbcid, mockedResponse));
189
190         }
191         
192         @Test
193         public void createPortalAdminIfUserIsSuperAdminTest()
194         {
195                 EPUser user = mockUser.mockEPUser();
196                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
197                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
198                 String sbcid = "Test";
199                 assertNull(portalAdminController.createPortalAdmin(mockedRequest, sbcid, mockedResponse));
200
201         }
202         
203         @Test
204         public void deletePortalAdminTest()
205         {
206                 EPUser user = mockUser.mockEPUser();
207                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
208                 List<PortalAdmin> expectedPortalAdminsList = new ArrayList<PortalAdmin>();
209                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
210             Mockito.when(portalAdminService.deletePortalAdmin(12L)).thenReturn(null);
211          FieldsValidator actualPortalAdminsList =  portalAdminController.deletePortalAdmin(mockedRequest, "test", mockedResponse);
212          assertNull(actualPortalAdminsList);
213
214         }
215
216         @Test
217         public void deletePortalAdminXSSTest()
218         {
219                 EPUser user = mockUser.mockEPUser();
220                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
221                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
222                 FieldsValidator actualFieldValidator = portalAdminController.deletePortalAdmin(mockedRequest,"<img src=xss onerror=alert(1)>" , mockedResponse);
223                 assertNull(actualFieldValidator);
224
225         }
226         
227         @Test
228         public void deletePortalAdminTest1()
229         {
230                 EPUser user = mockUser.mockEPUser();
231                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
232                 String sbcid = "Test";
233                 List<PortalAdmin> expectedPortalAdminsList = new ArrayList<PortalAdmin>();
234                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
235             Mockito.when(portalAdminService.deletePortalAdmin(112L)).thenReturn(null);
236          FieldsValidator actualPortalAdminsList =  portalAdminController.deletePortalAdmin(mockedRequest, "112-1", mockedResponse);
237          assertNull(actualPortalAdminsList);
238
239         }
240         
241         @Test
242         public void deletePortalAdminTest2()
243         {
244                 EPUser user = mockUser.mockEPUser();
245                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
246         
247                 FieldsValidator expectedFieldValidator = new FieldsValidator();
248                 expectedFieldValidator.setHttpStatusCode((long) 200);
249                 expectedFieldValidator.setFields(null);
250                 expectedFieldValidator.setErrorCode(null);
251                 FieldsValidator actualFieldValidator = new FieldsValidator();
252                 //String sbcid = "Test";
253                 Long userId=123L;
254                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
255                 Mockito.when(portalAdminService.deletePortalAdmin(userId)).thenReturn(expectedFieldValidator);
256                 actualFieldValidator = portalAdminController.deletePortalAdmin(mockedRequest,"123-Test" , mockedResponse);
257         assertEquals(actualFieldValidator,expectedFieldValidator);
258
259         }
260
261         @Test
262         public void getRolesByAppsTest()
263         {
264                 EPUser user = mockUser.mockEPUser();
265                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
266                 List<EPRole> expectedgetAppsList = new ArrayList<EPRole>();
267                 EPRole epRole= new EPRole();
268                 epRole.setName("Test");
269                 epRole.setActive(true);
270                 epRole.setPriority(1);
271                 epRole.setAppId(12L);
272                 epRole.setId(1111L);
273                 expectedgetAppsList.add(epRole);
274                 Mockito.when(adminRolesService.getRolesByApp(user,12L)).thenReturn(expectedgetAppsList);
275                 //Mockito.when(portalAdminService.deletePortalAdmin(userId)).thenReturn(expectedFieldValidator);
276                 List<EPRole> actualgetAppsList = portalAdminController.getRolesByApp(mockedRequest,12L , mockedResponse);
277         assertEquals(actualgetAppsList,expectedgetAppsList);
278
279         }
280
281         @Test
282         public void getRolesByAppsWhenUserIsNullTest()
283         {
284                 EPUser user = mockUser.mockEPUser();
285                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(null);
286                 List<EPRole> expectedgetAppsList = new ArrayList<EPRole>();
287                 EPRole epRole= new EPRole();
288                 expectedgetAppsList.add(epRole);
289                 Mockito.when(adminRolesService.getRolesByApp(user,12L)).thenReturn(expectedgetAppsList);
290                 List<EPRole> actualgetAppsList = portalAdminController.getRolesByApp(mockedRequest,12L , mockedResponse);
291         assertNull(actualgetAppsList);
292
293         }
294                         
295 }