2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 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.HashMap;
44 import java.util.List;
47 import javax.servlet.http.HttpServletRequest;
48 import javax.servlet.http.HttpServletResponse;
50 import org.junit.Before;
51 import org.junit.Test;
52 import org.mockito.InjectMocks;
53 import org.mockito.Mock;
54 import org.mockito.Mockito;
55 import org.mockito.MockitoAnnotations;
56 import org.onap.portalapp.portal.controller.DashboardSearchResultController;
57 import org.onap.portalapp.portal.core.MockEPUser;
58 import org.onap.portalapp.portal.domain.EPUser;
59 import org.onap.portalapp.portal.ecomp.model.PortalRestResponse;
60 import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum;
61 import org.onap.portalapp.portal.ecomp.model.SearchResultItem;
62 import org.onap.portalapp.portal.framework.MockitoTestSuite;
63 import org.onap.portalapp.portal.service.DashboardSearchService;
64 import org.onap.portalapp.portal.service.DashboardSearchServiceImpl;
65 import org.onap.portalapp.portal.transport.CommonWidget;
66 import org.onap.portalapp.portal.transport.CommonWidgetMeta;
67 import org.onap.portalapp.util.EPUserUtils;
69 public class DashboardSearchResultControllerTest {
72 DashboardSearchService searchService = new DashboardSearchServiceImpl();
75 DashboardSearchResultController dashboardSearchResultController = new DashboardSearchResultController();
79 MockitoAnnotations.initMocks(this);
82 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
84 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
85 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
86 NullPointerException nullPointerException = new NullPointerException();
89 EPUserUtils ePUserUtils = new EPUserUtils();
91 MockEPUser mockUser = new MockEPUser();
94 public void getWidgetDataTest() {
95 String resourceType = "test";
96 PortalRestResponse<CommonWidgetMeta> ecpectedPortalRestResponse = new PortalRestResponse<CommonWidgetMeta>();
97 ecpectedPortalRestResponse.setMessage("success");
98 ecpectedPortalRestResponse.setResponse(null);
99 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
100 Mockito.when(searchService.getWidgetData(resourceType)).thenReturn(null);
101 PortalRestResponse<CommonWidgetMeta> acutualPoratlRestResponse = dashboardSearchResultController
102 .getWidgetData(mockedRequest, resourceType);
103 assertEquals(acutualPoratlRestResponse, ecpectedPortalRestResponse);
108 public void saveWidgetDataBulkTest() {
109 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
110 ecpectedPortalRestResponse.setMessage("success");
111 ecpectedPortalRestResponse.setResponse(null);
112 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
114 CommonWidgetMeta commonWidgetMeta = new CommonWidgetMeta();
115 commonWidgetMeta.setCategory("test");
117 List<CommonWidget> commonWidgetList = new ArrayList<CommonWidget>();
118 CommonWidget commonWidget = new CommonWidget();
119 commonWidget.setId((long) 1);
120 commonWidget.setCategory("test");
121 commonWidget.setHref("test_href");
122 commonWidget.setTitle("test_title");
123 commonWidget.setContent("test_content");
124 commonWidget.setEventDate(null);
125 commonWidget.setSortOrder(1);
127 commonWidgetList.add(commonWidget);
129 commonWidgetMeta.setItems(commonWidgetList);
131 Mockito.when(searchService.saveWidgetDataBulk(commonWidgetMeta)).thenReturn(null);
133 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
134 .saveWidgetDataBulk(commonWidgetMeta);
135 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
139 public void saveWidgetDataBulkIfCategoryNullTest() {
140 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
141 ecpectedPortalRestResponse.setMessage("java.text.ParseException: Unparseable date: \"1\"");
142 ecpectedPortalRestResponse.setResponse(null);
143 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
145 CommonWidgetMeta commonWidgetMeta = new CommonWidgetMeta();
146 commonWidgetMeta.setCategory("test");
148 List<CommonWidget> commonWidgetList = new ArrayList<CommonWidget>();
149 CommonWidget commonWidget = new CommonWidget();
150 commonWidget.setId(null);
151 commonWidget.setCategory(null);
152 commonWidget.setHref(null);
153 commonWidget.setTitle(null);
154 commonWidget.setContent("test_content");
155 commonWidget.setEventDate("1");
156 commonWidget.setSortOrder(1);
157 commonWidgetList.add(commonWidget);
158 commonWidgetMeta.setItems(commonWidgetList);
160 Mockito.when(searchService.saveWidgetDataBulk(commonWidgetMeta)).thenReturn(null);
162 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
163 .saveWidgetDataBulk(commonWidgetMeta);
164 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
168 public void saveWidgetDataTest() {
169 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
170 ecpectedPortalRestResponse.setMessage("success");
171 ecpectedPortalRestResponse.setResponse(null);
172 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
173 CommonWidget commonWidget = new CommonWidget();
174 commonWidget.setId((long) 1);
175 commonWidget.setCategory("test");
176 commonWidget.setHref("test_href");
177 commonWidget.setTitle("test_title");
178 commonWidget.setContent("test_content");
179 commonWidget.setEventDate(null);
180 commonWidget.setSortOrder(1);
182 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
184 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
185 .saveWidgetData(commonWidget);
186 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
191 public void saveWidgetDataExceptionTest() {
192 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
193 ecpectedPortalRestResponse.setMessage("ERROR");
194 ecpectedPortalRestResponse.setResponse("Cateogry cannot be null or empty");
195 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
196 CommonWidget commonWidget = new CommonWidget();
197 commonWidget.setId((long) 1);
198 commonWidget.setCategory("");
199 commonWidget.setHref("test_href");
200 commonWidget.setTitle("test_title");
201 commonWidget.setContent("test_content");
202 commonWidget.setEventDate(null);
203 commonWidget.setSortOrder(1);
205 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
207 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
208 .saveWidgetData(commonWidget);
209 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
214 public void saveWidgetDataDateErrorTest() {
215 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
216 ecpectedPortalRestResponse.setMessage("java.text.ParseException: Unparseable date: \"1\"");
217 ecpectedPortalRestResponse.setResponse(null);
218 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
219 CommonWidget commonWidget = new CommonWidget();
220 commonWidget.setId((long) 1);
221 commonWidget.setCategory("test");
222 commonWidget.setHref("test_href");
223 commonWidget.setTitle("test_title");
224 commonWidget.setContent("test_content");
225 commonWidget.setEventDate("1");
226 commonWidget.setSortOrder(1);
228 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
230 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
231 .saveWidgetData(commonWidget);
232 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
236 public void deleteWidgetDataTest() {
237 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
238 ecpectedPortalRestResponse.setMessage("success");
239 ecpectedPortalRestResponse.setResponse(null);
240 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
241 CommonWidget commonWidget = new CommonWidget();
242 commonWidget.setId((long) 1);
243 commonWidget.setCategory("test");
244 commonWidget.setHref("test_href");
245 commonWidget.setTitle("test_title");
246 commonWidget.setContent("test_content");
247 commonWidget.setEventDate(null);
248 commonWidget.setSortOrder(1);
249 Mockito.when(searchService.deleteWidgetData(commonWidget)).thenReturn(null);
251 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
252 .deleteWidgetData(commonWidget);
253 System.out.println(actualPortalRestResponse);
254 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
258 public void searchPortalIfUserIsNull() {
260 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
261 String searchString = "test";
263 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
264 expectedResult.setMessage("searchPortal: User object is null? - check logs");
265 expectedResult.setResponse(new HashMap<String, List<SearchResultItem>>());
266 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
267 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
268 .searchPortal(mockedRequest, searchString);
269 assertEquals(expectedResult, actualResult);
273 public void searchPortalIfSearchStringNullTest() {
274 EPUser user = mockUser.mockEPUser();
276 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
277 String searchString = null;
279 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
280 expectedResult.setMessage("searchPortal: String string is null");
281 expectedResult.setResponse(new HashMap<String, List<SearchResultItem>>());
282 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
284 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
285 .searchPortal(mockedRequest, searchString);
286 assertEquals(expectedResult, actualResult);
290 public void searchPortalIfSearchTest() {
291 EPUser user = mockUser.mockEPUser();
293 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
294 String searchString = "test";
295 List<SearchResultItem> searchResultItemList = new ArrayList<SearchResultItem>();
296 SearchResultItem searchResultItem = new SearchResultItem();
298 searchResultItem.setId((long) 1);
299 searchResultItem.setCategory("test");
300 searchResultItem.setName("test_name");
301 searchResultItem.setTarget("test_target");
302 searchResultItem.setUuid("test_UUId");
303 searchResultItemList.add(searchResultItem);
304 Map<String, List<SearchResultItem>> expectedResultMap = new HashMap<String, List<SearchResultItem>>();
305 expectedResultMap.put(searchString, searchResultItemList);
307 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
308 expectedResult.setMessage("success");
309 expectedResult.setResponse(expectedResultMap);
310 expectedResult.setStatus(PortalRestStatusEnum.OK);
312 Mockito.when(searchService.searchResults(user.getLoginId(), searchString)).thenReturn(expectedResultMap);
313 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
314 .searchPortal(mockedRequest, searchString);
315 assertEquals(expectedResult, actualResult);
320 public void searchPortalIfSearchExcptionTest() {
321 EPUser user = mockUser.mockEPUser();
323 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
324 String searchString = "test";
326 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
327 expectedResult.setMessage("null - check logs.");
328 expectedResult.setResponse(new HashMap<String, List<SearchResultItem>>());
329 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
331 Mockito.when(searchService.searchResults(user.getLoginId(), searchString)).thenThrow(nullPointerException);
332 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
333 .searchPortal(mockedRequest, searchString);
334 assertEquals(expectedResult, actualResult);
338 public void getActiveUsersTest() {
339 List<String> expectedActiveUsers = new ArrayList<String>();
340 EPUser user = mockUser.mockEPUser();
342 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
343 String userId = user.getOrgUserId();
344 Mockito.when(searchService.getRelatedUsers(userId)).thenReturn(expectedActiveUsers);
345 List<String> actualOnlineUsers = dashboardSearchResultController.getActiveUsers(mockedRequest);
346 assertEquals(expectedActiveUsers, actualOnlineUsers);
351 public void getActiveUsersExceptionTest() {
352 List<String> expectedActiveUsers = new ArrayList<String>();
353 EPUser user = mockUser.mockEPUser();
354 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
355 String userId = user.getOrgUserId();
356 Mockito.when(searchService.getRelatedUsers(userId)).thenThrow(nullPointerException);
357 List<String> actualOnlineUsers = dashboardSearchResultController.getActiveUsers(mockedRequest);
358 assertEquals(expectedActiveUsers, actualOnlineUsers);
363 public void activeUsersTest() {
364 EPUser user = mockUser.mockEPUser();
365 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
366 PortalRestResponse<List<String>> expectedResult = new PortalRestResponse<List<String>>();
367 expectedResult.setMessage("success");
368 expectedResult.setResponse(new ArrayList<>());
369 expectedResult.setStatus(PortalRestStatusEnum.OK);
370 PortalRestResponse<List<String>> actualResult = dashboardSearchResultController.activeUsers(mockedRequest);
372 assertEquals(actualResult, expectedResult);
377 public void activeUsersIfUserNullTest() {
379 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
380 PortalRestResponse<List<String>> expectedResult = new PortalRestResponse<List<String>>();
381 expectedResult.setMessage("User object is null? - check logs");
382 expectedResult.setResponse(new ArrayList<>());
383 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
384 PortalRestResponse<List<String>> actualResult = dashboardSearchResultController.activeUsers(mockedRequest);
385 assertEquals(actualResult, expectedResult);
390 public void activeUsersExceptionTest() {
391 EPUser user = mockUser.mockEPUser();
392 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
393 PortalRestResponse<List<String>> expectedResult = new PortalRestResponse<List<String>>();
394 expectedResult.setMessage("null - check logs.");
395 expectedResult.setResponse(new ArrayList<>());
396 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
397 Mockito.when(searchService.getRelatedUsers(user.getLoginId())).thenThrow(nullPointerException);
398 PortalRestResponse<List<String>> actualResult = dashboardSearchResultController.activeUsers(mockedRequest);
399 assertEquals(actualResult, expectedResult);