2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
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
26 * https://creativecommons.org/licenses/by/4.0/
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.
34 * ============LICENSE_END============================================
38 package org.onap.portalapp.portal.controller;
40 import static org.junit.Assert.assertEquals;
42 import java.util.ArrayList;
43 import java.util.List;
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
48 import org.junit.Before;
49 import org.junit.Test;
50 import org.mockito.InjectMocks;
51 import org.mockito.Mock;
52 import org.mockito.Mockito;
53 import org.mockito.MockitoAnnotations;
54 import org.mockito.stubbing.Answer;
55 import org.onap.portalapp.portal.core.MockEPUser;
56 import org.onap.portalapp.portal.domain.EPUser;
57 import org.onap.portalapp.portal.framework.MockitoTestSuite;
58 import org.onap.portalapp.portal.service.AdminRolesService;
59 import org.onap.portalapp.portal.service.PersUserWidgetService;
60 import org.onap.portalapp.portal.service.WidgetService;
61 import org.onap.portalapp.portal.transport.FieldsValidator;
62 import org.onap.portalapp.portal.transport.FieldsValidator.FieldName;
63 import org.onap.portalapp.portal.transport.OnboardingWidget;
64 import org.onap.portalapp.portal.transport.WidgetCatalogPersonalization;
65 import org.onap.portalapp.util.EPUserUtils;
66 import org.springframework.web.client.RestClientException;
68 public class WidgetsControllerTest extends MockitoTestSuite{
71 WidgetsController widgetsController = new WidgetsController();
74 private AdminRolesService rolesService;
77 private WidgetService widgetService ;
80 private PersUserWidgetService persUserWidgetService;
85 MockEPUser mockUser = new MockEPUser();
89 MockitoAnnotations.initMocks(this);
92 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
94 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
95 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
98 public void getOnboardingWidgetsTest() throws RestClientException, Exception{
99 EPUser user = mockUser.mockEPUser();
100 String getType="test";
101 List<OnboardingWidget> actualResult = null;
102 String expectedResult = null;
103 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
104 List<OnboardingWidget> onboardingWidgets = null;
105 //Mockito.when(StringUtils.isEmpty("")).thenReturn(true);
106 Mockito.when(widgetService.getOnboardingWidgets(user, getType.equals("managed"))).thenReturn(onboardingWidgets);
107 actualResult = widgetsController.getOnboardingWidgets(mockedRequest, mockedResponse);
108 assertEquals(expectedResult, actualResult);
113 public void getOnboardingWidgetsTest1(){
114 EPUser user = mockUser.mockEPUser();
115 Mockito.when(mockedRequest.getHeader("X-Widgets-Type")).thenReturn("managed");
116 //String getType=Matchers.any(String.class);
117 List<OnboardingWidget> actualResult = null;
118 String expectedResult = null;
119 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
120 List<OnboardingWidget> onboardingWidgets = new ArrayList<>();
121 OnboardingWidget widget = new OnboardingWidget();
122 onboardingWidgets.add(widget); //Mockito.when(StringUtils.isEmpty("")).thenReturn(true);
123 Mockito.when(widgetService.getOnboardingWidgets(user, true)).thenReturn(onboardingWidgets);
124 actualResult = widgetsController.getOnboardingWidgets(mockedRequest, mockedResponse);
125 // assertEquals(expectedResult, actualResult);
130 public void getOnboardingWidgetswithUserNullTest(){
132 Mockito.when(mockedRequest.getHeader("X-Widgets-Type")).thenReturn("managed");
133 //String getType=Matchers.any(String.class);
134 List<OnboardingWidget> actualResult = null;
135 String expectedResult = null;
136 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
137 List<OnboardingWidget> onboardingWidgets = new ArrayList<>();
138 OnboardingWidget widget = new OnboardingWidget();
139 onboardingWidgets.add(widget); //Mockito.when(StringUtils.isEmpty("")).thenReturn(true);
140 Mockito.when(widgetService.getOnboardingWidgets(user, true)).thenReturn(onboardingWidgets);
141 actualResult = widgetsController.getOnboardingWidgets(mockedRequest, mockedResponse);
146 public void putOnboardingWidgetTest() {
147 FieldsValidator actualFieldsValidator = null;
148 EPUser user = mockUser.mockEPUser();
149 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
150 OnboardingWidget onboardingWidget=new OnboardingWidget();
151 onboardingWidget.id=12L;
152 onboardingWidget.normalize();
153 //Mockito.doNothing().when(onboardingWidget).normalize();
154 FieldsValidator expectedFieldValidator = new FieldsValidator();
155 List<FieldName> fields = new ArrayList<>();
157 expectedFieldValidator.setHttpStatusCode((long) 200);
158 expectedFieldValidator.setFields(fields);
159 expectedFieldValidator.setErrorCode(null);
160 Mockito.when(widgetService.setOnboardingWidget(user, onboardingWidget)).thenReturn(expectedFieldValidator);
161 actualFieldsValidator = widgetsController.putOnboardingWidget(mockedRequest, 12L, onboardingWidget, mockedResponse);
166 public void putOnboardingWidgetWithUserPermissionTest() {
167 FieldsValidator actualFieldsValidator = null;
168 EPUser user = mockUser.mockEPUser();
169 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
170 Mockito.when(rolesService.isSuperAdmin(user)).thenReturn(true);
171 Mockito.when(rolesService.isAccountAdmin(user)).thenReturn(true);
172 OnboardingWidget onboardingWidget=new OnboardingWidget();
173 onboardingWidget.id=12L;
174 onboardingWidget.normalize();
175 //Mockito.doNothing().when(onboardingWidget).normalize();
176 FieldsValidator expectedFieldValidator = new FieldsValidator();
177 List<FieldName> fields = new ArrayList<>();
179 expectedFieldValidator.setHttpStatusCode((long) 200);
180 expectedFieldValidator.setFields(fields);
181 expectedFieldValidator.setErrorCode(null);
182 Mockito.when(widgetService.setOnboardingWidget(user, onboardingWidget)).thenReturn(expectedFieldValidator);
183 actualFieldsValidator = widgetsController.putOnboardingWidget(mockedRequest, 12L, onboardingWidget, mockedResponse);
184 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
185 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
186 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());
190 public void postOnboardingWidgetTest(){
191 EPUser user=mockUser.mockEPUser();
192 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
193 FieldsValidator actualFieldsValidator = null;
194 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
195 Mockito.when(rolesService.isSuperAdmin(user)).thenReturn(true);
196 Mockito.when(rolesService.isAccountAdmin(user)).thenReturn(true);
197 OnboardingWidget onboardingWidget=new OnboardingWidget();
198 onboardingWidget.id=12L;
199 onboardingWidget.normalize();
200 FieldsValidator expectedFieldValidator = new FieldsValidator();
201 List<FieldName> fields = new ArrayList<>();
203 expectedFieldValidator.setHttpStatusCode((long) 200);
204 expectedFieldValidator.setFields(fields);
205 expectedFieldValidator.setErrorCode(null);
206 Mockito.when(widgetService.setOnboardingWidget(user, onboardingWidget)).thenReturn(expectedFieldValidator);
207 actualFieldsValidator = widgetsController.postOnboardingWidget(mockedRequest, onboardingWidget, mockedResponse);
208 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
209 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
210 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());
214 public void postOnboardingWidgetTestwiThoutUserPermission() {
215 FieldsValidator actualFieldsValidator = null;
216 EPUser user = mockUser.mockEPUser();
217 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
218 OnboardingWidget onboardingWidget=new OnboardingWidget();
219 onboardingWidget.id=12L;
220 onboardingWidget.normalize();
221 //Mockito.doNothing().when(onboardingWidget).normalize();
222 FieldsValidator expectedFieldValidator = new FieldsValidator();
223 List<FieldName> fields = new ArrayList<>();
225 expectedFieldValidator.setHttpStatusCode((long) 200);
226 expectedFieldValidator.setFields(fields);
227 expectedFieldValidator.setErrorCode(null);
228 Mockito.when(widgetService.setOnboardingWidget(user, onboardingWidget)).thenReturn(expectedFieldValidator);
229 actualFieldsValidator = widgetsController.postOnboardingWidget(mockedRequest, onboardingWidget, mockedResponse);
234 public void deleteOnboardingWidgetTest(){
235 FieldsValidator actualFieldsValidator = null;
236 EPUser user=mockUser.mockEPUser();
237 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
238 FieldsValidator expectedFieldValidator = new FieldsValidator();
239 List<FieldName> fields = new ArrayList<>();
240 Mockito.when(rolesService.isSuperAdmin(user)).thenReturn(true);
241 Mockito.when(rolesService.isAccountAdmin(user)).thenReturn(true);
242 expectedFieldValidator.setHttpStatusCode((long) 200);
243 expectedFieldValidator.setFields(fields);
244 expectedFieldValidator.setErrorCode(null);
245 Mockito.when(widgetService.deleteOnboardingWidget(user, 12L)).thenReturn(expectedFieldValidator);
246 actualFieldsValidator = widgetsController.deleteOnboardingWidget(mockedRequest, 12L, mockedResponse);
247 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
248 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
249 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());
252 public void deleteOnboardingWidgetWithOutUserPermissionsTest(){
253 FieldsValidator actualFieldsValidator = null;
254 EPUser user=mockUser.mockEPUser();
255 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
256 FieldsValidator expectedFieldValidator = new FieldsValidator();
257 List<FieldName> fields = new ArrayList<>();
258 Mockito.when(rolesService.isSuperAdmin(user)).thenReturn(false);
259 Mockito.when(rolesService.isAccountAdmin(user)).thenReturn(false);
260 expectedFieldValidator.setHttpStatusCode((long) 200);
261 expectedFieldValidator.setFields(fields);
262 expectedFieldValidator.setErrorCode(null);
263 Mockito.when(widgetService.deleteOnboardingWidget(user, 12L)).thenReturn(expectedFieldValidator);
264 actualFieldsValidator = widgetsController.deleteOnboardingWidget(mockedRequest, 12L, mockedResponse);
269 public void putWidgetCatalogSelectionTest1() throws Exception {
271 FieldsValidator actualFieldsValidator = new FieldsValidator();
272 EPUser user=mockUser.mockEPUser();
273 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
274 FieldsValidator expectedFieldValidator = new FieldsValidator();
275 List<FieldName> fields = new ArrayList<>();
276 Mockito.when(rolesService.isSuperAdmin(user)).thenReturn(true);
277 Mockito.when(rolesService.isAccountAdmin(user)).thenReturn(true);
278 expectedFieldValidator.setHttpStatusCode((long) 200);
279 expectedFieldValidator.setFields(fields);
280 expectedFieldValidator.setErrorCode(null);
281 WidgetCatalogPersonalization widgetCatalogPersonalization=new WidgetCatalogPersonalization();
282 widgetCatalogPersonalization.widgetId=12L;
283 //Mockito.doThrow(new Exception()).doNothing().when(persUserWidgetService).setPersUserAppValue(user, 12L, true);
284 //Mockito.doNothing().thenReturn();
285 actualFieldsValidator = widgetsController.putWidgetCatalogSelection(mockedRequest, widgetCatalogPersonalization, mockedResponse);
286 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
287 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
288 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());
293 @Test(expected=ClassCastException.class)
294 public void putWidgetCatalogSelectionTest() throws Exception {
296 FieldsValidator actualFieldsValidator = new FieldsValidator();
298 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
299 FieldsValidator expectedFieldValidator = new FieldsValidator();
300 List<FieldName> fields = new ArrayList<>();
301 Mockito.when(rolesService.isSuperAdmin(user)).thenReturn(true);
302 Mockito.when(rolesService.isAccountAdmin(user)).thenReturn(true);
303 expectedFieldValidator.setHttpStatusCode((long) 200);
304 expectedFieldValidator.setFields(fields);
305 expectedFieldValidator.setErrorCode(null);
306 WidgetCatalogPersonalization widgetCatalogPersonalization=new WidgetCatalogPersonalization();
307 Mockito.doAnswer((Answer) new Exception()).doNothing().when(persUserWidgetService).setPersUserAppValue(user, 12L, true);
308 //Mockito.doNothing().thenReturn();
309 actualFieldsValidator = widgetsController.putWidgetCatalogSelection(mockedRequest, widgetCatalogPersonalization, mockedResponse);
310 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
311 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
312 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());