07e1745b03bb4d277e1c79f194a549a8c86fa292
[portal/sdk.git] /
1 /*
2  * ============LICENSE_START==========================================
3  * ONAP Portal SDK
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  * 
37  */
38 package org.onap.portalsdk.analytics.model.runtime;
39
40 import static org.junit.Assert.assertEquals;
41
42 import java.io.OutputStreamWriter;
43 import java.io.PrintWriter;
44 import java.io.StringWriter;
45 import java.sql.ResultSet;
46 import java.sql.ResultSetMetaData;
47 import java.util.ArrayList;
48 import java.util.List;
49 import java.util.Vector;
50
51 import javax.servlet.ServletContext;
52 import javax.servlet.ServletOutputStream;
53 import javax.servlet.http.HttpServletRequest;
54 import javax.servlet.http.HttpServletResponse;
55
56 import org.junit.Before;
57 import org.junit.Test;
58 import org.junit.runner.RunWith;
59 import org.mockito.InjectMocks;
60 import org.mockito.Matchers;
61 import org.mockito.Mock;
62 import org.mockito.Mockito;
63 import org.mockito.MockitoAnnotations;
64 import org.onap.portalsdk.analytics.controller.Action;
65 import org.onap.portalsdk.analytics.controller.ActionMapping;
66 import org.onap.portalsdk.analytics.controller.ErrorHandler;
67 import org.onap.portalsdk.analytics.error.RaptorException;
68 import org.onap.portalsdk.analytics.model.DataCache;
69 import org.onap.portalsdk.analytics.model.ReportHandler;
70 import org.onap.portalsdk.analytics.model.ReportLoader;
71 import org.onap.portalsdk.analytics.model.base.IdNameValue;
72 import org.onap.portalsdk.analytics.model.base.ReportWrapper;
73 import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
74 import org.onap.portalsdk.analytics.model.definition.wizard.ColumnJSON;
75 import org.onap.portalsdk.analytics.model.definition.wizard.DefinitionJSON;
76 import org.onap.portalsdk.analytics.system.AppUtils;
77 import org.onap.portalsdk.analytics.system.ConnectionUtils;
78 import org.onap.portalsdk.analytics.system.DbUtils;
79 import org.onap.portalsdk.analytics.system.Globals;
80 import org.onap.portalsdk.analytics.system.fusion.web.RaptorControllerAsync;
81 import org.onap.portalsdk.analytics.util.AppConstants;
82 import org.onap.portalsdk.analytics.util.DataSet;
83 import org.onap.portalsdk.analytics.util.Utils;
84 import org.onap.portalsdk.analytics.util.XSSFilter;
85 import org.onap.portalsdk.analytics.view.ReportData;
86 import org.onap.portalsdk.analytics.xmlobj.CustomReportType;
87 import org.onap.portalsdk.analytics.xmlobj.DataColumnType;
88 import org.onap.portalsdk.analytics.xmlobj.DataSourceList;
89 import org.onap.portalsdk.analytics.xmlobj.FormFieldList;
90 import org.onap.portalsdk.analytics.xmlobj.FormFieldType;
91 import org.onap.portalsdk.analytics.xmlobj.MockRunTimeReport;
92 import org.onap.portalsdk.analytics.xmlobj.MockitoTestSuite;
93 import org.onap.portalsdk.core.domain.User;
94 import org.onap.portalsdk.core.service.DataAccessService;
95 import org.onap.portalsdk.core.util.SecurityCodecUtil;
96 import org.onap.portalsdk.core.web.support.UserUtils;
97 import org.owasp.esapi.ESAPI;
98 import org.owasp.esapi.codecs.Codec;
99 import org.powermock.api.mockito.PowerMockito;
100 import org.powermock.core.classloader.annotations.PrepareForTest;
101 import org.powermock.modules.junit4.PowerMockRunner;
102 import org.powermock.reflect.exceptions.MethodInvocationException;
103
104 @RunWith(PowerMockRunner.class)
105 @PrepareForTest({ AppConstants.class, Globals.class, AppUtils.class, ReportWrapper.class, DataCache.class,
106                 DbUtils.class, DataSet.class , ReportLoader.class ,ReportRuntime.class, Utils.class, ESAPI.class, 
107                 Codec.class,SecurityCodecUtil.class , ConnectionUtils.class, XSSFilter.class})
108 public class RaptorControllerAsyncTest {
109
110         @InjectMocks
111         RaptorControllerAsync raptorControllerAsync = new RaptorControllerAsync();
112
113         @Before
114         public void setup() {
115                 MockitoAnnotations.initMocks(this);
116         }
117
118         @Mock
119         DataAccessService dataAccessService;
120
121         @Mock
122         AppConstants appConstants;
123
124         @Mock
125         Globals globals;
126         @Mock
127         Action action = new Action("test", "RaptorControllerAsync", "test", "test");
128         @Mock
129         ActionMapping actionMapping = new ActionMapping();
130         @Mock
131         ReportDefinition reportDefinition ;
132
133         @Mock
134         ReportHandler reportHandler = new ReportHandler();
135         
136         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
137         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
138         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
139         NullPointerException nullPointerException = new NullPointerException();
140         
141         MockRunTimeReport mockRunTimeReport = new MockRunTimeReport();
142
143         @Test
144         public void RaptorSearchToDownloadexcel2007Test() throws Exception {
145                 Mockito.when(mockedRequest.getParameter(AppConstants.RI_ACTION))
146                                 .thenReturn("report.download.excel2007.session");
147                 Mockito.when(mockedRequest.getParameter("action")).thenReturn("report.download.excel2007.session");
148                 User user = new User();
149                 user.setOrgUserId("test12");
150                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
151                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
152                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
153                 Mockito.when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
154                 PowerMockito.mockStatic(Globals.class);
155                 PowerMockito.mockStatic(AppUtils.class);
156                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
157                 Mockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test12");
158                 ReportRuntime reportRuntime = mockRunTimeReport.mockReportRuntime();
159                 ReportData reportData = PowerMockito.mock(ReportData.class);
160                 Mockito.when(mockedRequest.getSession().getAttribute("parent_test" + "_rr")).thenReturn(reportRuntime);
161                 Mockito.when(mockedRequest.getSession().getAttribute("parent_test" + "_rd")).thenReturn(reportData);
162                 OutputStreamWriter outputStreamWriter = PowerMockito.mock(OutputStreamWriter.class);
163                 ServletOutputStream ServletOutputStream = PowerMockito.mock(ServletOutputStream.class);
164                 Mockito.when(mockedResponse.getOutputStream()).thenReturn(ServletOutputStream);
165                 Mockito.doNothing().when(reportHandler).createExcel2007FileContent(Matchers.any(OutputStreamWriter.class), Matchers.any(ReportData.class),
166                                 Matchers.any(ReportRuntime.class), Matchers.any(HttpServletRequest.class), Matchers.any(HttpServletResponse.class), Matchers.any(String.class), Matchers.anyInt());
167                 
168                 reportRuntime = PowerMockito.mock(ReportRuntime.class);
169            Mockito.when(reportRuntime.getReportDataSQL("test12", 500, mockedRequest)).thenReturn("test");
170            StringWriter sw = new StringWriter();
171                 PrintWriter writer = new PrintWriter(sw);
172                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
173                 Mockito.when(Globals.getGenerateSubsetSql()).thenReturn("test");
174                 Mockito.when(Globals.getReportSqlOnlyFirstPart()).thenReturn("test");
175                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
176         }
177
178         @Test(expected = java.lang.NullPointerException.class)
179         public void RaptorSearchNullActionKeyTest() throws Exception {
180                 User user = new User();
181                 user.setOrgUserId("test12");
182                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
183                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
184                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
185                 PowerMockito.mockStatic(Globals.class);
186                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
187                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
188                 Action action1 = new Action("test",
189                                 "org.onap.portalsdk.analytics.system.fusion.service.RaptorControllerAsyncTest", "test", "test");
190                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(action1);
191                 StringWriter sw = new StringWriter();
192                 PrintWriter writer = new PrintWriter(sw);
193                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
194                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
195         }
196
197         public String test(HttpServletRequest request, String str) {
198                 return "test";
199         }
200
201         @Test(expected = java.lang.NullPointerException.class)
202         public void RaptorSearchClassNotFoundExceptionTest() throws Exception {
203                 User user = new User();
204                 user.setOrgUserId("test12");
205                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
206                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
207                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
208                 PowerMockito.mockStatic(Globals.class);
209                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
210                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
211                 Action action1 = new Action("test", "RaptorControllerAsyncTest", "test", "test");
212                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(action1);
213                 StringWriter sw = new StringWriter();
214                 PrintWriter writer = new PrintWriter(sw);
215                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
216                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
217         }
218
219         @Test(expected = java.lang.NullPointerException.class)
220         public void RaptorSearchMethodNotFoundExceptionTest() throws Exception {
221                 User user = new User();
222                 user.setOrgUserId("test12");
223                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
224                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
225                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
226                 PowerMockito.mockStatic(Globals.class);
227                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
228                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
229                 Action action1 = new Action("test",
230                                 "org.onap.portalsdk.analytics.system.fusion.service.RaptorControllerAsyncTest", "newtest", "test");
231                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(action1);
232                 StringWriter sw = new StringWriter();
233                 PrintWriter writer = new PrintWriter(sw);
234                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
235                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
236         }
237
238         public void test1(HttpServletRequest request, String str) {
239                 throw new MethodInvocationException("test");
240         }
241
242         @Test(expected = java.lang.NullPointerException.class)
243         public void RaptorSearchMethodInvocationFoundExceptionTest() throws Exception {
244                 User user = new User();
245                 user.setOrgUserId("test12");
246                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
247                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
248                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
249                 PowerMockito.mockStatic(Globals.class);
250                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
251                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
252                 Action action1 = new Action("test",
253                                 "org.onap.portalsdk.analytics.system.fusion.service.RaptorControllerAsyncTest", "test1", null);
254                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(action1);
255                 StringWriter sw = new StringWriter();
256                 PrintWriter writer = new PrintWriter(sw);
257                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
258                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
259         }
260
261         @Test(expected = java.lang.NullPointerException.class)
262         public void RaptorSearchRaptorExceptionTest() throws Exception {
263                 User user = new User();
264                 user.setOrgUserId("test12");
265                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
266                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
267                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
268                 PowerMockito.mockStatic(Globals.class);
269                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
270                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
271                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(null);
272                 StringWriter sw = new StringWriter();
273                 PrintWriter writer = new PrintWriter(sw);
274                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
275                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
276         }
277
278         @Test
279         public void RaptorSearchNoUserTest() throws Exception {
280
281                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(null);
282                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
283                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
284                 PowerMockito.mockStatic(Globals.class);
285                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
286                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
287                 Action action1 = new Action("test",
288                                 "org.onap.portalsdk.analytics.system.fusion.service.RaptorControllerAsyncTest", "test1", null);
289                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(action1);
290                 StringWriter sw = new StringWriter();
291                 PrintWriter writer = new PrintWriter(sw);
292                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
293                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
294         }
295
296         @Test(expected = java.lang.NullPointerException.class)
297         public void RaptorSearchGlobalyTest() throws Exception {
298                 User user = new User();
299                 user.setOrgUserId("test12");
300                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
301                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
302                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
303                 PowerMockito.mockStatic(Globals.class);
304                 Mockito.when(Globals.isSystemInitialized()).thenReturn(false);
305                 Mockito.when(Globals.getRaptorActionMapping()).thenReturn(actionMapping);
306                 Action action1 = new Action("test",
307                                 "org.onap.portalsdk.analytics.system.fusion.service.RaptorControllerAsyncTest", "test", "test");
308                 Mockito.when(actionMapping.getAction(Matchers.anyString())).thenReturn(action1);
309                 StringWriter sw = new StringWriter();
310                 PrintWriter writer = new PrintWriter(sw);
311                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
312                 ErrorHandler errorHandler = PowerMockito.mock(ErrorHandler.class);
313                 Mockito.when(errorHandler.processFatalErrorJSON(Matchers.any(HttpServletRequest.class), Matchers.any(RaptorException.class))).thenReturn("test");
314                 
315                 
316                 raptorControllerAsync.setViewName("test");
317                 raptorControllerAsync.RaptorSearch(mockedRequest, mockedResponse);
318         }
319
320         @Test
321         public void listColumnsTest() throws Exception {
322                 List<DataColumnType> reportColumnList = new ArrayList<>();
323                 DataColumnType dataColumnType = new DataColumnType();
324                 dataColumnType.setColId("test");
325                 dataColumnType.setColName("testname");
326                 reportColumnList.add(dataColumnType);
327                 ReportDefinition reportDefinition = PowerMockito.mock(ReportDefinition.class);
328                 reportDefinition.setReportName("test");
329                 Mockito.when(reportDefinition.getAllColumns()).thenReturn(reportColumnList);
330                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION))
331                                 .thenReturn(reportDefinition);
332                 ArrayList<ColumnJSON> listJSON = new ArrayList<ColumnJSON>();
333                 ColumnJSON columnJSON = new ColumnJSON();
334                 columnJSON.setId("test");
335                 columnJSON.setName("testname");
336                 listJSON.add(columnJSON);
337                 assertEquals(listJSON.get(0).getId(),
338                                 raptorControllerAsync.listColumns(mockedRequest, mockedResponse).get(0).getId());
339         }
340
341         @Test
342         public void list_drilldown_reports() throws Exception {
343                 PowerMockito.mockStatic(Globals.class);
344                 PowerMockito.mockStatic(DbUtils.class);
345
346                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
347                 ResultSet rs = PowerMockito.mock(ResultSet.class);
348                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
349                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
350                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
351                 DataSet datset = PowerMockito.mock(DataSet.class);
352                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
353                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
354                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
355                 CustomReportType customReportType = new CustomReportType();
356                 customReportType.setReportType("test");
357                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
358                                 "1", true);
359                 ReportDefinition reportDefinition = PowerMockito.mock(ReportDefinition.class);
360                 Mockito.doNothing().when(reportDefinition).generateWizardSequence(null);
361                 reportDefinition = new ReportDefinition(reportWrapper, mockedRequest);
362                 PowerMockito.mockStatic(DataCache.class);
363                 PowerMockito.mockStatic(AppUtils.class);
364                 Vector<IdNameValue> reportnames = new Vector<>();
365                 IdNameValue idNameValue = new IdNameValue();
366                 idNameValue.setId("1");
367                 reportnames.add(idNameValue);
368                 Mockito.when(DataCache.getPublicReportIdNames()).thenReturn(reportnames);
369                 reportDefinition.setReportName("test");
370                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION))
371                                 .thenReturn(reportDefinition);
372                 Mockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test12");
373                 Vector userRoles = new Vector<>();
374                 userRoles.add(idNameValue);
375                 Mockito.when(AppUtils.getUserRoles(mockedRequest)).thenReturn(userRoles);
376
377                 Vector groupReportIdNames = new Vector<>();
378                 groupReportIdNames.add(idNameValue);
379                 Mockito.when(DataCache.getGroupAccessibleReportIdNames("test12", userRoles)).thenReturn(groupReportIdNames);
380                 Mockito.when(DataCache.getPrivateAccessibleReportIdNames("test12", userRoles)).thenReturn(groupReportIdNames);
381                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
382                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
383                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
384                 assertEquals(3, raptorControllerAsync.list_drilldown_reports(mockedRequest, mockedResponse).size());
385         }
386
387         @Test
388         public void list_drilldown_reportsNull() throws Exception {
389                 PowerMockito.mockStatic(Globals.class);
390                 PowerMockito.mockStatic(DbUtils.class);
391
392                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
393                 ResultSet rs = PowerMockito.mock(ResultSet.class);
394                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
395                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
396                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
397                 DataSet datset = PowerMockito.mock(DataSet.class);
398                 // datset = new DataSet(rs);
399                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
400                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
401                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
402                 CustomReportType customReportType = new CustomReportType();
403                 customReportType.setReportType("test");
404                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
405                                 "1", true);
406                 ReportDefinition reportDefinition = PowerMockito.mock(ReportDefinition.class);
407                 Mockito.doNothing().when(reportDefinition).generateWizardSequence(null);
408                 reportDefinition = new ReportDefinition(reportWrapper, mockedRequest);
409                 PowerMockito.mockStatic(DataCache.class);
410                 PowerMockito.mockStatic(AppUtils.class);
411                 Vector<IdNameValue> reportnames = new Vector<>();
412                 IdNameValue idNameValue = new IdNameValue();
413                 idNameValue.setId("-1");
414                 reportnames.add(idNameValue);
415                 Mockito.when(DataCache.getPublicReportIdNames()).thenReturn(reportnames);
416                 reportDefinition.setReportName("test");
417                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION))
418                                 .thenReturn(reportDefinition);
419                 Mockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test12");
420                 Vector userRoles = new Vector<>();
421                 userRoles.add(idNameValue);
422                 Mockito.when(AppUtils.getUserRoles(mockedRequest)).thenReturn(userRoles);
423
424                 Vector groupReportIdNames = new Vector<>();
425                 groupReportIdNames.add(idNameValue);
426                 Mockito.when(DataCache.getGroupAccessibleReportIdNames("test12", userRoles)).thenReturn(groupReportIdNames);
427                 Mockito.when(DataCache.getPrivateAccessibleReportIdNames("test12", userRoles)).thenReturn(groupReportIdNames);
428                 ServletContext servletContext = PowerMockito.mock(ServletContext.class);
429                 Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
430                 Mockito.when(Globals.isSystemInitialized()).thenReturn(true);
431                 assertEquals(0, raptorControllerAsync.list_drilldown_reports(mockedRequest, mockedResponse).size());
432         }
433         
434         @Test
435         public void listFormFields() throws Exception
436         {
437                 PowerMockito.mockStatic(Globals.class);
438                 PowerMockito.mockStatic(DbUtils.class);
439
440                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
441                 ResultSet rs = PowerMockito.mock(ResultSet.class);
442                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
443                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
444                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
445                 DataSet datset = PowerMockito.mock(DataSet.class);
446                 // datset = new DataSet(rs);
447                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
448                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
449                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
450                 CustomReportType customReportType = new CustomReportType();
451                 customReportType.setReportType("test");
452                 FormFieldList formFieldList= new FormFieldList();
453                 formFieldList.setComment("test");
454                 customReportType.setFormFieldList(formFieldList);
455                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
456                                 "1", true);
457                 ReportDefinition reportDefinition = PowerMockito.mock(ReportDefinition.class);
458                 Mockito.doNothing().when(reportDefinition).generateWizardSequence(null);
459                 reportDefinition = new ReportDefinition(reportWrapper, mockedRequest);
460                 
461                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(reportDefinition);
462                 
463                 assertEquals(raptorControllerAsync.listFormFields(mockedRequest, mockedResponse).size(), 0);
464         }
465         
466         @Test
467         public void listFormFieldsTest() throws Exception
468         {
469                 PowerMockito.mockStatic(Globals.class);
470                 PowerMockito.mockStatic(DbUtils.class);
471
472                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
473                 ResultSet rs = PowerMockito.mock(ResultSet.class);
474                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
475                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
476                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
477                 DataSet datset = PowerMockito.mock(DataSet.class);
478                 // datset = new DataSet(rs);
479                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
480                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
481                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
482                 CustomReportType customReportType = new CustomReportType();
483                 customReportType.setReportType("test");
484                 FormFieldList formFieldList= PowerMockito.mock(FormFieldList.class);
485                 formFieldList.setComment("test");
486                 customReportType.setFormFieldList(formFieldList);
487                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
488                                 "1", true);
489                 ReportDefinition reportDefinition = PowerMockito.mock(ReportDefinition.class);
490                 Mockito.doNothing().when(reportDefinition).generateWizardSequence(null);
491                 reportDefinition = new ReportDefinition(reportWrapper, mockedRequest);
492                 List<FormFieldType> formField = new ArrayList<>();
493                 FormFieldType formFieldType = new FormFieldType();
494                 formFieldType.setFieldId("id");
495                 formField.add(formFieldType);
496                 Mockito.when(formFieldList.getFormField()).thenReturn(formField);
497                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(reportDefinition);
498                 assertEquals(raptorControllerAsync.listFormFields(mockedRequest, mockedResponse).size(), 1);
499         }
500         
501         @Test
502         public void listFormFieldsNullTest() throws Exception
503         {
504                 PowerMockito.mockStatic(Globals.class);
505                 PowerMockito.mockStatic(DbUtils.class);
506
507                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
508                 ResultSet rs = PowerMockito.mock(ResultSet.class);
509                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
510                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
511                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
512                 DataSet datset = PowerMockito.mock(DataSet.class);
513                 // datset = new DataSet(rs);
514                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
515                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
516                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
517                 CustomReportType customReportType = new CustomReportType();
518                 customReportType.setReportType("test");
519                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
520                                 "1", true);
521                 ReportDefinition reportDefinition = PowerMockito.mock(ReportDefinition.class);
522                 Mockito.doNothing().when(reportDefinition).generateWizardSequence(null);
523                 reportDefinition = new ReportDefinition(reportWrapper, mockedRequest);
524                                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(reportDefinition);
525                 assertEquals(raptorControllerAsync.listFormFields(mockedRequest, mockedResponse).size(),0);
526         }
527         
528         @Test(expected = java.lang.NullPointerException.class)
529         public void saveDefTabWiseDataIfIdInSessionTest() throws Exception
530         {
531                 DefinitionJSON definitionJSON = new DefinitionJSON();
532                 definitionJSON.setTabId("1");
533                 PowerMockito.mockStatic(ReportLoader.class);
534                 Mockito.when(ReportLoader.loadCustomReportXML("1")).thenReturn("test");
535                 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
536                 PowerMockito.mockStatic(Globals.class);
537                 PowerMockito.mockStatic(DbUtils.class);
538
539                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
540                 ResultSet rs = PowerMockito.mock(ResultSet.class);
541                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
542                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
543                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
544                 DataSet datset = PowerMockito.mock(DataSet.class);
545                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
546                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
547                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
548                 CustomReportType customReportType = new CustomReportType();
549                 customReportType.setReportType("test");
550                 DataSourceList list = new DataSourceList();
551                 customReportType.setDataSourceList(list);
552                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
553                                 "1", true);
554                 rr = new ReportRuntime(reportWrapper);
555                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(null);
556                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
557                 raptorControllerAsync.saveDefTabWiseData("test", definitionJSON, mockedRequest, mockedResponse);
558         }
559     
560         
561         @Test
562         public void reportChartReceiveTest() throws Exception
563         {
564                 
565                 PowerMockito.mockStatic(ReportLoader.class);
566                 Mockito.when(ReportLoader.loadCustomReportXML("1")).thenReturn("test");
567                 ReportRuntime rr = mockRunTimeReport.mockReportRuntime();
568                 PowerMockito.mockStatic(Globals.class);
569                 PowerMockito.mockStatic(DbUtils.class);
570                 Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
571                 ResultSet rs = PowerMockito.mock(ResultSet.class);
572                 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
573                 Mockito.when(rsmd.getColumnCount()).thenReturn(1);
574                 Mockito.when(rs.getMetaData()).thenReturn(rsmd);
575                 DataSet datset = PowerMockito.mock(DataSet.class);
576                 Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
577                 Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
578                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
579                 CustomReportType customReportType = new CustomReportType();
580                 customReportType.setReportType("test");
581                 DataSourceList list = new DataSourceList();
582                 customReportType.setDataSourceList(list);
583                 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
584                                 "1", true);
585         Mockito.when( mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
586         ChartJSON chartJSON = mockChartJSON();
587         raptorControllerAsync.reportChartReceive(chartJSON, mockedRequest, mockedResponse);
588                  
589         }
590         
591         
592         public ChartJSON mockChartJSON()
593         {
594                 ChartJSON chartJSON = new ChartJSON();
595         chartJSON.setAnimation(false);
596         chartJSON.setWidth("width");
597         chartJSON.setHeight("height");
598         chartJSON.setShowTitle(true);
599         BarChartOptions barChartOptions= new BarChartOptions();
600         chartJSON.setBarChartOptions(barChartOptions);
601         DomainAxisJSON domainAxisJSON= new DomainAxisJSON();
602         domainAxisJSON.setValue("test");
603         chartJSON.setDomainAxisJSON(domainAxisJSON);
604         ArrayList<RangeAxisJSON> rangeAxisJSONList = new ArrayList<>();
605         RangeAxisJSON rangeAxisJSON = new RangeAxisJSON();
606         rangeAxisJSONList.add(rangeAxisJSON);
607         chartJSON.setRangeAxisRemoveList(rangeAxisJSONList);
608         ChartTypeJSON chartTypeJSON = new ChartTypeJSON();
609         chartTypeJSON.setValue("BarChart3D");
610         chartJSON.setChartTypeJSON(chartTypeJSON);
611         chartJSON.setRangeAxisList(rangeAxisJSONList);
612         CommonChartOptions commonChartOptions = new CommonChartOptions();
613         commonChartOptions.setLegendLabelAngle("test");
614         commonChartOptions.setLegendPosition("legendPosition");
615         commonChartOptions.setHideLegend(false);
616         chartJSON.setCommonChartOptions(commonChartOptions);
617         return chartJSON;
618         }
619         
620 }