2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
38 package org.onap.portalsdk.analytics.xmlobj;
40 import static org.mockito.Mockito.mock;
41 import static org.mockito.Mockito.when;
43 import java.awt.Color;
46 import java.sql.Connection;
47 import java.sql.ResultSet;
48 import java.sql.ResultSetMetaData;
49 import java.sql.Statement;
50 import java.util.ArrayList;
51 import java.util.HashMap;
52 import java.util.List;
53 import java.util.TreeMap;
55 import javax.servlet.ServletContext;
56 import javax.servlet.http.HttpServletRequest;
57 import javax.servlet.http.HttpServletResponse;
59 import org.junit.Before;
60 import org.junit.Ignore;
61 import org.junit.Test;
62 import org.junit.runner.RunWith;
63 import org.mockito.InjectMocks;
64 import org.mockito.Matchers;
65 import org.mockito.Mockito;
66 import org.mockito.MockitoAnnotations;
67 import org.onap.portalsdk.analytics.model.DataCache;
68 import org.onap.portalsdk.analytics.model.ReportLoader;
69 import org.onap.portalsdk.analytics.model.base.ReportWrapper;
70 import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
71 import org.onap.portalsdk.analytics.model.pdf.PdfReportHandler;
72 import org.onap.portalsdk.analytics.model.runtime.ReportParamValues;
73 import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
74 import org.onap.portalsdk.analytics.system.AppUtils;
75 import org.onap.portalsdk.analytics.system.ConnectionUtils;
76 import org.onap.portalsdk.analytics.system.DbUtils;
77 import org.onap.portalsdk.analytics.system.Globals;
78 import org.onap.portalsdk.analytics.util.AppConstants;
79 import org.onap.portalsdk.analytics.util.DataSet;
80 import org.onap.portalsdk.analytics.util.HtmlStripper;
81 import org.onap.portalsdk.analytics.util.Utils;
82 import org.onap.portalsdk.analytics.util.XSSFilter;
83 import org.onap.portalsdk.analytics.view.ColumnHeader;
84 import org.onap.portalsdk.analytics.view.ColumnHeaderRow;
85 import org.onap.portalsdk.analytics.view.DataRow;
86 import org.onap.portalsdk.analytics.view.ReportColumnHeaderRows;
87 import org.onap.portalsdk.analytics.view.ReportData;
88 import org.onap.portalsdk.analytics.view.ReportDataRows;
89 import org.onap.portalsdk.analytics.view.ReportRowHeaderCols;
90 import org.onap.portalsdk.analytics.view.RowHeader;
91 import org.onap.portalsdk.analytics.view.RowHeaderCol;
92 import org.onap.portalsdk.core.util.SecurityCodecUtil;
93 import org.onap.portalsdk.core.web.support.UserUtils;
94 import org.owasp.esapi.ESAPI;
95 import org.owasp.esapi.codecs.Codec;
96 import org.powermock.api.mockito.PowerMockito;
97 import org.powermock.core.classloader.annotations.PrepareForTest;
98 import org.powermock.modules.junit4.PowerMockRunner;
100 import com.lowagie.text.Document;
101 import com.lowagie.text.Image;
103 @RunWith(PowerMockRunner.class)
104 @PrepareForTest({ PdfReportHandler.class, PdfReportHandlerTest.class, AppConstants.class, Globals.class, AppUtils.class, ReportWrapper.class, DataCache.class,
105 DbUtils.class, DataSet.class, Font.class, ReportLoader.class, ReportRuntime.class, Utils.class, ESAPI.class, Codec.class,
106 SecurityCodecUtil.class, ConnectionUtils.class, XSSFilter.class, ReportDefinition.class, UserUtils.class})
107 public class PdfReportHandlerTest {
110 PdfReportHandler pdfReportHandler;
113 public void init() throws Exception {
114 PowerMockito.mockStatic(Globals.class);
115 PowerMockito.mockStatic(AppUtils.class);
116 PowerMockito.mockStatic(DbUtils.class);
117 MockitoAnnotations.initMocks(this);
120 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
121 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
122 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
125 @SuppressWarnings({ "rawtypes", "unchecked" })
127 public void createPdfFileContentTest() throws Exception {
128 Document doc = mock(Document.class);
129 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
130 PowerMockito.when(doc.newPage()).thenReturn(true);
131 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
132 ReportRuntime rr = mock(ReportRuntime.class);
133 ReportData rd = mock(ReportData.class);
134 when(Globals.isCoverPageNeeded()).thenReturn(true);
135 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
136 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
137 when(rr.isPDFCoverPage()).thenReturn(true);
138 when(rr.getReportID()).thenReturn("test");
139 when(rr.getPDFOrientation()).thenReturn("portait");
140 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
141 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
142 ServletContext servConxt = mock(ServletContext.class);
143 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
144 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
145 when(rr.getChartType()).thenReturn("test");
146 when(rr.getDisplayChart()).thenReturn(true);
147 ArrayList paramNamePDFValues = new ArrayList();
148 paramNamePDFValues.add("test1");
149 paramNamePDFValues.add("test2");
150 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
151 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
152 TreeMap values = new TreeMap<>();
153 values.put("test", rr);
154 TreeMap values2 = new TreeMap<>();
155 values2.put("test3", rd);
156 TreeMap values3 = new TreeMap<>();
157 values3.put("test4", "c");
158 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
159 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
160 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
161 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
165 @SuppressWarnings({ "rawtypes", "unchecked" })
167 public void createPdfFileContentIfNotDashBoardTest() throws Exception {
168 PowerMockito.mockStatic(Color.class);
169 PowerMockito.mockStatic(AppConstants.class);
170 PowerMockito.mockStatic(Globals.class);
171 PowerMockito.mockStatic(DbUtils.class);
172 PowerMockito.mockStatic(ConnectionUtils.class);
174 ReportRuntime rr = mock(ReportRuntime.class);
175 ReportData rd = mock(ReportData.class);
176 ReportDataRows rdr = new ReportDataRows();
177 CustomReportType crType = mock(CustomReportType.class);
178 Connection conn = mock(Connection.class);
179 Statement st = mock(Statement.class);
180 ResultSet resSet = mock(ResultSet.class);
181 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
182 DataRow dr = new DataRow();
184 rd.reportDataRows = rdr;
185 when(rr.getCustomReport()).thenReturn(crType);
186 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
187 when(crType.getReportType()).thenReturn("Linear");
188 when(Globals.getDataTableHeaderFontColor()).thenReturn("black");
190 DataSourceList dataSourceList = new DataSourceList();
192 List<DataSourceType> list = new ArrayList<>();
193 DataSourceType dataSourceType = new DataSourceType();
194 dataSourceType.setTableName("test");
195 dataSourceType.setRefTableId("1");
196 dataSourceType.setTableId("1");
197 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
198 DataColumnType dataColumnType = new DataColumnType();
199 dataColumnType.setChartGroup("test");
200 dataColumnType.setYAxis("test");
201 dataColumnType.setColName("[test");
202 dataColumnType.setColOnChart("LEGEND");
203 dataColumnType.setDisplayName("chart_total");
204 dataColumnType.setColId("1");
205 dataColumnType.setTableId("1");
206 dataColumnType.setColType("DATE");
207 dataColumnType.setCrossTabValue("ROW");
208 dataColumnType.setPdfDisplayWidthInPxls("0.0");
209 dataColumnType.setVisible(true);
210 dataColumnType.setCalculated(true);
211 dataColumnTypeList.add(dataColumnType);
212 DataColumnType dataColumnType1 = new DataColumnType();
213 dataColumnType1.setCrossTabValue("COLUMN");
214 dataColumnType1.setColId("1");
215 dataColumnType1.setVisible(true);
216 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
217 dataColumnTypeList.add(dataColumnType1);
219 DataColumnList dataColumnList = new DataColumnList();
220 dataColumnList.dataColumn = dataColumnTypeList;
221 dataSourceType.setDataColumnList(dataColumnList);
222 list.add(dataSourceType);
223 dataSourceList.dataSource = list;
224 when(crType.getDataSourceList()).thenReturn(dataSourceList);
226 when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
227 when(conn.createStatement()).thenReturn(st);
228 when( st.executeQuery(Matchers.anyString())).thenReturn(resSet);
229 when(resSet.getMetaData()).thenReturn(resSetMD);
231 when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
232 when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr);
233 when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd);
235 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
236 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
237 when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test_sql_whole");
238 when(rd.getTotalColumnCount()).thenReturn(2);
239 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
240 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
241 ColumnHeader columnHeader = new ColumnHeader();
242 columnHeaderRow.add(columnHeader);
243 reportColumnHeaderRows.add(columnHeaderRow);
244 rd.reportColumnHeaderRows = reportColumnHeaderRows;
246 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
247 RowHeaderCol rowHeaderCol = new RowHeaderCol();
248 RowHeader rowHeader = new RowHeader();
249 rowHeader.setRowTitle("test");
250 rowHeaderCol.add(rowHeader);
251 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
252 RowHeader rowHeader1 = new RowHeader();
253 rowHeader1.setRowTitle("test1");
254 rowHeaderCol1.add(rowHeader1);
255 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
256 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
257 rd.reportRowHeaderCols = reportRowHeaderCols;
259 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit");
260 when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test");
261 when(mockedRequest.getSession().getAttribute(
262 AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
263 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
264 DataSet datset = PowerMockito.mock(DataSet.class);
265 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
266 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
268 Document doc = mock(Document.class);
269 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
270 PowerMockito.when(doc.newPage()).thenReturn(true);
271 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
272 when(Globals.isCoverPageNeeded()).thenReturn(true);
273 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
274 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
275 when(rr.isPDFCoverPage()).thenReturn(true);
276 when(rr.getReportID()).thenReturn("test");
277 when(rr.getPDFOrientation()).thenReturn("portait");
278 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
279 ServletContext servConxt = mock(ServletContext.class);
280 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
281 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
282 when(rr.getChartType()).thenReturn("test");
283 when(rr.getDisplayChart()).thenReturn(true);
284 ArrayList paramNamePDFValues = new ArrayList();
285 paramNamePDFValues.add("test1");
286 paramNamePDFValues.add("test2");
287 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1)).thenReturn(paramNamePDFValues);
288 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
289 TreeMap values = new TreeMap<>();
290 values.put("test", rr);
291 TreeMap values2 = new TreeMap<>();
292 values2.put("test3", rd);
293 TreeMap values3 = new TreeMap<>();
294 values3.put("test4", "c");
295 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
296 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
297 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
298 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
302 @SuppressWarnings({ "rawtypes", "unchecked" })
304 public void createPdfFileContentIfNotDashBoardAndTypeTwoTest() throws Exception {
305 PowerMockito.mockStatic(Color.class);
306 PowerMockito.mockStatic(AppConstants.class);
307 PowerMockito.mockStatic(Globals.class);
308 PowerMockito.mockStatic(DbUtils.class);
309 PowerMockito.mockStatic(Font.class);
310 PowerMockito.mockStatic(ConnectionUtils.class);
311 HtmlStripper htmlStr = mock(HtmlStripper.class);
312 PowerMockito.whenNew(HtmlStripper.class).withNoArguments().thenReturn(htmlStr);
313 when(htmlStr.stripHtml(Matchers.anyString())).thenReturn("test");
314 ReportRuntime rr = mock(ReportRuntime.class);
315 ReportData rd = mock(ReportData.class);
316 ReportDataRows rdr = new ReportDataRows();
317 CustomReportType crType = mock(CustomReportType.class);
318 Connection conn = mock(Connection.class);
319 Statement st = mock(Statement.class);
320 ResultSet resSet = mock(ResultSet.class);
321 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
322 DataRow dr = new DataRow();
324 rd.reportDataRows = rdr;
325 when(rr.getCustomReport()).thenReturn(crType);
326 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
327 when(crType.getReportType()).thenReturn("Linear");
328 when(Globals.getDataTableHeaderFontColor()).thenReturn("black");
330 DataSourceList dataSourceList = new DataSourceList();
332 List<DataSourceType> list = new ArrayList<>();
333 DataSourceType dataSourceType = new DataSourceType();
334 dataSourceType.setTableName("test");
335 dataSourceType.setRefTableId("1");
336 dataSourceType.setTableId("1");
337 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
338 DataColumnType dataColumnType = new DataColumnType();
339 dataColumnType.setChartGroup("test");
340 dataColumnType.setYAxis("test");
341 dataColumnType.setColName("[test");
342 dataColumnType.setColOnChart("LEGEND");
343 dataColumnType.setDisplayName("chart_total");
344 dataColumnType.setColId("1");
345 dataColumnType.setTableId("1");
346 dataColumnType.setColType("DATE");
347 dataColumnType.setCrossTabValue("ROW");
348 dataColumnType.setPdfDisplayWidthInPxls("0.0");
349 dataColumnType.setVisible(true);
350 dataColumnType.setCalculated(true);
351 dataColumnTypeList.add(dataColumnType);
352 DataColumnType dataColumnType1 = new DataColumnType();
353 dataColumnType1.setCrossTabValue("COLUMN");
354 dataColumnType1.setColId("1");
355 dataColumnType1.setVisible(true);
356 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
357 dataColumnTypeList.add(dataColumnType1);
359 DataColumnList dataColumnList = new DataColumnList();
360 dataColumnList.dataColumn = dataColumnTypeList;
361 dataSourceType.setDataColumnList(dataColumnList);
362 list.add(dataSourceType);
363 dataSourceList.dataSource = list;
364 when(crType.getDataSourceList()).thenReturn(dataSourceList);
366 when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
367 when(conn.createStatement()).thenReturn(st);
368 when( st.executeQuery(Matchers.anyString())).thenReturn(resSet);
369 when(resSet.getMetaData()).thenReturn(resSetMD);
371 when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
372 when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr);
373 when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd);
375 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
376 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
377 when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test_sql_whole");
378 when(rd.getTotalColumnCount()).thenReturn(2);
379 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
380 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
381 ColumnHeader columnHeader = new ColumnHeader();
382 columnHeaderRow.add(columnHeader);
383 reportColumnHeaderRows.add(columnHeaderRow);
384 rd.reportColumnHeaderRows = reportColumnHeaderRows;
386 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
387 rd.reportRowHeaderCols = reportRowHeaderCols;
389 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit");
390 when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test");
391 when(mockedRequest.getSession().getAttribute(
392 AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
393 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
394 DataSet datset = PowerMockito.mock(DataSet.class);
395 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
396 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
398 Document doc = mock(Document.class);
399 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
400 PowerMockito.when(doc.newPage()).thenReturn(true);
401 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
402 when(Globals.isCoverPageNeeded()).thenReturn(true);
403 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
404 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
405 when(rr.isPDFCoverPage()).thenReturn(true);
406 when(rr.getReportID()).thenReturn("test");
407 when(rr.getPDFOrientation()).thenReturn("portait");
408 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
409 ServletContext servConxt = mock(ServletContext.class);
410 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
411 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
412 when(rr.getChartType()).thenReturn("test");
413 when(rr.getDisplayChart()).thenReturn(true);
414 ArrayList paramNamePDFValues = new ArrayList();
415 paramNamePDFValues.add("test1");
416 paramNamePDFValues.add("test2");
417 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1)).thenReturn(paramNamePDFValues);
418 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
419 TreeMap values = new TreeMap<>();
420 values.put("test", rr);
421 TreeMap values2 = new TreeMap<>();
422 values2.put("test3", rd);
423 TreeMap values3 = new TreeMap<>();
424 values3.put("test4", "c");
425 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
426 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
427 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
428 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 2);
431 @SuppressWarnings({ "rawtypes", "unchecked", "static-access" })
433 public void createPdfFileContent2Test() throws Exception {
434 PowerMockito.mockStatic(Image.class);
435 Document doc = mock(Document.class);
436 CustomReportType crType = mock(CustomReportType.class);
438 DataSet ds = mock(DataSet.class);
439 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
440 PowerMockito.when(doc.newPage()).thenReturn(true);
441 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
442 ReportRuntime rr = mock(ReportRuntime.class);
443 ReportData rd = mock(ReportData.class);
444 when(Globals.isCoverPageNeeded()).thenReturn(true);
445 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
446 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
447 when(rr.isPDFCoverPage()).thenReturn(true);
448 when(rr.getReportID()).thenReturn("test");
449 when(rr.getPDFOrientation()).thenReturn("portait");
450 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
451 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
452 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
453 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
454 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
455 ServletContext servConxt = mock(ServletContext.class);
456 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
457 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
458 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
459 when(rr.getDisplayChart()).thenReturn(true);
460 ArrayList paramNamePDFValues = new ArrayList();
461 paramNamePDFValues.add("test1");
462 paramNamePDFValues.add("test2");
463 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
464 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
465 when(rr.getLegendPosition()).thenReturn("test");
466 when(rr.hideChartToolTips()).thenReturn(true);
467 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
468 when(rr.getLegendLabelAngle()).thenReturn("test");
469 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
470 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
471 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
472 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
473 List chartGroups = new ArrayList<>();
474 when(rr.getAllChartGroups()).thenReturn(chartGroups);
475 ReportParamValues reportValues= new ReportParamValues();
476 when(rr.getReportParamValues()).thenReturn(reportValues);
477 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
478 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
479 HashMap requestParams = new HashMap<>();
480 requestParams.put("", "test");
482 DataSourceList dataSourceList = new DataSourceList();
484 List<DataSourceType> list = new ArrayList<>();
485 DataSourceType dataSourceType = new DataSourceType();
486 dataSourceType.setTableName("test");
487 dataSourceType.setRefTableId("1");
488 dataSourceType.setTableId("1");
489 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
490 DataColumnType dataColumnType = new DataColumnType();
491 dataColumnType.setChartGroup("test");
492 dataColumnType.setYAxis("test");
493 dataColumnType.setColName("[test");
494 dataColumnType.setColOnChart("LEGEND");
495 dataColumnType.setDisplayName("chart_total");
496 dataColumnType.setColId("1");
497 dataColumnType.setTableId("1");
498 dataColumnType.setDependsOnFormField("test");
499 dataColumnType.setColType("DATE");
500 dataColumnType.setCrossTabValue("ROW");
501 dataColumnType.setPdfDisplayWidthInPxls("0.0");
502 dataColumnType.setVisible(true);
503 dataColumnType.setCalculated(true);
504 dataColumnTypeList.add(dataColumnType);
505 DataColumnType dataColumnType1 = new DataColumnType();
506 dataColumnType1.setCrossTabValue("COLUMN");
507 dataColumnType1.setColId("1");
508 dataColumnType1.setVisible(true);
509 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
510 dataColumnTypeList.add(dataColumnType1);
512 DataColumnList dataColumnList = new DataColumnList();
513 dataColumnList.dataColumn = dataColumnTypeList;
514 dataSourceType.setDataColumnList(dataColumnList);
515 list.add(dataSourceType);
516 dataSourceList.dataSource = list;
517 when(crType.getDataSourceList()).thenReturn(dataSourceList);
519 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
521 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
522 when(rr.hasSeriesColumn()).thenReturn(true);
523 TreeMap values = new TreeMap<>();
524 values.put("test", rr);
525 TreeMap values2 = new TreeMap<>();
526 values2.put("test3", rd);
527 TreeMap values3 = new TreeMap<>();
528 values3.put("test4", "c");
529 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
530 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
531 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
532 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);