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