1 package org.openecomp.portalapp.portal.test.controller;
3 import static org.junit.Assert.assertEquals;
5 import java.util.ArrayList;
6 import java.util.HashMap;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.mockito.InjectMocks;
16 import org.mockito.Mock;
17 import org.mockito.Mockito;
18 import org.mockito.MockitoAnnotations;
19 import org.openecomp.portalapp.portal.controller.DashboardSearchResultController;
20 import org.openecomp.portalapp.portal.domain.EPUser;
21 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
22 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
23 import org.openecomp.portalapp.portal.ecomp.model.SearchResultItem;
24 import org.openecomp.portalapp.portal.service.DashboardSearchService;
25 import org.openecomp.portalapp.portal.service.DashboardSearchServiceImpl;
26 import org.openecomp.portalapp.portal.test.core.MockEPUser;
27 import org.openecomp.portalapp.portal.transport.CommonWidget;
28 import org.openecomp.portalapp.portal.transport.CommonWidgetMeta;
29 import org.openecomp.portalapp.test.framework.MockitoTestSuite;
30 import org.openecomp.portalapp.util.EPUserUtils;
32 public class DashboardSearchResultControllerTest {
35 DashboardSearchService searchService = new DashboardSearchServiceImpl();
38 DashboardSearchResultController dashboardSearchResultController = new DashboardSearchResultController();
42 MockitoAnnotations.initMocks(this);
45 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
47 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
48 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
49 NullPointerException nullPointerException = new NullPointerException();
52 EPUserUtils ePUserUtils = new EPUserUtils();
54 MockEPUser mockUser = new MockEPUser();
57 public void getWidgetDataTest() {
58 String resourceType = "test";
59 PortalRestResponse<CommonWidgetMeta> ecpectedPortalRestResponse = new PortalRestResponse<CommonWidgetMeta>();
60 ecpectedPortalRestResponse.setMessage("success");
61 ecpectedPortalRestResponse.setResponse(null);
62 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
63 Mockito.when(searchService.getWidgetData(resourceType)).thenReturn(null);
64 PortalRestResponse<CommonWidgetMeta> acutualPoratlRestResponse = dashboardSearchResultController
65 .getWidgetData(mockedRequest, resourceType);
66 assertEquals(acutualPoratlRestResponse, ecpectedPortalRestResponse);
71 public void saveWidgetDataBulkTest() {
72 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
73 ecpectedPortalRestResponse.setMessage("success");
74 ecpectedPortalRestResponse.setResponse(null);
75 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
77 CommonWidgetMeta commonWidgetMeta = new CommonWidgetMeta();
78 commonWidgetMeta.setCategory("test");
80 List<CommonWidget> commonWidgetList = new ArrayList<CommonWidget>();
81 CommonWidget commonWidget = new CommonWidget();
82 commonWidget.setId((long) 1);
83 commonWidget.setCategory("test");
84 commonWidget.setHref("test_href");
85 commonWidget.setTitle("test_title");
86 commonWidget.setContent("test_content");
87 commonWidget.setEventDate(null);
88 commonWidget.setSortOrder(1);
90 commonWidgetList.add(commonWidget);
92 commonWidgetMeta.setItems(commonWidgetList);
94 Mockito.when(searchService.saveWidgetDataBulk(commonWidgetMeta)).thenReturn(null);
96 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
97 .saveWidgetDataBulk(commonWidgetMeta);
98 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
102 public void saveWidgetDataBulkIfCategoryNullTest() {
103 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
104 ecpectedPortalRestResponse.setMessage("java.text.ParseException: Unparseable date: \"1\"");
105 ecpectedPortalRestResponse.setResponse(null);
106 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
108 CommonWidgetMeta commonWidgetMeta = new CommonWidgetMeta();
109 commonWidgetMeta.setCategory("test");
111 List<CommonWidget> commonWidgetList = new ArrayList<CommonWidget>();
112 CommonWidget commonWidget = new CommonWidget();
113 commonWidget.setId(null);
114 commonWidget.setCategory(null);
115 commonWidget.setHref(null);
116 commonWidget.setTitle(null);
117 commonWidget.setContent("test_content");
118 commonWidget.setEventDate("1");
119 commonWidget.setSortOrder(1);
120 commonWidgetList.add(commonWidget);
121 commonWidgetMeta.setItems(commonWidgetList);
123 Mockito.when(searchService.saveWidgetDataBulk(commonWidgetMeta)).thenReturn(null);
125 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
126 .saveWidgetDataBulk(commonWidgetMeta);
127 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
131 public void saveWidgetDataTest() {
132 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
133 ecpectedPortalRestResponse.setMessage("success");
134 ecpectedPortalRestResponse.setResponse(null);
135 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
136 CommonWidget commonWidget = new CommonWidget();
137 commonWidget.setId((long) 1);
138 commonWidget.setCategory("test");
139 commonWidget.setHref("test_href");
140 commonWidget.setTitle("test_title");
141 commonWidget.setContent("test_content");
142 commonWidget.setEventDate(null);
143 commonWidget.setSortOrder(1);
145 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
147 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
148 .saveWidgetData(commonWidget);
149 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
154 public void saveWidgetDataExceptionTest() {
155 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
156 ecpectedPortalRestResponse.setMessage("ERROR");
157 ecpectedPortalRestResponse.setResponse("Cateogry cannot be null or empty");
158 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
159 CommonWidget commonWidget = new CommonWidget();
160 commonWidget.setId((long) 1);
161 commonWidget.setCategory("");
162 commonWidget.setHref("test_href");
163 commonWidget.setTitle("test_title");
164 commonWidget.setContent("test_content");
165 commonWidget.setEventDate(null);
166 commonWidget.setSortOrder(1);
168 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
170 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
171 .saveWidgetData(commonWidget);
172 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
177 public void saveWidgetDataDateErrorTest() {
178 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
179 ecpectedPortalRestResponse.setMessage("java.text.ParseException: Unparseable date: \"1\"");
180 ecpectedPortalRestResponse.setResponse(null);
181 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
182 CommonWidget commonWidget = new CommonWidget();
183 commonWidget.setId((long) 1);
184 commonWidget.setCategory("test");
185 commonWidget.setHref("test_href");
186 commonWidget.setTitle("test_title");
187 commonWidget.setContent("test_content");
188 commonWidget.setEventDate("1");
189 commonWidget.setSortOrder(1);
191 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
193 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
194 .saveWidgetData(commonWidget);
195 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
199 public void deleteWidgetDataTest() {
200 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
201 ecpectedPortalRestResponse.setMessage("success");
202 ecpectedPortalRestResponse.setResponse(null);
203 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
204 CommonWidget commonWidget = new CommonWidget();
205 commonWidget.setId((long) 1);
206 commonWidget.setCategory("test");
207 commonWidget.setHref("test_href");
208 commonWidget.setTitle("test_title");
209 commonWidget.setContent("test_content");
210 commonWidget.setEventDate(null);
211 commonWidget.setSortOrder(1);
212 Mockito.when(searchService.deleteWidgetData(commonWidget)).thenReturn(null);
214 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
215 .deleteWidgetData(commonWidget);
216 System.out.println(actualPortalRestResponse);
217 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
221 public void searchPortalIfUserIsNull() {
223 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
224 String searchString = "test";
226 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
227 expectedResult.setMessage("searchPortal: User object is null? - check logs");
228 expectedResult.setResponse(new HashMap<String, List<SearchResultItem>>());
229 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
230 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
231 .searchPortal(mockedRequest, searchString);
232 assertEquals(expectedResult, actualResult);
236 public void searchPortalIfSearchStringNullTest() {
237 EPUser user = mockUser.mockEPUser();
239 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
240 String searchString = null;
242 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
243 expectedResult.setMessage("searchPortal: String string is null");
244 expectedResult.setResponse(new HashMap<String, List<SearchResultItem>>());
245 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
247 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
248 .searchPortal(mockedRequest, searchString);
249 assertEquals(expectedResult, actualResult);
253 public void searchPortalIfSearchTest() {
254 EPUser user = mockUser.mockEPUser();
256 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
257 String searchString = "test";
258 List<SearchResultItem> searchResultItemList = new ArrayList<SearchResultItem>();
259 SearchResultItem searchResultItem = new SearchResultItem();
261 searchResultItem.setId((long) 1);
262 searchResultItem.setCategory("test");
263 searchResultItem.setName("test_name");
264 searchResultItem.setTarget("test_target");
265 searchResultItem.setUuid("test_UUId");
266 searchResultItemList.add(searchResultItem);
267 Map<String, List<SearchResultItem>> expectedResultMap = new HashMap<String, List<SearchResultItem>>();
268 expectedResultMap.put(searchString, searchResultItemList);
270 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
271 expectedResult.setMessage("success");
272 expectedResult.setResponse(expectedResultMap);
273 expectedResult.setStatus(PortalRestStatusEnum.OK);
275 Mockito.when(searchService.searchResults(user.getLoginId(), searchString)).thenReturn(expectedResultMap);
276 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
277 .searchPortal(mockedRequest, searchString);
278 assertEquals(expectedResult, actualResult);
283 public void searchPortalIfSearchExcptionTest() {
284 EPUser user = mockUser.mockEPUser();
286 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
287 String searchString = "test";
289 PortalRestResponse<Map<String, List<SearchResultItem>>> expectedResult = new PortalRestResponse<Map<String, List<SearchResultItem>>>();
290 expectedResult.setMessage("null - check logs.");
291 expectedResult.setResponse(new HashMap<String, List<SearchResultItem>>());
292 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
294 Mockito.when(searchService.searchResults(user.getLoginId(), searchString)).thenThrow(nullPointerException);
295 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
296 .searchPortal(mockedRequest, searchString);
297 assertEquals(expectedResult, actualResult);
301 public void getActiveUsersTest() {
302 List<String> expectedActiveUsers = new ArrayList<String>();
303 EPUser user = mockUser.mockEPUser();
305 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
306 String userId = user.getOrgUserId();
307 Mockito.when(searchService.getRelatedUsers(userId)).thenReturn(expectedActiveUsers);
308 List<String> actualOnlineUsers = dashboardSearchResultController.getActiveUsers(mockedRequest);
309 assertEquals(expectedActiveUsers, actualOnlineUsers);
314 public void getActiveUsersExceptionTest() {
315 List<String> expectedActiveUsers = new ArrayList<String>();
316 EPUser user = mockUser.mockEPUser();
317 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
318 String userId = user.getOrgUserId();
319 Mockito.when(searchService.getRelatedUsers(userId)).thenThrow(nullPointerException);
320 List<String> actualOnlineUsers = dashboardSearchResultController.getActiveUsers(mockedRequest);
321 assertEquals(expectedActiveUsers, actualOnlineUsers);
326 public void activeUsersTest() {
327 EPUser user = mockUser.mockEPUser();
328 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
329 PortalRestResponse<List<String>> expectedResult = new PortalRestResponse<List<String>>();
330 expectedResult.setMessage("success");
331 expectedResult.setResponse(new ArrayList<>());
332 expectedResult.setStatus(PortalRestStatusEnum.OK);
333 PortalRestResponse<List<String>> actualResult = dashboardSearchResultController.activeUsers(mockedRequest);
335 assertEquals(actualResult, expectedResult);
340 public void activeUsersIfUserNullTest() {
342 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
343 PortalRestResponse<List<String>> expectedResult = new PortalRestResponse<List<String>>();
344 expectedResult.setMessage("User object is null? - check logs");
345 expectedResult.setResponse(new ArrayList<>());
346 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
347 PortalRestResponse<List<String>> actualResult = dashboardSearchResultController.activeUsers(mockedRequest);
348 assertEquals(actualResult, expectedResult);
353 public void activeUsersExceptionTest() {
354 EPUser user = mockUser.mockEPUser();
355 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
356 PortalRestResponse<List<String>> expectedResult = new PortalRestResponse<List<String>>();
357 expectedResult.setMessage("null - check logs.");
358 expectedResult.setResponse(new ArrayList<>());
359 expectedResult.setStatus(PortalRestStatusEnum.ERROR);
360 Mockito.when(searchService.getRelatedUsers(user.getLoginId())).thenThrow(nullPointerException);
361 PortalRestResponse<List<String>> actualResult = dashboardSearchResultController.activeUsers(mockedRequest);
362 assertEquals(actualResult, expectedResult);