[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-BE-common-test / src / main / java / org / openecomp / portalapp / portal / test / controller / DashboardSearchResultControllerTest.java
1 package org.openecomp.portalapp.portal.test.controller;
2
3 import static org.junit.Assert.assertEquals;
4
5 import java.util.ArrayList;
6 import java.util.HashMap;
7 import java.util.List;
8 import java.util.Map;
9
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12
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;
31
32 public class DashboardSearchResultControllerTest {
33
34         @Mock
35         DashboardSearchService searchService = new DashboardSearchServiceImpl();
36
37         @InjectMocks
38         DashboardSearchResultController dashboardSearchResultController = new DashboardSearchResultController();
39
40         @Before
41         public void setup() {
42                 MockitoAnnotations.initMocks(this);
43         }
44
45         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
46
47         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
48         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
49         NullPointerException nullPointerException = new NullPointerException();
50
51         @Mock
52         EPUserUtils ePUserUtils = new EPUserUtils();
53
54         MockEPUser mockUser = new MockEPUser();
55
56         @Test
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);
67
68         }
69
70         @Test
71         public void saveWidgetDataBulkTest() {
72                 PortalRestResponse<String> ecpectedPortalRestResponse = new PortalRestResponse<String>();
73                 ecpectedPortalRestResponse.setMessage("success");
74                 ecpectedPortalRestResponse.setResponse(null);
75                 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
76
77                 CommonWidgetMeta commonWidgetMeta = new CommonWidgetMeta();
78                 commonWidgetMeta.setCategory("test");
79
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);
89
90                 commonWidgetList.add(commonWidget);
91
92                 commonWidgetMeta.setItems(commonWidgetList);
93
94                 Mockito.when(searchService.saveWidgetDataBulk(commonWidgetMeta)).thenReturn(null);
95
96                 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
97                                 .saveWidgetDataBulk(commonWidgetMeta);
98                 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
99         }
100
101         @Test
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);
107
108                 CommonWidgetMeta commonWidgetMeta = new CommonWidgetMeta();
109                 commonWidgetMeta.setCategory("test");
110
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);
122
123                 Mockito.when(searchService.saveWidgetDataBulk(commonWidgetMeta)).thenReturn(null);
124
125                 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
126                                 .saveWidgetDataBulk(commonWidgetMeta);
127                 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
128         }
129
130         @Test
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);
144
145                 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
146
147                 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
148                                 .saveWidgetData(commonWidget);
149                 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
150
151         }
152
153         @Test
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);
167
168                 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
169
170                 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
171                                 .saveWidgetData(commonWidget);
172                 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
173
174         }
175
176         @Test
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);
190
191                 Mockito.when(searchService.saveWidgetData(commonWidget)).thenReturn(null);
192
193                 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
194                                 .saveWidgetData(commonWidget);
195                 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
196
197         }
198
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);
213
214                 PortalRestResponse<String> actualPortalRestResponse = dashboardSearchResultController
215                                 .deleteWidgetData(commonWidget);
216                 System.out.println(actualPortalRestResponse);
217                 assertEquals(actualPortalRestResponse, ecpectedPortalRestResponse);
218         }
219
220         @Test
221         public void searchPortalIfUserIsNull() {
222                 EPUser user = null;
223                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
224                 String searchString = "test";
225
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);
233         }
234
235         @Test
236         public void searchPortalIfSearchStringNullTest() {
237                 EPUser user = mockUser.mockEPUser();
238                 ;
239                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
240                 String searchString = null;
241
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);
246
247                 PortalRestResponse<Map<String, List<SearchResultItem>>> actualResult = dashboardSearchResultController
248                                 .searchPortal(mockedRequest, searchString);
249                 assertEquals(expectedResult, actualResult);
250         }
251
252         @Test
253         public void searchPortalIfSearchTest() {
254                 EPUser user = mockUser.mockEPUser();
255                 ;
256                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
257                 String searchString = "test";
258                 List<SearchResultItem> searchResultItemList = new ArrayList<SearchResultItem>();
259                 SearchResultItem searchResultItem = new SearchResultItem();
260
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);
269
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);
274
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);
279
280         }
281
282         @Test
283         public void searchPortalIfSearchExcptionTest() {
284                 EPUser user = mockUser.mockEPUser();
285                 ;
286                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
287                 String searchString = "test";
288
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);
293
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);
298         }
299
300         @Test
301         public void getActiveUsersTest() {
302                 List<String> expectedActiveUsers = new ArrayList<String>();
303                 EPUser user = mockUser.mockEPUser();
304                 ;
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);
310
311         }
312
313         @Test
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);
322
323         }
324
325         @Test
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);
334
335                 assertEquals(actualResult, expectedResult);
336
337         }
338
339         @Test
340         public void activeUsersIfUserNullTest() {
341                 EPUser user = null;
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);
349
350         }
351
352         @Test
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);
363
364         }
365
366 }