aa7cb46a678f2d753bfa09af159491b8cdacee6e
[portal.git] / ecomp-portal-BE-os / src / test / java / org / openecomp / portalapp / portal / controller / PortalAdminControllerOSTest.java
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the “License”);
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 package org.openecomp.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
46 import javax.servlet.http.HttpServletRequest;
47 import javax.servlet.http.HttpServletResponse;
48
49 import org.junit.Before;
50 import org.junit.Test;
51 import org.mockito.InjectMocks;
52 import org.mockito.Mock;
53 import org.mockito.Mockito;
54 import org.mockito.MockitoAnnotations;
55 import org.openecomp.portalapp.portal.domain.EPRole;
56 import org.openecomp.portalapp.portal.domain.EPUser;
57 import org.openecomp.portalapp.portal.framework.MockEPUser;
58 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
59 import org.openecomp.portalapp.portal.service.AdminRolesService;
60 import org.openecomp.portalapp.portal.service.AdminRolesServiceImpl;
61 import org.openecomp.portalapp.portal.service.PortalAdminService;
62 import org.openecomp.portalapp.portal.service.PortalAdminServiceImpl;
63 import org.openecomp.portalapp.portal.transport.FieldsValidator;
64 import org.openecomp.portalapp.portal.transport.PortalAdmin;
65 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
66 import org.openecomp.portalapp.util.EPUserUtils;
67 import org.openecomp.portalsdk.core.service.AuditService;
68 import org.openecomp.portalsdk.core.service.AuditServiceImpl;
69
70 public class PortalAdminControllerOSTest {
71
72         @InjectMocks
73         PortalAdminController portalAdminController = new PortalAdminController();
74
75         @Mock
76         AdminRolesService adminRolesService = new AdminRolesServiceImpl();
77         
78         @Mock
79         PortalAdminService portalAdminService = new PortalAdminServiceImpl();
80
81         @Mock
82         AuditService auditService = new AuditServiceImpl();
83
84          
85         @Mock
86         EcompPortalUtils ecompPortalUtils = new EcompPortalUtils();
87
88         @Before
89         public void setup() {
90                 MockitoAnnotations.initMocks(this);
91         }
92
93         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
94
95         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
96         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
97         NullPointerException nullPointerException = new NullPointerException();
98
99         @Mock
100         EPUserUtils ePUserUtils = new EPUserUtils();
101
102         MockEPUser mockUser = new MockEPUser();
103         
104         @Test
105         public void deletePortalAdminIfUserIsSuperAdminTest()
106         {
107                 EPUser user = mockUser.mockEPUser();
108                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
109                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
110                 Long userInfo = (long) 12;
111                 assertNull(portalAdminController.deletePortalAdmin(mockedRequest, userInfo, mockedResponse));
112
113         }
114         
115         @Test
116         public void deletePortalAdminTest()
117         {
118                 EPUser user = mockUser.mockEPUser();
119                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
120         
121                 FieldsValidator expectedFieldValidator = new FieldsValidator();
122                 expectedFieldValidator.setHttpStatusCode((long) 200);
123                 expectedFieldValidator.setFields(null);
124                 expectedFieldValidator.setErrorCode(null);
125                 FieldsValidator actualFieldValidator = new FieldsValidator();
126                 Long userInfo = (long) 12;
127                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
128                 Mockito.when(portalAdminService.deletePortalAdmin((long) 12)).thenReturn(expectedFieldValidator);
129                 actualFieldValidator = portalAdminController.deletePortalAdmin(mockedRequest, userInfo, mockedResponse);
130         assertEquals(actualFieldValidator,expectedFieldValidator);
131
132         }
133         
134         @Test
135         public void deletePortalAdminWithNoUserInfoTest()
136         {
137                 EPUser user = mockUser.mockEPUser();
138                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
139                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
140                 Long userInfo = null;
141                 assertNull(portalAdminController.deletePortalAdmin(mockedRequest, userInfo, mockedResponse));
142         }
143         
144         @Test
145         public void getRolesByAppExceptionTest()
146         {
147                 EPUser user = mockUser.mockEPUser();;
148                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
149                 List<EPRole> expectedRoleList = new ArrayList<EPRole>();        
150                 EPRole ePRole = new EPRole();
151                 expectedRoleList.add(ePRole);
152                 Long appId = (long) 1;
153                 Mockito.when(adminRolesService.getRolesByApp(user, appId)).thenThrow(nullPointerException);
154                 assertNull(portalAdminController.getRolesByApp(mockedRequest, appId, mockedResponse));
155         }
156         
157         @Test
158         public void getRolesByAppIfUserNullTest()
159         {
160                 EPUser user = null;
161                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
162                 Long appId = (long) 1;
163                 assertNull(portalAdminController.getRolesByApp(mockedRequest, appId, mockedResponse));
164         }
165         
166         @Test
167         public void getRolesByAppTest()
168         {
169                 EPUser user = mockUser.mockEPUser();
170                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
171                 List<EPRole> expectedRoleList = new ArrayList<EPRole>();        
172                 EPRole ePRole = new EPRole();
173                 expectedRoleList.add(ePRole);
174                 Long appId = (long) 1;
175                 Mockito.when(adminRolesService.getRolesByApp(user, appId)).thenReturn(expectedRoleList);
176                 List<EPRole> actualRoleList =   portalAdminController.getRolesByApp(mockedRequest, appId, mockedResponse);
177                 assertEquals(actualRoleList,expectedRoleList);
178         }
179         
180         @Test
181         public void createPortalAdminIfUserNullTest()
182         {
183                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(null);
184                 assertNull(portalAdminController.createPortalAdmin(mockedRequest, "guestT", mockedResponse));
185         }
186         
187         
188         @Test
189         public void createPortalAdminIfUserIsSuperAdminTest()
190         {
191
192                 EPUser user = mockUser.mockEPUser();
193                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
194                 FieldsValidator expectedFieldValidator = new FieldsValidator();
195                 expectedFieldValidator.setHttpStatusCode((long) 200);
196                 expectedFieldValidator.setFields(null);
197                 expectedFieldValidator.setErrorCode(null);
198                 FieldsValidator actualFieldValidator = new FieldsValidator();
199                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
200                 Mockito.when(portalAdminService.createPortalAdmin("guestT")).thenReturn(expectedFieldValidator);
201                 actualFieldValidator = portalAdminController.createPortalAdmin(mockedRequest, "guestT", mockedResponse);
202         assertEquals(actualFieldValidator,expectedFieldValidator);
203         }
204         
205         @Test
206         public void createPortalAdminIfUserIsNotSuperAdminTest()
207         {
208                 EPUser user = mockUser.mockEPUser();
209                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
210                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
211                 assertNull(portalAdminController.createPortalAdmin(mockedRequest, "guestT", mockedResponse));
212         }
213                 
214         @Test
215         public void getPortalAdminsIfUserNullTest()
216         {
217                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(null);
218                 assertNull(portalAdminController.getPortalAdmins(mockedRequest, mockedResponse));
219         }
220         
221         @Test
222         public void getPortalAdminsIfUserAdminTest()
223         {
224                 EPUser user = mockUser.mockEPUser();
225                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
226                 List<PortalAdmin> portalAdmins = new ArrayList<>();
227                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
228                 Mockito.when(portalAdminService.getPortalAdmins()).thenReturn(portalAdmins);
229                 List<PortalAdmin> actualortalAdmins = portalAdminController.getPortalAdmins(mockedRequest, mockedResponse);
230         assertEquals(actualortalAdmins,portalAdmins);
231         }
232         
233         @Test
234         public void getPortalAdminIfUserIsNotSuperAdminTest()
235         {
236                 EPUser user = mockUser.mockEPUser();
237                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
238                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
239                 assertNull(portalAdminController.getPortalAdmins(mockedRequest, mockedResponse));
240         }
241 }