1 package org.onap.portalsdk.analytics.controller;
3 * ============LICENSE_START==========================================
5 * ===================================================================
6 * Copyright © 2018 AT&T Intellectual Property. All rights reserved.
7 * ===================================================================
9 * Unless otherwise specified, all software contained herein is licensed
10 * under the Apache License, Version 2.0 (the "License");
11 * you may not use this software except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
22 * Unless otherwise specified, all documentation contained herein is licensed
23 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
24 * you may not use this documentation except in compliance with the License.
25 * You may obtain a copy of the License at
27 * https://creativecommons.org/licenses/by/4.0/
29 * Unless required by applicable law or agreed to in writing, documentation
30 * distributed under the License is distributed on an "AS IS" BASIS,
31 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32 * See the License for the specific language governing permissions and
33 * limitations under the License.
35 * ============LICENSE_END============================================
41 import static org.junit.Assert.assertEquals;
42 import static org.mockito.Mockito.when;
43 import static org.powermock.api.mockito.PowerMockito.whenNew;
45 import java.io.IOException;
46 import java.io.InputStream;
47 import java.sql.Connection;
48 import java.sql.PreparedStatement;
49 import java.sql.ResultSet;
50 import java.sql.ResultSetMetaData;
51 import java.util.ArrayList;
52 import java.util.Enumeration;
53 import java.util.List;
54 import java.util.Vector;
56 import javax.servlet.http.HttpServletRequest;
57 import javax.servlet.http.HttpServletResponse;
58 import javax.servlet.http.HttpSession;
60 import org.apache.commons.io.FilenameUtils;
61 import org.junit.Before;
62 import org.junit.Ignore;
63 import org.junit.Test;
64 import org.junit.runner.RunWith;
65 import org.mockito.InjectMocks;
66 import org.mockito.Matchers;
67 import org.mockito.Mock;
68 import org.mockito.Mockito;
69 import org.mockito.MockitoAnnotations;
70 import org.onap.portalsdk.analytics.error.RaptorException;
71 import org.onap.portalsdk.analytics.error.ReportSQLException;
72 import org.onap.portalsdk.analytics.model.DataCache;
73 import org.onap.portalsdk.analytics.model.ReportHandler;
74 import org.onap.portalsdk.analytics.model.ReportLoader;
75 import org.onap.portalsdk.analytics.model.SearchHandler;
76 import org.onap.portalsdk.analytics.model.base.IdNameColLookup;
77 import org.onap.portalsdk.analytics.model.base.IdNameList;
78 import org.onap.portalsdk.analytics.model.base.ReportWrapper;
79 import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
80 import org.onap.portalsdk.analytics.model.definition.ReportSchedule;
81 import org.onap.portalsdk.analytics.model.runtime.ChartWebRuntime;
82 import org.onap.portalsdk.analytics.model.runtime.FormField;
83 import org.onap.portalsdk.analytics.model.runtime.ReportFormFields;
84 import org.onap.portalsdk.analytics.model.runtime.ReportJSONRuntime;
85 import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
86 import org.onap.portalsdk.analytics.model.runtime.VisualManager;
87 import org.onap.portalsdk.analytics.model.search.ReportSearchResultJSON;
88 import org.onap.portalsdk.analytics.system.AppUtils;
89 import org.onap.portalsdk.analytics.system.ConnectionUtils;
90 import org.onap.portalsdk.analytics.system.DbUtils;
91 import org.onap.portalsdk.analytics.system.Globals;
92 import org.onap.portalsdk.analytics.system.IAppUtils;
93 import org.onap.portalsdk.analytics.system.fusion.domain.QuickLink;
94 import org.onap.portalsdk.analytics.util.AppConstants;
95 import org.onap.portalsdk.analytics.util.DataSet;
96 import org.onap.portalsdk.analytics.util.Utils;
97 import org.onap.portalsdk.analytics.view.ReportData;
98 import org.onap.portalsdk.analytics.xmlobj.ChartAdditionalOptions;
99 import org.onap.portalsdk.analytics.xmlobj.CustomReportType;
100 import org.onap.portalsdk.analytics.xmlobj.DashboardReports;
101 import org.onap.portalsdk.analytics.xmlobj.DataColumnList;
102 import org.onap.portalsdk.analytics.xmlobj.DataColumnType;
103 import org.onap.portalsdk.analytics.xmlobj.DataSourceList;
104 import org.onap.portalsdk.analytics.xmlobj.DataSourceType;
105 import org.onap.portalsdk.analytics.xmlobj.FormFieldList;
106 import org.onap.portalsdk.analytics.xmlobj.FormFieldType;
107 import org.onap.portalsdk.analytics.xmlobj.FormatList;
108 import org.onap.portalsdk.analytics.xmlobj.FormatType;
109 import org.onap.portalsdk.analytics.xmlobj.MockitoTestSuite;
110 import org.onap.portalsdk.analytics.xmlobj.Reports;
111 import org.onap.portalsdk.analytics.xmlobj.SemaphoreType;
112 import org.onap.portalsdk.core.logging.format.AlarmSeverityEnum;
113 import org.onap.portalsdk.core.util.SecurityCodecUtil;
114 import org.onap.portalsdk.core.web.support.UserUtils;
115 import org.owasp.esapi.ESAPI;
116 import org.owasp.esapi.Encoder;
117 import org.owasp.esapi.codecs.Codec;
118 import org.powermock.api.mockito.PowerMockito;
119 import org.powermock.core.classloader.annotations.PrepareForTest;
120 import org.powermock.modules.junit4.PowerMockRunner;
122 @RunWith(PowerMockRunner.class)
123 @PrepareForTest({ AppUtils.class, UserUtils.class, ESAPI.class, AppConstants.class, AlarmSeverityEnum.class, ReportWrapper.class,
124 ReportDefinition.class, SecurityCodecUtil.class, Globals.class, DbUtils.class, ReportLoader.class, ConnectionUtils.class, FilenameUtils.class, Utils.class, ReportRuntime.class, DataCache.class, ActionHandler.class})
125 public class ActionHandlerTest {
128 ActionHandler actionHandler = new ActionHandler();
131 Connection connection;
133 PreparedStatement stmt;
142 public void setup() {
143 MockitoAnnotations.initMocks(this);
146 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
147 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
148 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
151 @SuppressWarnings("unchecked")
152 @Test(expected = java.lang.NullPointerException.class)
153 public void reportRunTest_WhenReportTypeIsNotEqualToDashboard() throws Exception {
154 PowerMockito.mockStatic(Globals.class);
155 PowerMockito.mockStatic(DbUtils.class);
156 PowerMockito.mockStatic(ReportLoader.class);
157 PowerMockito.mockStatic(ReportWrapper.class);
158 PowerMockito.mockStatic(AppUtils.class);
159 PowerMockito.mock(AppConstants.class);
160 PowerMockito.mockStatic(ReportDefinition.class);
161 PowerMockito.mockStatic(ESAPI.class);
162 PowerMockito.mockStatic(SecurityCodecUtil.class);
163 when(mockedRequest.getParameter("action")).thenReturn("test");
164 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
165 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("testxyz");
166 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
167 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
168 when(mockedRequest.getSession().getAttribute("FirstDashReport")).thenReturn(rr);
169 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.download");
170 Encoder encoder = PowerMockito.mock(Encoder.class);
171 when(ESAPI.encoder()).thenReturn(encoder);
172 Codec codec = PowerMockito.mock(Codec.class);
173 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
174 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
175 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
176 DataSet set = Mockito.mock(DataSet.class);
177 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
178 when(DbUtils.getConnection()).thenReturn(connection);
179 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn(null);
180 when(rr.getReportID()).thenReturn("test");
181 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_SHOW_BACK_BTN)).thenReturn(true);
182 when(Globals.getLoadCustomReportXml()).thenReturn("java.lang.String");
183 String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><CustomReportType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xsi:type=\"xs:string\"><reportName>name</reportName><reportDescr>desc</reportDescr><chartType>type</chartType><showChartTitle>false</showChartTitle><public>false</public><createId>id</createId><pageNav>false</pageNav></CustomReportType>";
184 when(connection.prepareStatement("1")).thenReturn(stmt);
185 when(stmt.executeQuery()).thenReturn(rs);
186 when(Globals.isWeblogicServer()).thenReturn(true);
187 when(rs.getClob(1)).thenReturn(clob);
188 when(rs.next()).thenReturn(true);
189 when(clob.getAsciiStream()).thenReturn(in);
190 when(in.read(Matchers.any())).thenReturn(1);
191 when(AppUtils.nvl(rr.getLegendLabelAngle())).thenReturn("standard");
192 when(AppUtils.nvl("Y")).thenReturn("Y");
193 when(AppUtils.nvl("bottom")).thenReturn("Y");
194 when(AppUtils.nvl("test")).thenReturn("test|");
195 when(AppUtils.getRequestValue(mockedRequest, "c_dashboard")).thenReturn("1");
196 when(ReportLoader.isDashboardType("-1")).thenReturn(false);
197 ReportDefinition rdf = PowerMockito.mock(ReportDefinition.class);
198 whenNew(ReportDefinition.class)
199 .withArguments(Matchers.any(ReportWrapper.class), Matchers.any(HttpServletRequest.class))
201 when(ReportDefinition.unmarshal(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())).thenReturn(rdf);
202 CustomReportType crType = Mockito.mock(CustomReportType.class);
203 when(ReportWrapper.unmarshalCR(Matchers.anyString())).thenReturn(crType);
204 when(Globals.getReportWrapperFormat()).thenReturn("[Globals.getTimeFormat()]");
205 when(Globals.getTimeFormat()).thenReturn("[reportID]");
206 when(Globals.getReportUserAccess()).thenReturn("[reportID]");
207 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set);
208 when(set.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn("test");
209 when(set.getString(Matchers.anyInt(), Matchers.any(String.class))).thenReturn("test");
210 when(ReportLoader.loadCustomReportXML("test2")).thenReturn(str);
211 FormFieldType formFieldType = new FormFieldType();
212 formFieldType.setFieldId("test");
213 formFieldType.setColId("1");
214 formFieldType.setFieldName("test");
215 formFieldType.setFieldType("type");
216 formFieldType.setValidationType("validation");
217 formFieldType.setMandatory("Y");
218 formFieldType.setDefaultValue("test");
219 formFieldType.setGroupFormField(true);
220 List formFieldTypeList = new ArrayList<>();
221 formFieldTypeList.add(formFieldType);
222 FormFieldList formFieldList = PowerMockito.mock(FormFieldList.class);
223 when(formFieldList.getFormField()).thenReturn(formFieldTypeList);
224 Mockito.when(crType.getFormFieldList()).thenReturn(formFieldList);
225 when(Globals.getRequestParams()).thenReturn("test,case");
226 when( Globals.getSessionParams()).thenReturn("test,abc");
227 when(Globals.getSessionParamsForScheduling()).thenReturn("test");
229 DataSourceList dataSourceList = new DataSourceList();
230 List<DataSourceType> list = new ArrayList<>();
231 DataSourceType dataSourceType = new DataSourceType();
232 dataSourceType.setTableName("test");
233 dataSourceType.setRefTableId("1");
234 dataSourceType.setTableId("1");
235 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
236 DataColumnType dataColumnType = new DataColumnType();
237 dataColumnType.setChartGroup("test");
238 dataColumnType.setYAxis("test");
239 dataColumnType.setColName("[test");
240 dataColumnType.setColOnChart("LEGEND");
241 dataColumnType.setDisplayName("chart_total");
242 dataColumnType.setColId("1");
243 dataColumnType.setTableId("1");
244 dataColumnType.setColType("DATE");
245 dataColumnType.setCrossTabValue("ROW");
246 dataColumnType.setPdfDisplayWidthInPxls("0.0");
247 dataColumnType.setVisible(true);
248 dataColumnType.setCalculated(true);
249 dataColumnTypeList.add(dataColumnType);
250 DataColumnType dataColumnType1 = new DataColumnType();
251 dataColumnType1.setCrossTabValue("COLUMN");
252 dataColumnType1.setColId("1");
253 dataColumnType1.setVisible(true);
254 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
255 dataColumnTypeList.add(dataColumnType1);
257 DataColumnList dataColumnList = new DataColumnList();
258 //dataColumnList.dataColumn = dataColumnTypeList;
259 dataSourceType.setDataColumnList(dataColumnList);
260 list.add(dataSourceType);
261 //dataSourceList.dataSource = list;
262 when(crType.getDataSourceList()).thenReturn(dataSourceList);
264 List predefinedValues = new ArrayList<>();
265 ReportWrapper rw = PowerMockito.mock(ReportWrapper.class);
266 ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest);
267 FormField formField = new FormField("test", "fieldDisplayName", FormField.FFT_COMBO_BOX, "validationType", false,
268 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
269 "rangeEndDateSQL", "multiSelectListSize");
270 FormField formField1 = new FormField("test", "fieldDisplayName", FormField.FFT_LIST_MULTI, "validationType", false,
271 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
272 "rangeEndDateSQL", "multiSelectListSize");
273 FormField formField2 = new FormField("test", "fieldDisplayName", FormField.FFT_BLANK, "validationType", false,
274 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
275 "rangeEndDateSQL", "multiSelectListSize");
277 reportFormFields.add(formField);
278 reportFormFields.add(formField1);
279 reportFormFields.add(formField2);
280 rr.setReportFormFields(null);
281 rr.setReportFormFields(reportFormFields);
282 when(rr.getReportFormFields()).thenReturn(reportFormFields);
283 when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("test");
284 Enumeration<String> enums;
285 Vector<String> attrs = new Vector<String>();
286 attrs.add("ff_test");
287 enums = attrs.elements();
288 when(rr.getParamKeys()).thenReturn(enums);
290 DashboardReports daashBoard = Mockito.mock(DashboardReports.class);
291 when(rdf.getDashBoardReports()).thenReturn(daashBoard);
292 when(daashBoard.getReportsList()).thenReturn(new ArrayList<Reports>());
293 String testHTML = "<table border=1><tr><td>[Report#123]</td><td>[Report#124]</td></tr><tr><td>[Report#125]</td><td>[Report#126]</td></tr></table>";
294 when(rr.getDashboardLayoutHTML()).thenReturn(testHTML);
295 when(rr.getReportType()).thenReturn("test");
296 when(mockedRequest.getParameter("refresh")).thenReturn("N");
297 when(rr.getDisplayContent()).thenReturn(true);
299 when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_VISUAL_ACTION)).thenReturn("test");
300 when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_DETAIL_ID)).thenReturn("test");
301 when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_DETAIL_ID)).thenReturn("test");
302 when(rr.isDisplayOptionHideMap()).thenReturn(true);
303 when(mockedRequest.getSession().getAttribute("isEmbedded")).thenReturn(true);
304 when(rr.isDrillDownURLInPopupPresent()).thenReturn(true);
305 ArrayList aL = new ArrayList<>();
306 ReportRuntime rr1 = PowerMockito.mock(ReportRuntime.class);
307 when(rr1.getReportID()).thenReturn("test1");
308 when(rr1.getReportType()).thenReturn("test");
310 when(mockedRequest.getSession().getAttribute(AppConstants.DRILLDOWN_REPORTS_LIST)).thenReturn(aL);
311 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_RESET_PARAMS)).thenReturn(true);
312 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_RESET_ACTION)).thenReturn(false);
313 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_GO_BACK)).thenReturn(true);
315 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
319 public void reportRunExceptionTest() {
320 when(mockedRequest.getParameter("action")).thenReturn("test");
321 PowerMockito.mockStatic(AppUtils.class);
322 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(true);
323 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
326 @SuppressWarnings("unchecked")
328 public void reportRunTest() throws Exception {
329 PowerMockito.mockStatic(Globals.class);
330 PowerMockito.mockStatic(DbUtils.class);
331 PowerMockito.mockStatic(ReportLoader.class);
332 PowerMockito.mockStatic(ReportWrapper.class);
333 PowerMockito.mockStatic(AppUtils.class);
334 PowerMockito.mock(AppConstants.class);
335 PowerMockito.mockStatic(ReportDefinition.class);
336 PowerMockito.mockStatic(ESAPI.class);
337 PowerMockito.mockStatic(SecurityCodecUtil.class);
338 when(mockedRequest.getParameter("action")).thenReturn("test");
339 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
340 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("testxyz");
341 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
342 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
343 when(mockedRequest.getSession().getAttribute("FirstDashReport")).thenReturn(rr);
344 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.download");
345 Encoder encoder = PowerMockito.mock(Encoder.class);
346 when(ESAPI.encoder()).thenReturn(encoder);
347 Codec codec = PowerMockito.mock(Codec.class);
348 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
349 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
350 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
351 DataSet set = Mockito.mock(DataSet.class);
352 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
353 when(DbUtils.getConnection()).thenReturn(connection);
354 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn(AppConstants.RT_DASHBOARD);
355 when(rr.getReportID()).thenReturn(AppConstants.RT_DASHBOARD);
356 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_SHOW_BACK_BTN)).thenReturn(true);
357 when(Globals.getLoadCustomReportXml()).thenReturn("java.lang.String");
358 String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><CustomReportType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xsi:type=\"xs:string\"><reportName>name</reportName><reportDescr>desc</reportDescr><chartType>type</chartType><showChartTitle>false</showChartTitle><public>false</public><createId>id</createId><pageNav>false</pageNav></CustomReportType>";
359 when(connection.prepareStatement("1")).thenReturn(stmt);
360 when(stmt.executeQuery()).thenReturn(rs);
361 when(Globals.isWeblogicServer()).thenReturn(true);
362 when(rs.getClob(1)).thenReturn(clob);
363 when(rs.next()).thenReturn(true);
364 when(clob.getAsciiStream()).thenReturn(in);
365 when(in.read(Matchers.any())).thenReturn(1);
366 when(AppUtils.nvl(rr.getLegendLabelAngle())).thenReturn("standard");
367 when(AppUtils.nvl("Y")).thenReturn("Y");
368 when(AppUtils.nvl("bottom")).thenReturn("Y");
369 when(AppUtils.nvl("test")).thenReturn("test|");
370 when(AppUtils.getRequestValue(mockedRequest, "c_dashboard")).thenReturn("1");
371 when(ReportLoader.isDashboardType("-1")).thenReturn(false);
372 ReportDefinition rdf = PowerMockito.mock(ReportDefinition.class);
373 whenNew(ReportDefinition.class)
374 .withArguments(Matchers.any(ReportWrapper.class), Matchers.any(HttpServletRequest.class))
376 when(ReportDefinition.unmarshal(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())).thenReturn(rdf);
377 CustomReportType crType = Mockito.mock(CustomReportType.class);
378 when(ReportWrapper.unmarshalCR(Matchers.anyString())).thenReturn(crType);
379 when(Globals.getReportWrapperFormat()).thenReturn("[Globals.getTimeFormat()]");
380 when(Globals.getTimeFormat()).thenReturn("[reportID]");
381 when(Globals.getReportUserAccess()).thenReturn("[reportID]");
382 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set);
383 when(set.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn("test");
384 when(ReportLoader.loadCustomReportXML("test2")).thenReturn(str);
385 FormFieldType formFieldType = new FormFieldType();
386 formFieldType.setFieldId("test");
387 formFieldType.setColId("1");
388 formFieldType.setFieldName("test");
389 formFieldType.setFieldType("type");
390 formFieldType.setValidationType("validation");
391 formFieldType.setMandatory("Y");
392 formFieldType.setDefaultValue("test");
393 formFieldType.setGroupFormField(true);
394 List formFieldTypeList = new ArrayList<>();
395 formFieldTypeList.add(formFieldType);
396 FormFieldList formFieldList = PowerMockito.mock(FormFieldList.class);
397 when(formFieldList.getFormField()).thenReturn(formFieldTypeList);
398 Mockito.when(crType.getFormFieldList()).thenReturn(formFieldList);
399 when(Globals.getRequestParams()).thenReturn("test,case");
400 when( Globals.getSessionParams()).thenReturn("test,abc");
401 when(Globals.getSessionParamsForScheduling()).thenReturn("test");
403 DataSourceList dataSourceList = new DataSourceList();
404 List<DataSourceType> list = new ArrayList<>();
405 DataSourceType dataSourceType = new DataSourceType();
406 dataSourceType.setTableName("test");
407 dataSourceType.setRefTableId("1");
408 dataSourceType.setTableId("1");
409 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
410 DataColumnType dataColumnType = new DataColumnType();
411 dataColumnType.setChartGroup("test");
412 dataColumnType.setYAxis("test");
413 dataColumnType.setColName("[test");
414 dataColumnType.setColOnChart("LEGEND");
415 dataColumnType.setDisplayName("chart_total");
416 dataColumnType.setColId("1");
417 dataColumnType.setTableId("1");
418 dataColumnType.setColType("DATE");
419 dataColumnType.setCrossTabValue("ROW");
420 dataColumnType.setPdfDisplayWidthInPxls("0.0");
421 dataColumnType.setVisible(true);
422 dataColumnType.setCalculated(true);
423 dataColumnTypeList.add(dataColumnType);
424 DataColumnType dataColumnType1 = new DataColumnType();
425 dataColumnType1.setCrossTabValue("COLUMN");
426 dataColumnType1.setColId("1");
427 dataColumnType1.setVisible(true);
428 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
429 dataColumnTypeList.add(dataColumnType1);
431 DataColumnList dataColumnList = new DataColumnList();
432 //dataColumnList.dataColumn = dataColumnTypeList;
433 dataSourceType.setDataColumnList(dataColumnList);
434 list.add(dataSourceType);
435 //dataSourceList.dataSource = list;
436 when(crType.getDataSourceList()).thenReturn(dataSourceList);
438 List predefinedValues = new ArrayList<>();
439 ReportWrapper rw = PowerMockito.mock(ReportWrapper.class);
440 ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest);
441 FormField formField = new FormField("test", "fieldDisplayName", FormField.FFT_COMBO_BOX, "validationType", false,
442 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
443 "rangeEndDateSQL", "multiSelectListSize");
444 FormField formField1 = new FormField("test", "fieldDisplayName", FormField.FFT_LIST_MULTI, "validationType", false,
445 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
446 "rangeEndDateSQL", "multiSelectListSize");
447 FormField formField2 = new FormField("test", "fieldDisplayName", FormField.FFT_BLANK, "validationType", false,
448 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
449 "rangeEndDateSQL", "multiSelectListSize");
451 reportFormFields.add(formField);
452 reportFormFields.add(formField1);
453 reportFormFields.add(formField2);
454 rr.setReportFormFields(null);
455 rr.setReportFormFields(reportFormFields);
456 when(rr.getReportFormFields()).thenReturn(reportFormFields);
457 when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("test");
458 Enumeration<String> enums;
459 Vector<String> attrs = new Vector<String>();
460 attrs.add("ff_test");
461 enums = attrs.elements();
462 when(rr.getParamKeys()).thenReturn(enums);
464 DashboardReports daashBoard = Mockito.mock(DashboardReports.class);
465 when(rdf.getDashBoardReports()).thenReturn(daashBoard);
466 when(daashBoard.getReportsList()).thenReturn(new ArrayList<Reports>());
467 String testHTML = "<table border=1><tr><td>[Report#123]</td><td>[Report#124]</td></tr><tr><td>[Report#125]</td><td>[Report#126]</td></tr></table>";
468 when(rr.getDashboardLayoutHTML()).thenReturn(testHTML);
469 when(rr.getReportType()).thenReturn(AppConstants.RT_DASHBOARD);
470 when(mockedRequest.getParameter("refresh")).thenReturn("N");
471 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_DISPLAY_CONTENT)).thenReturn(true);
472 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
477 @SuppressWarnings("unchecked")
479 public void reportRunRaptorReportExceptionTest() throws Exception {
481 PowerMockito.mockStatic(Globals.class);
482 PowerMockito.mockStatic(DbUtils.class);
483 PowerMockito.mockStatic(ReportLoader.class);
484 PowerMockito.mockStatic(ReportWrapper.class);
485 PowerMockito.mockStatic(AppUtils.class);
486 PowerMockito.mock(AppConstants.class);
487 PowerMockito.mockStatic(ReportDefinition.class);
488 PowerMockito.mockStatic(ESAPI.class);
489 PowerMockito.mockStatic(SecurityCodecUtil.class);
490 when(mockedRequest.getParameter("action")).thenReturn("test");
491 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
492 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("testxyz");
493 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
494 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
495 when(mockedRequest.getSession().getAttribute("FirstDashReport")).thenReturn(rr);
496 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.download");
497 Encoder encoder = PowerMockito.mock(Encoder.class);
498 when(ESAPI.encoder()).thenReturn(encoder);
499 Codec codec = PowerMockito.mock(Codec.class);
500 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
501 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
502 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
503 DataSet set = Mockito.mock(DataSet.class);
504 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
505 when(DbUtils.getConnection()).thenReturn(connection);
506 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("test2");
507 when(rr.getReportID()).thenReturn("test");
508 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_SHOW_BACK_BTN)).thenReturn(true);
509 when(Globals.getLoadCustomReportXml()).thenReturn("java.lang.String");
510 String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><CustomReportType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xsi:type=\"xs:string\"><reportName>name</reportName><reportDescr>desc</reportDescr><chartType>type</chartType><showChartTitle>false</showChartTitle><public>false</public><createId>id</createId><pageNav>false</pageNav></CustomReportType>";
511 when(connection.prepareStatement("1")).thenReturn(stmt);
512 when(stmt.executeQuery()).thenReturn(rs);
513 when(Globals.isWeblogicServer()).thenReturn(true);
514 when(rs.getClob(1)).thenReturn(clob);
515 when(rs.next()).thenReturn(true);
516 when(clob.getAsciiStream()).thenReturn(in);
517 when(in.read(Matchers.any())).thenReturn(1);
518 when(AppUtils.nvl(rr.getLegendLabelAngle())).thenReturn("standard");
519 when(AppUtils.nvl("Y")).thenReturn("Y");
520 when(AppUtils.nvl("bottom")).thenReturn("Y");
521 when(AppUtils.nvl("test")).thenReturn("test|");
522 when(AppUtils.getRequestValue(mockedRequest, "c_dashboard")).thenReturn("1");
523 when(ReportLoader.isDashboardType("-1")).thenReturn(false);
524 ReportDefinition rdf = PowerMockito.mock(ReportDefinition.class);
525 whenNew(ReportDefinition.class)
526 .withArguments(Matchers.any(ReportWrapper.class), Matchers.any(HttpServletRequest.class))
528 when(ReportDefinition.unmarshal(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())).thenReturn(rdf);
529 CustomReportType crType = Mockito.mock(CustomReportType.class);
530 when(ReportWrapper.unmarshalCR(Matchers.anyString())).thenReturn(crType);
531 when(Globals.getReportWrapperFormat()).thenReturn("[Globals.getTimeFormat()]");
532 when(Globals.getTimeFormat()).thenReturn("[reportID]");
533 when(Globals.getReportUserAccess()).thenReturn("[reportID]");
534 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set);
535 when(set.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn("test");
536 when(ReportLoader.loadCustomReportXML("test2")).thenReturn(str);
537 FormFieldType formFieldType = new FormFieldType();
538 formFieldType.setFieldId("test");
539 formFieldType.setColId("1");
540 formFieldType.setFieldName("test");
541 formFieldType.setFieldType("type");
542 formFieldType.setValidationType("validation");
543 formFieldType.setMandatory("Y");
544 formFieldType.setDefaultValue("test");
545 formFieldType.setGroupFormField(true);
546 List formFieldTypeList = new ArrayList<>();
547 formFieldTypeList.add(formFieldType);
548 FormFieldList formFieldList = PowerMockito.mock(FormFieldList.class);
549 when(formFieldList.getFormField()).thenReturn(formFieldTypeList);
550 Mockito.when(crType.getFormFieldList()).thenReturn(formFieldList);
551 when(Globals.getRequestParams()).thenReturn("test,case");
552 when( Globals.getSessionParams()).thenReturn("test,abc");
553 when(Globals.getSessionParamsForScheduling()).thenReturn("test");
555 DataSourceList dataSourceList = new DataSourceList();
556 List<DataSourceType> list = new ArrayList<>();
557 DataSourceType dataSourceType = new DataSourceType();
558 dataSourceType.setTableName("test");
559 dataSourceType.setRefTableId("1");
560 dataSourceType.setTableId("1");
561 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
562 DataColumnType dataColumnType = new DataColumnType();
563 dataColumnType.setChartGroup("test");
564 dataColumnType.setYAxis("test");
565 dataColumnType.setColName("[test");
566 dataColumnType.setColOnChart("LEGEND");
567 dataColumnType.setDisplayName("chart_total");
568 dataColumnType.setColId("1");
569 dataColumnType.setTableId("1");
570 dataColumnType.setColType("DATE");
571 dataColumnType.setCrossTabValue("ROW");
572 dataColumnType.setPdfDisplayWidthInPxls("0.0");
573 dataColumnType.setVisible(true);
574 dataColumnType.setCalculated(true);
575 dataColumnTypeList.add(dataColumnType);
576 DataColumnType dataColumnType1 = new DataColumnType();
577 dataColumnType1.setCrossTabValue("COLUMN");
578 dataColumnType1.setColId("1");
579 dataColumnType1.setVisible(true);
580 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
581 dataColumnTypeList.add(dataColumnType1);
583 DataColumnList dataColumnList = new DataColumnList();
584 //dataColumnList.dataColumn = dataColumnTypeList;
585 dataSourceType.setDataColumnList(dataColumnList);
586 list.add(dataSourceType);
587 //dataSourceList.dataSource = list;
588 when(crType.getDataSourceList()).thenReturn(dataSourceList);
589 when(rr.getReportType()).thenReturn(AppConstants.RT_DASHBOARD);
591 List predefinedValues = new ArrayList<>();
592 ReportWrapper rw = PowerMockito.mock(ReportWrapper.class);
593 ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest);
594 FormField formField = new FormField("test", "fieldDisplayName", FormField.FFT_COMBO_BOX, "validationType", false,
595 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
596 "rangeEndDateSQL", "multiSelectListSize");
597 FormField formField1 = new FormField("test", "fieldDisplayName", FormField.FFT_LIST_MULTI, "validationType", false,
598 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
599 "rangeEndDateSQL", "multiSelectListSize");
600 FormField formField2 = new FormField("test", "fieldDisplayName", FormField.FFT_BLANK, "validationType", false,
601 "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL",
602 "rangeEndDateSQL", "multiSelectListSize");
604 reportFormFields.add(formField);
605 reportFormFields.add(formField1);
606 reportFormFields.add(formField2);
607 rr.setReportFormFields(null);
608 rr.setReportFormFields(reportFormFields);
609 when(rr.getReportFormFields()).thenReturn(reportFormFields);
610 when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("test");
611 Enumeration<String> enums;
612 Vector<String> attrs = new Vector<String>();
613 attrs.add("ff_test");
614 enums = attrs.elements();
615 when(rr.getParamKeys()).thenReturn(enums);
616 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
617 }catch(Exception e) {
624 public void reportRunForCSVDownloadTest() throws Exception {
625 when(mockedRequest.getParameter("action")).thenReturn("test");
626 when(mockedRequest.getParameter("r_action")).thenReturn("report.csv.download");
627 PowerMockito.mockStatic(AppUtils.class);
628 PowerMockito.mockStatic(Globals.class);
629 PowerMockito.mockStatic(DbUtils.class);
631 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
632 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("");
633 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
634 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
635 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
636 when(AppUtils.getRequestFlag(mockedRequest, "fromReportLog")).thenReturn(true);
637 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
638 when(rr.getReportDataSQL(Matchers.anyString(), Matchers.anyInt(), Matchers.any())).thenReturn("test");
639 PowerMockito.mockStatic(ESAPI.class);
640 Encoder encoder = PowerMockito.mock(Encoder.class);
641 when(ESAPI.encoder()).thenReturn(encoder);
642 Codec codec = PowerMockito.mock(Codec.class);
643 PowerMockito.mockStatic(SecurityCodecUtil.class);
644 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
645 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
646 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
647 DataSet set = new DataSet();
648 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
649 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
653 public void reportRunForExcelDownloadTest() throws Exception {
654 when(mockedRequest.getParameter("action")).thenReturn("test");
655 when(mockedRequest.getParameter("r_action")).thenReturn("report.download.excel2007");
656 PowerMockito.mockStatic(AppUtils.class);
657 PowerMockito.mockStatic(Globals.class);
658 PowerMockito.mockStatic(DbUtils.class);
660 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
661 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("");
662 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_REFRESH)).thenReturn(true);
663 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
664 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
665 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
666 when(AppUtils.getRequestFlag(mockedRequest, "fromReportLog")).thenReturn(false);
667 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
668 when(rr.getReportDataSQL(Matchers.anyString(), Matchers.anyInt(), Matchers.any())).thenReturn("test");
669 PowerMockito.mockStatic(ESAPI.class);
670 Encoder encoder = PowerMockito.mock(Encoder.class);
671 when(ESAPI.encoder()).thenReturn(encoder);
672 Codec codec = PowerMockito.mock(Codec.class);
673 PowerMockito.mockStatic(SecurityCodecUtil.class);
674 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
675 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
676 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
677 DataSet set = new DataSet();
678 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
679 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
680 HttpSession session = mockedRequest.getSession();
681 when(session.getAttributeNames()).thenReturn(enum1);
682 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
686 public ReportRuntime mockReportRunTime1() throws Exception {
687 PowerMockito.mockStatic(Globals.class);
688 PowerMockito.mockStatic(DbUtils.class);
689 when(Globals.getReportUserAccess()).thenReturn("test");
690 ResultSet rs = PowerMockito.mock(ResultSet.class);
691 ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class);
692 when(rsmd.getColumnCount()).thenReturn(1);
693 when(rs.getMetaData()).thenReturn(rsmd);
694 DataSet datset = PowerMockito.mock(DataSet.class);
695 // datset = new DataSet(rs);
696 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
697 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
698 when(Globals.getNewScheduleData()).thenReturn("test");
699 CustomReportType customReportType = new CustomReportType();
700 DataSourceList dataSourceList = new DataSourceList();
701 DataSourceType dataSourceType = new DataSourceType();
702 dataSourceType.setTableName("test");
703 dataSourceType.setRefTableId("1");
704 dataSourceType.setTableId("1");
705 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
706 DataColumnType dataColumnType = new DataColumnType();
707 dataColumnType.setChartGroup("test");
708 dataColumnType.setYAxis("test");
709 dataColumnType.setColName("[test");
710 dataColumnType.setColOnChart("LEGEND");
711 dataColumnType.setDisplayName("chart_total");
712 dataColumnType.setColId("1");
713 dataColumnType.setTableId("1");
714 dataColumnType.setColType("DATE");
715 dataColumnTypeList.add(dataColumnType);
716 customReportType.setReportType("test");
717 customReportType.setReportTitle("test");
718 customReportType.setDataSourceList(dataSourceList);
719 ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions();
720 chartAdditionalOptions.setLabelAngle("test");
721 chartAdditionalOptions.setTimeSeriesRender("test");
722 chartAdditionalOptions.setMultiSeries(false);
723 customReportType.setChartAdditionalOptions(chartAdditionalOptions);
724 ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1",
726 PowerMockito.mockStatic(UserUtils.class);
727 when(Globals.getRequestParams()).thenReturn("test");
728 when(Globals.getSessionParams()).thenReturn("test");
729 when(Globals.getSessionParamsForScheduling()).thenReturn("test");
730 PowerMockito.mockStatic(AppUtils.class);
731 when(AppUtils.getUserID(mockedRequest)).thenReturn("test12");
732 ReportRuntime rr = new ReportRuntime(reportWrapper, mockedRequest);
733 rr.setLegendLabelAngle("test");
734 rr.setMultiSeries(false);
735 rr.setChartType("test");
741 public void reportRunTestCase1() throws Exception {
742 when(mockedRequest.getParameter("action")).thenReturn("test");
743 PowerMockito.mockStatic(AppUtils.class);
744 PowerMockito.mockStatic(Globals.class);
745 PowerMockito.mockStatic(DbUtils.class);
747 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
748 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test");
749 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
750 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
752 PowerMockito.mockStatic(ESAPI.class);
753 Encoder encoder = PowerMockito.mock(Encoder.class);
754 when(ESAPI.encoder()).thenReturn(encoder);
755 Codec codec = PowerMockito.mock(Codec.class);
756 PowerMockito.mockStatic(SecurityCodecUtil.class);
757 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
758 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
759 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
760 DataSet set = PowerMockito.mock(DataSet.class);
761 when(set.isEmpty()).thenReturn(false);
762 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
763 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn(null);
764 PowerMockito.mockStatic(ReportLoader.class);
765 when(ReportLoader.loadCustomReportXML(Matchers.anyString())).thenReturn("test");
766 assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
771 public void reportDeleteTest() throws Exception {
772 PowerMockito.mockStatic(ESAPI.class);
773 PowerMockito.mockStatic(AppUtils.class);
774 PowerMockito.mockStatic(Globals.class);
775 PowerMockito.mockStatic(DbUtils.class);
776 PowerMockito.mockStatic(AlarmSeverityEnum.class);
777 DataSet set = Mockito.mock(DataSet.class);
778 Encoder encoder = PowerMockito.mock(Encoder.class);
779 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
780 ReportDefinition rd = PowerMockito.mock(ReportDefinition.class);
781 when(ESAPI.encoder()).thenReturn(encoder);
782 Codec codec = PowerMockito.mock(Codec.class);
783 PowerMockito.mockStatic(SecurityCodecUtil.class);
784 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
785 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("1");
786 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("1");
787 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
788 when(Globals.getReportSecurity()).thenReturn("[rw.getReportID()]");
789 when(Globals.getReportUserAccess()).thenReturn("[reportID]");
790 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set);
791 when(Globals.getDeleteOnlyByOwner()).thenReturn(true);
792 when(Globals.getLogVariablesInSession()).thenReturn("test");
793 HttpSession session = Mockito.mock(HttpSession.class);
794 when(session.getAttribute(Matchers.anyString())).thenReturn(rr);
795 when(session.getAttribute(Matchers.anyString())).thenReturn(rd);
796 assertEquals(actionHandler.reportDelete(mockedRequest, "10").getClass(), String.class);
801 public void reportSearchTest() throws Exception {
802 PowerMockito.mockStatic(AppUtils.class);
803 when(AppUtils.getImgFolderURL()).thenReturn("test");
804 SearchHandler sh = Mockito.mock(SearchHandler.class);
805 whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
806 ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
807 when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
808 when(rsrj.getJSONString()).thenReturn("test");
809 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
810 HttpSession session = mockedRequest.getSession();
811 when(session.getAttributeNames()).thenReturn(enum1);
812 actionHandler.reportSearch(mockedRequest, "10");
817 public void reportChartRunTest() throws Exception {
818 ChartWebRuntime cwr = PowerMockito.mock(ChartWebRuntime.class);
819 whenNew(ChartWebRuntime.class).withNoArguments().thenReturn(cwr);
820 when(cwr.generateChart(mockedRequest,false)).thenReturn("testReport");
821 assertEquals("testReport", actionHandler.reportChartRun(mockedRequest, "10"));
825 public void reportSearchUserTest() throws Exception {
826 PowerMockito.mockStatic(AppUtils.class);
827 when(AppUtils.getImgFolderURL()).thenReturn("test");
828 SearchHandler sh = Mockito.mock(SearchHandler.class);
829 whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
830 ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
831 when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
832 when(rsrj.getJSONString()).thenReturn("test");
833 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
834 HttpSession session = mockedRequest.getSession();
835 when(session.getAttributeNames()).thenReturn(enum1);
836 assertEquals("test", actionHandler.reportSearchUser(mockedRequest, "10"));
840 public void reportSearchPublicTest() throws Exception {
841 PowerMockito.mockStatic(AppUtils.class);
842 when(AppUtils.getImgFolderURL()).thenReturn("test");
843 SearchHandler sh = Mockito.mock(SearchHandler.class);
844 whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
845 ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
846 when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
847 when(rsrj.getJSONString()).thenReturn("test");
848 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
849 HttpSession session = mockedRequest.getSession();
850 when(session.getAttributeNames()).thenReturn(enum1);
851 assertEquals("test", actionHandler.reportSearchPublic(mockedRequest, "10"));
855 public void reportSearchFavoritesTest() throws Exception {
856 PowerMockito.mockStatic(AppUtils.class);
857 when(AppUtils.getImgFolderURL()).thenReturn("test");
858 SearchHandler sh = Mockito.mock(SearchHandler.class);
859 whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
860 ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
861 when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
862 when(rsrj.getJSONString()).thenReturn("test");
863 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
864 HttpSession session = mockedRequest.getSession();
865 when(session.getAttributeNames()).thenReturn(enum1);
866 assertEquals("test", actionHandler.reportSearchFavorites(mockedRequest, "10"));
870 public void reportChartDataRunTest() throws Exception {
871 ChartWebRuntime cwr = Mockito.mock(ChartWebRuntime.class);
872 whenNew(ChartWebRuntime.class).withNoArguments().thenReturn(cwr);
873 when(cwr.generateChart(mockedRequest)).thenReturn("testReport");
874 assertEquals("testReport", actionHandler.reportChartDataRun(mockedRequest, "10"));
879 public void processScheduleDeleteTest() throws Exception {
880 PowerMockito.mockStatic(AppUtils.class);
881 PowerMockito.mockStatic(DbUtils.class);
882 PowerMockito.mockStatic(Globals.class);
883 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_SCHEDULE_ID)).thenReturn("test");
884 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("test2");
885 ReportHandler rh = Mockito.mock(ReportHandler.class);
886 ReportDefinition rdef = Mockito.mock(ReportDefinition.class);
887 whenNew(ReportHandler.class).withNoArguments().thenReturn(rh);
888 when(rh.loadReportDefinition(mockedRequest, "test2")).thenReturn(rdef);
889 when(AppUtils.getRequestNvlValue(mockedRequest, "myScheduleRepId")).thenReturn("test3");
890 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
891 ReportSchedule rs = Mockito.mock(ReportSchedule.class);
892 whenNew(ReportSchedule.class).withArguments(Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class)).thenReturn(rs);
893 Connection con = Mockito.mock(Connection.class);
894 when(DbUtils.startTransaction()).thenReturn(con);
895 PowerMockito.doNothing().when(rs).deleteScheduleData(con);
896 PowerMockito.doNothing().when(DbUtils.class, "commitTransaction", new Object[]{con});
897 PowerMockito.doNothing().when(DbUtils.class, "clearConnection", new Object[]{con});
898 when(mockedRequest.getParameter("action")).thenReturn("report.download.excel2007");
900 when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
901 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_REFRESH)).thenReturn(true);
902 when(AppUtils.getRequestFlag(mockedRequest, "fromReportLog")).thenReturn(false);
903 when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test");
904 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
905 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
907 PowerMockito.mockStatic(ESAPI.class);
908 Encoder encoder = PowerMockito.mock(Encoder.class);
909 when(ESAPI.encoder()).thenReturn(encoder);
910 Codec codec = PowerMockito.mock(Codec.class);
911 PowerMockito.mockStatic(SecurityCodecUtil.class);
912 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
913 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
914 when(Globals.getDownloadAllEmailSent()).thenReturn("test");
915 DataSet set = PowerMockito.mock(DataSet.class);
916 when(set.isEmpty()).thenReturn(false);
917 when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set);
918 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn(null);
919 PowerMockito.mockStatic(ReportLoader.class);
920 when(ReportLoader.loadCustomReportXML(Matchers.anyString())).thenReturn("test");
921 PowerMockito.doNothing().when(rr).logReportExecutionTime(Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class));
922 assertEquals(String.class, actionHandler.processScheduleDelete(mockedRequest, "10").getClass());
926 public void testFormFieldRun() {
927 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
928 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
929 ReportJSONRuntime rjr = Mockito.mock(ReportJSONRuntime.class);
930 when(rr.createFormFieldJSONRuntime(mockedRequest)).thenReturn(rjr);
931 assertEquals(String.class, actionHandler.formFieldRun(mockedRequest, "10").getClass());
935 public void testGetReportData() throws RaptorException {
936 PowerMockito.mockStatic(ConnectionUtils.class);
937 PowerMockito.mockStatic(AppUtils.class);
938 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
939 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
940 ReportFormFields rff = PowerMockito.mock(ReportFormFields.class);
941 FormField ff = PowerMockito.mock(FormField.class);
942 SemaphoreType st = PowerMockito.mock(SemaphoreType.class);
943 FormatList fl = PowerMockito.mock(FormatList.class);
944 FormatType ft = PowerMockito.mock(FormatType.class);
945 VisualManager visualManager = PowerMockito.mock(VisualManager.class);
946 List<FormatType> ftList = new ArrayList<>();
948 List<DataColumnType> dctList= new ArrayList<>();
949 DataColumnType dct = new DataColumnType();
951 dct.setDisplayName("testData");
952 dct.setColType("DATE");
953 dct.setDependsOnFormField("[testFieldDisplayName]");
954 dct.setSemaphoreId("testSemaphoreId");
955 dct.setColFormat("testColFormat");
956 dct.setDrillDownURL("testDrillDownUrl");
957 dct.setVisible(true);
958 dct.setDisplayWidthInPxls("testDisplayWidthInPxls");
959 dct.setDisplayHeaderAlignment("testDisplayHeaderAlignment");
961 when(rr.getAllColumns()).thenReturn(dctList);
962 when(rr.getReportFormFields()).thenReturn(rff);
963 when(rr.getDBInfo()).thenReturn("testDB");
964 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
965 when(rr.getSemaphoreById(Mockito.any())).thenReturn(st);
966 when(rr.getChildReportFormFields(Mockito.any(HttpServletRequest.class), Mockito.any(String.class))).thenReturn(rff);
967 when(rr.getVisualManager()).thenReturn(visualManager);
968 DataSet ds = PowerMockito.mock(DataSet.class);
969 when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds);
970 when(ds.getRowCount()).thenReturn(1);
971 when(ds.getString(Mockito.any(Integer.class),Mockito.any(Integer.class))).thenReturn("testDataValue");
972 when(rff.size()).thenReturn(1);
973 when(rff.getFormField(Mockito.any(Integer.class))).thenReturn(ff);
974 when(ff.getFieldDisplayName()).thenReturn("testFieldDisplayName");
975 when(ff.getFieldName()).thenReturn("testFieldName");
976 when(mockedRequest.getParameter("testFieldName")).thenReturn("testFieldValue");
977 when(st.getFormatList()).thenReturn(fl);
978 when(st.getSemaphoreType()).thenReturn(AppConstants.ST_ROW);
979 when(fl.getFormat()).thenReturn(ftList);
980 when(ft.getLessThanValue()).thenReturn("10");
981 when(visualManager.isColumnVisible(Mockito.any(String.class))).thenReturn(true);
982 when(visualManager.getSortByColId()).thenReturn("1");
983 assertEquals(ReportData.class, actionHandler.getReportData(rr, mockedRequest, "test", 10).getClass());
986 @Test(expected = IOException.class)
987 public void testDownloadAll() throws InterruptedException, IOException, Exception {
988 PowerMockito.mockStatic(AppUtils.class);
989 PowerMockito.mockStatic(Globals.class);
990 PowerMockito.mockStatic(DbUtils.class);
991 PowerMockito.mockStatic(FilenameUtils.class);
992 PowerMockito.mockStatic(Utils.class);
993 PowerMockito.mockStatic(ReportRuntime.class);
994 when(AppUtils.getRequestValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test");
995 when(AppUtils.getUserEmail(mockedRequest)).thenReturn("test@mail.com");
996 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
997 when(AppUtils.getRequestValue(mockedRequest, "log_id")).thenReturn("testLogID");
998 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
999 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
1000 when(Globals.getDownloadAllEmailSent()).thenReturn("testEmailSentQuery");
1001 when(Globals.getDownloadAllGenKey()).thenReturn("testGenerateKeyQuery");
1002 when(Globals.getShellScriptDir()).thenReturn("./");
1003 DataSet ds = PowerMockito.mock(DataSet.class);
1004 when(DbUtils.executeQuery(Mockito.any(String.class), Mockito.eq(1))).thenReturn(ds);
1005 when(DbUtils.executeQuery(Mockito.any(String.class))).thenReturn(ds);
1006 when(ds.isEmpty()).thenReturn(false);
1007 when(ds.getString(0,"user_id")).thenReturn("testUserID");
1008 when(ds.getString(0,"rep_id")).thenReturn("testReportID");
1009 when(ds.getRowCount()).thenReturn(1);
1010 when(ds.getString(0,0)).thenReturn("testScheduleId");
1011 when(FilenameUtils.normalize(Mockito.any(String.class))).thenReturn("testFile.txt");
1012 when(Utils.isDownloadFileExists(Mockito.any(String.class))).thenReturn(true);
1013 when(Utils.getLatestDownloadableFile(Mockito.any(String.class))).thenReturn("testLastDownloadedFile.txt");
1014 List<DataColumnType> dctList= new ArrayList<>();
1015 DataColumnType dct = new DataColumnType();
1016 dct.setDisplayName("testData");
1018 when(rr.getAllColumns()).thenReturn(dctList);
1019 when(mockedRequest.getParameter("refresh")).thenReturn("N");
1020 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
1021 when(rr.getReportID()).thenReturn("testReportID");
1022 actionHandler.downloadAll(mockedRequest, "10");
1026 public void testRunSQLPopup() throws ReportSQLException {
1027 PowerMockito.mockStatic(AppUtils.class);
1028 PowerMockito.mockStatic(Globals.class);
1029 PowerMockito.mockStatic(Utils.class);
1030 PowerMockito.mockStatic(ConnectionUtils.class);
1031 when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_FORMATTED_SQL)).thenReturn("SELECT * FROM TEST");
1032 when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_CHK_FIELD_SQL)).thenReturn("N");
1033 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1034 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1035 FormFieldType formFieldType = new FormFieldType();
1036 formFieldType.setFieldId("test");
1037 formFieldType.setColId("1");
1038 formFieldType.setFieldName("test");
1039 formFieldType.setFieldType("type");
1040 formFieldType.setValidationType("validation");
1041 formFieldType.setMandatory("Y");
1042 formFieldType.setDefaultValue("test");
1043 formFieldType.setGroupFormField(true);
1044 FormFieldList formFieldList = PowerMockito.mock(FormFieldList.class);
1045 formFieldList.getFormField().add(formFieldType);
1046 when(rdef.getFormFieldList()).thenReturn(formFieldList);
1047 when(rdef.getFormFieldDisplayName(formFieldType)).thenReturn("testField");
1048 when(mockedRequest.getParameter("remoteDbPrefix")).thenReturn("testDB");
1049 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1050 when(Utils.replaceInString(Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class))).thenReturn("testString");
1051 when(Globals.getRequestParams()).thenReturn("test");
1052 when(Globals.getSessionParams()).thenReturn("test");
1053 DataSet ds = PowerMockito.mock(DataSet.class);
1054 when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class), Mockito.eq(true))).thenReturn(ds);
1055 when(ds.getRowCount()).thenReturn(1);
1056 when(ds.getString(Mockito.any(Integer.class),Mockito.any(Integer.class))).thenReturn("testDataValue");
1057 PowerMockito.mockStatic(ESAPI.class);
1058 Encoder encoder = PowerMockito.mock(Encoder.class);
1059 when(ESAPI.encoder()).thenReturn(encoder);
1060 Codec codec = PowerMockito.mock(Codec.class);
1061 PowerMockito.mockStatic(SecurityCodecUtil.class);
1062 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
1063 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
1064 actionHandler.testRunSQLPopup(mockedRequest, "10");
1068 public void testSchedCondPopup() throws RaptorException {
1069 PowerMockito.mockStatic(AppUtils.class);
1070 PowerMockito.mockStatic(Globals.class);
1071 PowerMockito.mockStatic(ConnectionUtils.class);
1072 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1073 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1074 when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_FORMATTED_SQL)).thenReturn("testSQL");
1075 when(Globals.getTestSchedCondPopup()).thenReturn("testQuery");
1076 when(mockedRequest.getParameter("remoteDbPrefix")).thenReturn("testDB");
1077 DataSet ds = PowerMockito.mock(DataSet.class);
1078 when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds);
1079 when(ds.getRowCount()).thenReturn(1);
1080 actionHandler.testSchedCondPopup(mockedRequest, "10");
1084 public void testReportShowSQLPopup() throws RaptorException {
1085 PowerMockito.mockStatic(AppUtils.class);
1086 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1087 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1088 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1089 when(rdef.generateSQL(Mockito.any(String.class),Mockito.any(HttpServletRequest.class))).thenReturn("testReportSQL");
1090 actionHandler.reportShowSQLPopup(mockedRequest, "10");
1095 public void testReportFilterDataPopup() throws RaptorException {
1096 PowerMockito.mockStatic(AppUtils.class);
1097 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1098 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1099 when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_COLUMN_ID)).thenReturn("testColID");
1100 when(rdef.getDBInfo()).thenReturn(null);
1101 when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("testDB");
1102 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_RESET_PARAMS)).thenReturn(false);
1103 IdNameColLookup lookUp = Mockito.mock(IdNameColLookup.class);
1104 when(mockedRequest.getSession().getAttribute(AppConstants.SI_COLUMN_LOOKUP)).thenReturn(lookUp);
1105 when(lookUp.getColId()).thenReturn("testColID");
1106 when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_SEARCH_STRING)).thenReturn("testSearchStr");
1107 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_CONTAIN_FLAG)).thenReturn(true);
1108 actionHandler.reportFilterDataPopup(mockedRequest, "10");
1112 public void testReportImportSave() throws Exception {
1113 PowerMockito.mockStatic(AppUtils.class);
1114 String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><CustomReportType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xsi:type=\"xs:string\"><reportName>name</reportName><reportDescr>desc</reportDescr><chartType>type</chartType><showChartTitle>false</showChartTitle><public>false</public><createId>id</createId><pageNav>false</pageNav></CustomReportType>";
1115 when(AppUtils.getRequestValue(mockedRequest, "reportXML")).thenReturn(str);
1116 ReportHandler rh = Mockito.mock(ReportHandler.class);
1117 ReportDefinition rdef = Mockito.mock(ReportDefinition.class);
1118 whenNew(ReportHandler.class).withNoArguments().thenReturn(rh);
1119 when(rh.createReportDefinition(mockedRequest, "-1", str)).thenReturn(rdef);
1120 PowerMockito.doNothing().when(rdef).updateReportDefType();
1121 PowerMockito.doNothing().when(rdef).generateWizardSequence(mockedRequest);
1122 when(rdef.getReportName()).thenReturn("test");
1123 PowerMockito.doNothing().when(rdef).setReportName("Import: test");
1124 PowerMockito.doNothing().when(rdef).clearAllDrillDowns();
1125 actionHandler.reportImportSave(mockedRequest, "10");
1129 public void testProcessSchedule() throws RaptorException {
1130 PowerMockito.mockStatic(AppUtils.class);
1131 PowerMockito.mockStatic(Globals.class);
1132 PowerMockito.mockStatic(ReportLoader.class);
1133 PowerMockito.mockStatic(DbUtils.class);
1134 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn("test");
1135 when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_ACTION)).thenReturn("test");
1136 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_SCHEDULE_ID)).thenReturn("");
1137 ReportSchedule rs = Mockito.mock(ReportSchedule.class);
1138 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn(rs);
1139 when(rs.getScheduleID()).thenReturn("testSchecduleID");
1140 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("testReportID");
1141 when(AppUtils.isAdminUser(mockedRequest)).thenReturn(true);
1142 when(ReportLoader.doesUserCanScheduleReport(Mockito.any(HttpServletRequest.class), Mockito.any(String.class))).thenReturn(true);
1143 when(rs.getFormFields()).thenReturn("testField");
1144 when(Globals.getSessionParamsForScheduling()).thenReturn("test");
1145 Connection con = Mockito.mock(Connection.class);
1146 when(DbUtils.startTransaction()).thenReturn(con);
1147 actionHandler.processSchedule(mockedRequest, "10");
1150 @Test(expected=RuntimeException.class)
1151 public void testProcessSchedule_WhenReportScheduleIsNull() throws RaptorException {
1152 PowerMockito.mockStatic(AppUtils.class);
1153 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn(null);
1154 when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("");
1155 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1156 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1157 actionHandler.processSchedule(mockedRequest, "10");
1161 public void testReportValuesMapDefPopup() throws RaptorException {
1162 PowerMockito.mockStatic(AppUtils.class);
1163 PowerMockito.mockStatic(Globals.class);
1164 PowerMockito.mockStatic(ConnectionUtils.class);
1165 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1166 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1167 when(AppUtils.getRequestNvlValue(mockedRequest, "colName")).thenReturn("testCol");
1168 when(AppUtils.getRequestNvlValue(mockedRequest, "displayName")).thenReturn("testDisplayName");
1169 when(AppUtils.getRequestNvlValue(mockedRequest, "displayFormat")).thenReturn("testDisplayFormat");
1170 when(AppUtils.getRequestNvlValue(mockedRequest, "tableId")).thenReturn("testTableId");
1171 when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("testDB");
1172 when(Globals.getReportValuesMapDefA()).thenReturn("testA");
1173 when(Globals.getReportValuesMapDefB()).thenReturn("testB");
1174 when(Globals.getReportValuesMapDefC()).thenReturn("testC");
1175 when(Globals.getReportValuesMapDefD()).thenReturn("testD");
1176 when(Globals.getDefaultPageSize()).thenReturn(10);
1177 DataSourceType ds = Mockito.mock(DataSourceType.class);
1178 when(ds.getTableName()).thenReturn("testTable");
1179 when(rdef.getTableById(Mockito.any(String.class))).thenReturn(ds);
1180 DataSet data = Mockito.mock(DataSet.class);
1181 when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(data);
1182 actionHandler.reportValuesMapDefPopup(mockedRequest, "10");
1186 public void testReportFormFieldPopup() {
1187 PowerMockito.mockStatic(AppUtils.class);
1188 ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
1189 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
1190 FormField formField = new FormField("test", "fieldDisplayName", FormField.FFT_COMBO_BOX, "validationType", false,
1191 "defaultValue", "helpText", new ArrayList<>(), false, "dependsOn", null, null, "rangeStartDateSQL",
1192 "rangeEndDateSQL", "multiSelectListSize");
1193 when(rr.getFormField(Mockito.any(String.class))).thenReturn(formField);
1194 ReportFormFields rff = PowerMockito.mock(ReportFormFields.class);
1195 when(rr.getReportFormFields()).thenReturn(rff);
1196 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1197 IdNameList lookup = Mockito.mock(IdNameList.class);
1198 when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_TEXTFIELD_POP)).thenReturn(true);
1199 actionHandler.reportFormFieldPopup(mockedRequest, "10");
1203 public void testReportCreate() throws Exception {
1204 PowerMockito.mockStatic(ReportDefinition.class);
1205 PowerMockito.mockStatic(DataCache.class);
1206 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
1207 HttpSession session = mockedRequest.getSession();
1208 when(session.getAttributeNames()).thenReturn(enum1);
1209 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1210 when(ReportDefinition.createBlank(mockedRequest)).thenReturn(rdef);
1211 PowerMockito.doNothing().when(DataCache.class, "refreshReportTableSources", new Object[]{});
1212 actionHandler.reportCreate(mockedRequest, "10");
1216 public void testRefreshCache() throws Exception {
1217 PowerMockito.mockStatic(Globals.class);
1218 PowerMockito.mockStatic(DataCache.class);
1219 Enumeration<String> enum1 = Mockito.mock(Enumeration.class);
1220 HttpSession session = mockedRequest.getSession();
1221 when(session.getAttributeNames()).thenReturn(enum1);
1222 PowerMockito.doNothing().when(DataCache.class, "refreshAll", new Object[]{});
1223 IAppUtils iau = Mockito.mock(IAppUtils.class);
1224 when(Globals.getAppUtils()).thenReturn(iau);
1225 PowerMockito.doNothing().when(iau).resetUserCache();
1226 actionHandler.refreshCache(mockedRequest, "10");
1230 public void testProcessScheduleReportListd() throws Exception {
1231 PowerMockito.mockStatic(AppUtils.class);
1232 PowerMockito.mockStatic(ReportLoader.class);
1233 when(AppUtils.getRequestNvlValue(mockedRequest, "schedule_reports")).thenReturn("reportID");
1234 when(AppUtils.isAdminUser(mockedRequest)).thenReturn(true);
1235 when(ReportLoader.doesUserCanScheduleReport(mockedRequest, null)).thenReturn(true);
1236 ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
1237 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
1238 when(rdef.getReportID()).thenReturn("reportID");
1239 actionHandler.processScheduleReportList(mockedRequest, "10");
1244 public void testGetQuickLinksJSON() throws Exception {
1245 PowerMockito.mockStatic(SecurityCodecUtil.class);
1246 PowerMockito.mockStatic(ESAPI.class);
1247 PowerMockito.mockStatic(ReportLoader.class);
1248 Encoder encoder = PowerMockito.mock(Encoder.class);
1249 when(ESAPI.encoder()).thenReturn(encoder);
1250 Codec codec = PowerMockito.mock(Codec.class);
1251 PowerMockito.mockStatic(SecurityCodecUtil.class);
1252 when(SecurityCodecUtil.getCodec()).thenReturn(codec);
1253 when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *");
1254 ArrayList<QuickLink> qList = new ArrayList<QuickLink>();
1255 qList.add(new QuickLink());
1256 when(ReportLoader.getQuickLinksJSON(Mockito.any(HttpServletRequest.class), Mockito.any(String.class), Mockito.eq(true))).thenReturn(qList);
1257 actionHandler.getQuickLinksJSON(mockedRequest, "10");