6214ea6722361008cfbf2dca7264ee64d0f3502b
[portal/sdk.git] /
1 /*
2  * ============LICENSE_START==========================================
3  * ONAP Portal SDK
4  * ===================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 package org.onap.portalsdk.analytics.xmlobj;
39
40 import static org.mockito.Mockito.mock;
41 import static org.mockito.Mockito.when;
42
43 import java.awt.Color;
44 import java.awt.Font;
45 import java.io.File;
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.List;
52 import java.util.TreeMap;
53
54 import javax.servlet.ServletContext;
55 import javax.servlet.http.HttpServletRequest;
56 import javax.servlet.http.HttpServletResponse;
57
58 import org.junit.Before;
59 import org.junit.Test;
60 import org.junit.runner.RunWith;
61 import org.mockito.InjectMocks;
62 import org.mockito.Matchers;
63 import org.mockito.Mockito;
64 import org.mockito.MockitoAnnotations;
65 import org.onap.portalsdk.analytics.model.DataCache;
66 import org.onap.portalsdk.analytics.model.ReportLoader;
67 import org.onap.portalsdk.analytics.model.base.ReportWrapper;
68 import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
69 import org.onap.portalsdk.analytics.model.pdf.PdfReportHandler;
70 import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
71 import org.onap.portalsdk.analytics.system.AppUtils;
72 import org.onap.portalsdk.analytics.system.ConnectionUtils;
73 import org.onap.portalsdk.analytics.system.DbUtils;
74 import org.onap.portalsdk.analytics.system.Globals;
75 import org.onap.portalsdk.analytics.util.AppConstants;
76 import org.onap.portalsdk.analytics.util.DataSet;
77 import org.onap.portalsdk.analytics.util.HtmlStripper;
78 import org.onap.portalsdk.analytics.util.Utils;
79 import org.onap.portalsdk.analytics.util.XSSFilter;
80 import org.onap.portalsdk.analytics.view.ColumnHeader;
81 import org.onap.portalsdk.analytics.view.ColumnHeaderRow;
82 import org.onap.portalsdk.analytics.view.DataRow;
83 import org.onap.portalsdk.analytics.view.ReportColumnHeaderRows;
84 import org.onap.portalsdk.analytics.view.ReportData;
85 import org.onap.portalsdk.analytics.view.ReportDataRows;
86 import org.onap.portalsdk.analytics.view.ReportRowHeaderCols;
87 import org.onap.portalsdk.analytics.view.RowHeader;
88 import org.onap.portalsdk.analytics.view.RowHeaderCol;
89 import org.onap.portalsdk.core.util.SecurityCodecUtil;
90 import org.onap.portalsdk.core.web.support.UserUtils;
91 import org.owasp.esapi.ESAPI;
92 import org.owasp.esapi.codecs.Codec;
93 import org.powermock.api.mockito.PowerMockito;
94 import org.powermock.core.classloader.annotations.PrepareForTest;
95 import org.powermock.modules.junit4.PowerMockRunner;
96
97 import com.lowagie.text.Document;
98
99 @RunWith(PowerMockRunner.class)
100 @PrepareForTest({ PdfReportHandler.class, AppConstants.class, Globals.class, AppUtils.class, ReportWrapper.class, DataCache.class,
101         DbUtils.class, DataSet.class, Font.class, ReportLoader.class, ReportRuntime.class, Utils.class, ESAPI.class, Codec.class,
102         SecurityCodecUtil.class, ConnectionUtils.class, XSSFilter.class, ReportDefinition.class, UserUtils.class})
103 public class PdfReportHandlerTest {
104
105         @InjectMocks
106         PdfReportHandler pdfReportHandler;
107         
108         @Before
109     public void init() throws Exception {               
110                 PowerMockito.mockStatic(Globals.class);
111                 PowerMockito.mockStatic(AppUtils.class);
112                 PowerMockito.mockStatic(DbUtils.class);                         
113                 MockitoAnnotations.initMocks(this);
114         }
115         
116         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
117         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
118         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
119         
120         @SuppressWarnings({ "rawtypes", "unchecked" })
121         @Test
122         public void createPdfFileContentTest() throws Exception {
123                 Document doc =  mock(Document.class);
124                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
125                 PowerMockito.when(doc.newPage()).thenReturn(true);
126                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
127                 ReportRuntime rr = mock(ReportRuntime.class);
128                 ReportData rd = mock(ReportData.class);
129                 when(Globals.isCoverPageNeeded()).thenReturn(true);
130                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
131                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
132                 when(rr.isPDFCoverPage()).thenReturn(true);
133                 when(rr.getReportID()).thenReturn("test");
134                 when(rr.getPDFOrientation()).thenReturn("portait");
135                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
136                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
137                 ServletContext servConxt = mock(ServletContext.class);
138                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
139                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
140                 when(rr.getChartType()).thenReturn("test");
141                 when(rr.getDisplayChart()).thenReturn(true);
142                 ArrayList paramNamePDFValues = new ArrayList();
143                 paramNamePDFValues.add("test1");
144                 paramNamePDFValues.add("test2");
145                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
146                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
147                 TreeMap values = new TreeMap<>();
148                 values.put("test", rr);
149                 TreeMap values2 = new TreeMap<>();
150                 values2.put("test3", rd);
151                 TreeMap values3 = new TreeMap<>();
152                 values3.put("test4", "c");
153                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
154                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
155                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
156                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
157         }
158         
159         @SuppressWarnings({ "rawtypes", "unchecked" })
160         @Test
161         public void createPdfFileContentIfNotDashBoardTest() throws Exception {
162                 PowerMockito.mockStatic(Color.class);
163                 PowerMockito.mockStatic(AppConstants.class);
164                 PowerMockito.mockStatic(Globals.class);
165                 PowerMockito.mockStatic(DbUtils.class);
166                 PowerMockito.mockStatic(ConnectionUtils.class);
167
168                 ReportRuntime rr = mock(ReportRuntime.class);
169                 ReportData rd = mock(ReportData.class);
170                 ReportDataRows rdr =  new ReportDataRows();
171                 CustomReportType crType = mock(CustomReportType.class); 
172                 Connection conn = mock(Connection.class);
173                 Statement st = mock(Statement.class);
174                 ResultSet resSet = mock(ResultSet.class);
175                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
176                 DataRow dr = new DataRow();
177                 rdr.add(dr);
178                 rd.reportDataRows = rdr;
179                 when(rr.getCustomReport()).thenReturn(crType);
180                 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
181                 when(crType.getReportType()).thenReturn("Linear");
182                 when(Globals.getDataTableHeaderFontColor()).thenReturn("black");
183
184                 DataSourceList dataSourceList = new DataSourceList();
185
186                 List<DataSourceType> list = new ArrayList<>();
187                 DataSourceType dataSourceType = new DataSourceType();
188                 dataSourceType.setTableName("test");
189                 dataSourceType.setRefTableId("1");
190                 dataSourceType.setTableId("1");
191                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
192                 DataColumnType dataColumnType = new DataColumnType();
193                 dataColumnType.setChartGroup("test");
194                 dataColumnType.setYAxis("test");
195                 dataColumnType.setColName("[test");
196                 dataColumnType.setColOnChart("LEGEND");
197                 dataColumnType.setDisplayName("chart_total");
198                 dataColumnType.setColId("1");
199                 dataColumnType.setTableId("1");
200                 dataColumnType.setColType("DATE");
201                 dataColumnType.setCrossTabValue("ROW");
202                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
203                 dataColumnType.setVisible(true);
204                 dataColumnType.setCalculated(true);
205                 dataColumnTypeList.add(dataColumnType);
206                 DataColumnType dataColumnType1 = new DataColumnType();
207                 dataColumnType1.setCrossTabValue("COLUMN");
208                 dataColumnType1.setColId("1");
209                 dataColumnType1.setVisible(true);
210                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
211                 dataColumnTypeList.add(dataColumnType1);
212
213                 DataColumnList dataColumnList = new DataColumnList();
214                 dataColumnList.dataColumn = dataColumnTypeList;
215                 dataSourceType.setDataColumnList(dataColumnList);
216                 list.add(dataSourceType);
217                 dataSourceList.dataSource = list;
218                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
219                 
220                 when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
221                 when(conn.createStatement()).thenReturn(st);
222                 when( st.executeQuery(Matchers.anyString())).thenReturn(resSet);
223                 when(resSet.getMetaData()).thenReturn(resSetMD);
224                 
225                 when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
226                 when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr);
227                 when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd);
228
229                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
230                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
231                 when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test_sql_whole");
232                 when(rd.getTotalColumnCount()).thenReturn(2);
233                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
234                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
235                 ColumnHeader columnHeader = new ColumnHeader();
236                 columnHeaderRow.add(columnHeader);
237                 reportColumnHeaderRows.add(columnHeaderRow);
238                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
239                 
240                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
241                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
242                 RowHeader rowHeader = new RowHeader();
243                 rowHeader.setRowTitle("test");
244                 rowHeaderCol.add(rowHeader);
245                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
246                 RowHeader rowHeader1 = new RowHeader();
247                 rowHeader1.setRowTitle("test1");
248                 rowHeaderCol1.add(rowHeader1);
249                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
250                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
251                 rd.reportRowHeaderCols = reportRowHeaderCols;
252
253                 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit");
254                 when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test");
255                 when(mockedRequest.getSession().getAttribute(
256                                 AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
257                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
258                 DataSet datset = PowerMockito.mock(DataSet.class);
259                 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
260                 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
261                 
262                 Document doc =  mock(Document.class);
263                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
264                 PowerMockito.when(doc.newPage()).thenReturn(true);
265                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
266                 when(Globals.isCoverPageNeeded()).thenReturn(true);
267                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
268                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
269                 when(rr.isPDFCoverPage()).thenReturn(true);
270                 when(rr.getReportID()).thenReturn("test");
271                 when(rr.getPDFOrientation()).thenReturn("portait");
272                 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
273                 ServletContext servConxt = mock(ServletContext.class);
274                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
275                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
276                 when(rr.getChartType()).thenReturn("test");
277                 when(rr.getDisplayChart()).thenReturn(true);
278                 ArrayList paramNamePDFValues = new ArrayList();
279                 paramNamePDFValues.add("test1");
280                 paramNamePDFValues.add("test2");
281                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1)).thenReturn(paramNamePDFValues);
282                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
283                 TreeMap values = new TreeMap<>();
284                 values.put("test", rr);
285                 TreeMap values2 = new TreeMap<>();
286                 values2.put("test3", rd);
287                 TreeMap values3 = new TreeMap<>();
288                 values3.put("test4", "c");
289                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
290                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
291                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
292                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
293         }
294         
295         
296         @SuppressWarnings({ "rawtypes", "unchecked" })
297         @Test
298         public void createPdfFileContentIfNotDashBoardAndTypeTwoTest() throws Exception {
299                 PowerMockito.mockStatic(Color.class);
300                 PowerMockito.mockStatic(AppConstants.class);
301                 PowerMockito.mockStatic(Globals.class);
302                 PowerMockito.mockStatic(DbUtils.class);
303                 PowerMockito.mockStatic(Font.class);
304                 PowerMockito.mockStatic(ConnectionUtils.class);
305                 HtmlStripper htmlStr = mock(HtmlStripper.class);
306                 PowerMockito.whenNew(HtmlStripper.class).withNoArguments().thenReturn(htmlStr);
307                 when(htmlStr.stripHtml(Matchers.anyString())).thenReturn("test");
308                 ReportRuntime rr = mock(ReportRuntime.class);
309                 ReportData rd = mock(ReportData.class);
310                 ReportDataRows rdr =  new ReportDataRows();
311                 CustomReportType crType = mock(CustomReportType.class); 
312                 Connection conn = mock(Connection.class);
313                 Statement st = mock(Statement.class);
314                 ResultSet resSet = mock(ResultSet.class);
315                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
316                 DataRow dr = new DataRow();
317                 rdr.add(dr);
318                 rd.reportDataRows = rdr;
319                 when(rr.getCustomReport()).thenReturn(crType);
320                 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
321                 when(crType.getReportType()).thenReturn("Linear");
322                 when(Globals.getDataTableHeaderFontColor()).thenReturn("black");
323
324                 DataSourceList dataSourceList = new DataSourceList();
325
326                 List<DataSourceType> list = new ArrayList<>();
327                 DataSourceType dataSourceType = new DataSourceType();
328                 dataSourceType.setTableName("test");
329                 dataSourceType.setRefTableId("1");
330                 dataSourceType.setTableId("1");
331                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
332                 DataColumnType dataColumnType = new DataColumnType();
333                 dataColumnType.setChartGroup("test");
334                 dataColumnType.setYAxis("test");
335                 dataColumnType.setColName("[test");
336                 dataColumnType.setColOnChart("LEGEND");
337                 dataColumnType.setDisplayName("chart_total");
338                 dataColumnType.setColId("1");
339                 dataColumnType.setTableId("1");
340                 dataColumnType.setColType("DATE");
341                 dataColumnType.setCrossTabValue("ROW");
342                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
343                 dataColumnType.setVisible(true);
344                 dataColumnType.setCalculated(true);
345                 dataColumnTypeList.add(dataColumnType);
346                 DataColumnType dataColumnType1 = new DataColumnType();
347                 dataColumnType1.setCrossTabValue("COLUMN");
348                 dataColumnType1.setColId("1");
349                 dataColumnType1.setVisible(true);
350                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
351                 dataColumnTypeList.add(dataColumnType1);
352
353                 DataColumnList dataColumnList = new DataColumnList();
354                 dataColumnList.dataColumn = dataColumnTypeList;
355                 dataSourceType.setDataColumnList(dataColumnList);
356                 list.add(dataSourceType);
357                 dataSourceList.dataSource = list;
358                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
359                 
360                 when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
361                 when(conn.createStatement()).thenReturn(st);
362                 when( st.executeQuery(Matchers.anyString())).thenReturn(resSet);
363                 when(resSet.getMetaData()).thenReturn(resSetMD);
364                 
365                 when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
366                 when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr);
367                 when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd);
368
369                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
370                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
371                 when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test_sql_whole");
372                 when(rd.getTotalColumnCount()).thenReturn(2);
373                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
374                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
375                 ColumnHeader columnHeader = new ColumnHeader();
376                 columnHeaderRow.add(columnHeader);
377                 reportColumnHeaderRows.add(columnHeaderRow);
378                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
379                 
380                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
381                 rd.reportRowHeaderCols = reportRowHeaderCols;
382
383                 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit");
384                 when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test");
385                 when(mockedRequest.getSession().getAttribute(
386                                 AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
387                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
388                 DataSet datset = PowerMockito.mock(DataSet.class);
389                 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
390                 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
391                 
392                 Document doc =  mock(Document.class);
393                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
394                 PowerMockito.when(doc.newPage()).thenReturn(true);
395                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
396                 when(Globals.isCoverPageNeeded()).thenReturn(true);
397                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
398                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
399                 when(rr.isPDFCoverPage()).thenReturn(true);
400                 when(rr.getReportID()).thenReturn("test");
401                 when(rr.getPDFOrientation()).thenReturn("portait");
402                 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
403                 ServletContext servConxt = mock(ServletContext.class);
404                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
405                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
406                 when(rr.getChartType()).thenReturn("test");
407                 when(rr.getDisplayChart()).thenReturn(true);
408                 ArrayList paramNamePDFValues = new ArrayList();
409                 paramNamePDFValues.add("test1");
410                 paramNamePDFValues.add("test2");
411                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1)).thenReturn(paramNamePDFValues);
412                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
413                 TreeMap values = new TreeMap<>();
414                 values.put("test", rr);
415                 TreeMap values2 = new TreeMap<>();
416                 values2.put("test3", rd);
417                 TreeMap values3 = new TreeMap<>();
418                 values3.put("test4", "c");
419                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
420                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
421                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
422                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 2);
423         }
424         
425 }