diff options
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj')
5 files changed, 3404 insertions, 626 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ActionHandlerTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ActionHandlerTest.java deleted file mode 100644 index 9abd87fe..00000000 --- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ActionHandlerTest.java +++ /dev/null @@ -1,547 +0,0 @@ -/* - * ============LICENSE_START========================================== - * ONAP Portal SDK - * =================================================================== - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalsdk.analytics.xmlobj; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.when; -import static org.powermock.api.mockito.PowerMockito.whenNew; - -import java.io.InputStream; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.ResultSetMetaData; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Matchers; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.onap.portalsdk.analytics.controller.ActionHandler; -import org.onap.portalsdk.analytics.model.ReportLoader; -import org.onap.portalsdk.analytics.model.SearchHandler; -import org.onap.portalsdk.analytics.model.base.ReportWrapper; -import org.onap.portalsdk.analytics.model.definition.ReportDefinition; -import org.onap.portalsdk.analytics.model.runtime.ChartWebRuntime; -import org.onap.portalsdk.analytics.model.runtime.FormField; -import org.onap.portalsdk.analytics.model.runtime.ReportFormFields; -import org.onap.portalsdk.analytics.model.runtime.ReportRuntime; -import org.onap.portalsdk.analytics.system.AppUtils; -import org.onap.portalsdk.analytics.system.DbUtils; -import org.onap.portalsdk.analytics.system.Globals; -import org.onap.portalsdk.analytics.util.AppConstants; -import org.onap.portalsdk.analytics.util.DataSet; -import org.onap.portalsdk.core.logging.format.AlarmSeverityEnum; -import org.onap.portalsdk.core.util.SecurityCodecUtil; -import org.onap.portalsdk.core.web.support.UserUtils; -import org.owasp.esapi.ESAPI; -import org.owasp.esapi.Encoder; -import org.owasp.esapi.codecs.Codec; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({ AppUtils.class, UserUtils.class, ESAPI.class, AppConstants.class, AlarmSeverityEnum.class, ReportWrapper.class, - ReportDefinition.class, SecurityCodecUtil.class, Globals.class, DbUtils.class, ReportLoader.class }) -public class ActionHandlerTest { - - @InjectMocks - ActionHandler actionHandler = new ActionHandler(); - - @Mock - Connection connection; - @Mock - PreparedStatement stmt; - @Mock - ResultSet rs; - @Mock - java.sql.Clob clob; - @Mock - InputStream in; - - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - } - - MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); - HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); - HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); - - - @Test - public void reportRunExceptionTest() { - when(mockedRequest.getParameter("action")).thenReturn("test"); - PowerMockito.mockStatic(AppUtils.class); - when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(true); - assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class); - } - - @SuppressWarnings("unchecked") - @Test - public void reportRunRaptorReportExceptionTest() throws Exception { - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - PowerMockito.mockStatic(ReportLoader.class); - PowerMockito.mockStatic(ReportWrapper.class); - PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mock(AppConstants.class); - PowerMockito.mockStatic(ReportDefinition.class); - PowerMockito.mockStatic(ESAPI.class); - PowerMockito.mockStatic(SecurityCodecUtil.class); - when(mockedRequest.getParameter("action")).thenReturn("test"); - when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false); - when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("testxyz"); - ReportRuntime rr = PowerMockito.mock(ReportRuntime.class); - when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); - when(mockedRequest.getSession().getAttribute("FirstDashReport")).thenReturn(rr); - when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.download"); - Encoder encoder = PowerMockito.mock(Encoder.class); - when(ESAPI.encoder()).thenReturn(encoder); - Codec codec = PowerMockito.mock(Codec.class); - when(SecurityCodecUtil.getCodec()).thenReturn(codec); - when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); - when(Globals.getDownloadAllEmailSent()).thenReturn("test"); - DataSet set = Mockito.mock(DataSet.class); - when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set); - when(DbUtils.getConnection()).thenReturn(connection); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("test2"); - when(rr.getReportID()).thenReturn("test"); - when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_SHOW_BACK_BTN)).thenReturn(true); - when(Globals.getLoadCustomReportXml()).thenReturn("java.lang.String"); - 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>"; - when(connection.prepareStatement("1")).thenReturn(stmt); - when(stmt.executeQuery()).thenReturn(rs); - when(Globals.isWeblogicServer()).thenReturn(true); - when(rs.getClob(1)).thenReturn(clob); - when(rs.next()).thenReturn(true); - when(clob.getAsciiStream()).thenReturn(in); - when(in.read(Matchers.any())).thenReturn(1); - when(AppUtils.nvl(rr.getLegendLabelAngle())).thenReturn("standard"); - when(AppUtils.nvl("Y")).thenReturn("Y"); - when(AppUtils.nvl("bottom")).thenReturn("Y"); - when(AppUtils.nvl("test")).thenReturn("test|"); - when(AppUtils.getRequestValue(mockedRequest, "c_dashboard")).thenReturn("1"); - when(ReportLoader.isDashboardType("-1")).thenReturn(false); - ReportDefinition rdf = PowerMockito.mock(ReportDefinition.class); - whenNew(ReportDefinition.class) - .withArguments(Matchers.any(ReportWrapper.class), Matchers.any(HttpServletRequest.class)) - .thenReturn(rdf); - when(ReportDefinition.unmarshal(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())).thenReturn(rdf); - CustomReportType crType = Mockito.mock(CustomReportType.class); - when(ReportWrapper.unmarshalCR(Matchers.anyString())).thenReturn(crType); - when(Globals.getReportWrapperFormat()).thenReturn("[Globals.getTimeFormat()]"); - when(Globals.getTimeFormat()).thenReturn("[reportID]"); - when(Globals.getReportUserAccess()).thenReturn("[reportID]"); - when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set); - when(set.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn("test"); - when(ReportLoader.loadCustomReportXML("test2")).thenReturn(str); - FormFieldType formFieldType = new FormFieldType(); - formFieldType.setFieldId("test"); - formFieldType.setColId("1"); - formFieldType.setFieldName("test"); - formFieldType.setFieldType("type"); - formFieldType.setValidationType("validation"); - formFieldType.setMandatory("Y"); - formFieldType.setDefaultValue("test"); - formFieldType.setGroupFormField(true); - List formFieldTypeList = new ArrayList<>(); - formFieldTypeList.add(formFieldType); - FormFieldList formFieldList = PowerMockito.mock(FormFieldList.class); - when(formFieldList.getFormField()).thenReturn(formFieldTypeList); - Mockito.when(crType.getFormFieldList()).thenReturn(formFieldList); - when(Globals.getRequestParams()).thenReturn("test,case"); - when( Globals.getSessionParams()).thenReturn("test,abc"); - when(Globals.getSessionParamsForScheduling()).thenReturn("test"); - - DataSourceList dataSourceList = new DataSourceList(); - List<DataSourceType> list = new ArrayList<>(); - DataSourceType dataSourceType = new DataSourceType(); - dataSourceType.setTableName("test"); - dataSourceType.setRefTableId("1"); - dataSourceType.setTableId("1"); - List<DataColumnType> dataColumnTypeList = new ArrayList<>(); - DataColumnType dataColumnType = new DataColumnType(); - dataColumnType.setChartGroup("test"); - dataColumnType.setYAxis("test"); - dataColumnType.setColName("[test"); - dataColumnType.setColOnChart("LEGEND"); - dataColumnType.setDisplayName("chart_total"); - dataColumnType.setColId("1"); - dataColumnType.setTableId("1"); - dataColumnType.setColType("DATE"); - dataColumnType.setCrossTabValue("ROW"); - dataColumnType.setPdfDisplayWidthInPxls("0.0"); - dataColumnType.setVisible(true); - dataColumnType.setCalculated(true); - dataColumnTypeList.add(dataColumnType); - DataColumnType dataColumnType1 = new DataColumnType(); - dataColumnType1.setCrossTabValue("COLUMN"); - dataColumnType1.setColId("1"); - dataColumnType1.setVisible(true); - dataColumnType1.setPdfDisplayWidthInPxls("1.0"); - dataColumnTypeList.add(dataColumnType1); - - DataColumnList dataColumnList = new DataColumnList(); - dataColumnList.dataColumn = dataColumnTypeList; - dataSourceType.setDataColumnList(dataColumnList); - list.add(dataSourceType); - dataSourceList.dataSource = list; - when(crType.getDataSourceList()).thenReturn(dataSourceList); - when(rr.getReportType()).thenReturn(AppConstants.RT_DASHBOARD); - - List predefinedValues = new ArrayList<>(); - ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); - ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); - FormField formField = new FormField("test", "fieldDisplayName", FormField.FFT_COMBO_BOX, "validationType", false, - "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", - "rangeEndDateSQL", "multiSelectListSize"); - FormField formField1 = new FormField("test", "fieldDisplayName", FormField.FFT_LIST_MULTI, "validationType", false, - "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", - "rangeEndDateSQL", "multiSelectListSize"); - FormField formField2 = new FormField("test", "fieldDisplayName", FormField.FFT_BLANK, "validationType", false, - "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", - "rangeEndDateSQL", "multiSelectListSize"); - - reportFormFields.add(formField); - reportFormFields.add(formField1); - reportFormFields.add(formField2); - rr.setReportFormFields(null); - rr.setReportFormFields(reportFormFields); - when(rr.getReportFormFields()).thenReturn(reportFormFields); - when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("test"); - Enumeration<String> enums; - Vector<String> attrs = new Vector<String>(); - attrs.add("ff_test"); - enums = attrs.elements(); - when(rr.getParamKeys()).thenReturn(enums); - assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class); - } - - - @Test - public void reportRunForCSVDownloadTest() throws Exception { - when(mockedRequest.getParameter("action")).thenReturn("test"); - when(mockedRequest.getParameter("r_action")).thenReturn("report.csv.download"); - PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - - when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false); - when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn(""); - ReportRuntime rr = PowerMockito.mock(ReportRuntime.class); - when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); - when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); - when(AppUtils.getRequestFlag(mockedRequest, "fromReportLog")).thenReturn(true); - when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR); - when(rr.getReportDataSQL(Matchers.anyString(), Matchers.anyInt(), Matchers.any())).thenReturn("test"); - PowerMockito.mockStatic(ESAPI.class); - Encoder encoder = PowerMockito.mock(Encoder.class); - when(ESAPI.encoder()).thenReturn(encoder); - Codec codec = PowerMockito.mock(Codec.class); - PowerMockito.mockStatic(SecurityCodecUtil.class); - when(SecurityCodecUtil.getCodec()).thenReturn(codec); - when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); - when(Globals.getDownloadAllEmailSent()).thenReturn("test"); - DataSet set = new DataSet(); - when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set); - assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class); - } - - public ReportRuntime mockReportRunTime1() throws Exception { - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - when(Globals.getReportUserAccess()).thenReturn("test"); - ResultSet rs = PowerMockito.mock(ResultSet.class); - ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class); - when(rsmd.getColumnCount()).thenReturn(1); - when(rs.getMetaData()).thenReturn(rsmd); - DataSet datset = PowerMockito.mock(DataSet.class); - // datset = new DataSet(rs); - when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null); - when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset); - when(Globals.getNewScheduleData()).thenReturn("test"); - CustomReportType customReportType = new CustomReportType(); - DataSourceList dataSourceList = new DataSourceList(); - DataSourceType dataSourceType = new DataSourceType(); - dataSourceType.setTableName("test"); - dataSourceType.setRefTableId("1"); - dataSourceType.setTableId("1"); - List<DataColumnType> dataColumnTypeList = new ArrayList<>(); - DataColumnType dataColumnType = new DataColumnType(); - dataColumnType.setChartGroup("test"); - dataColumnType.setYAxis("test"); - dataColumnType.setColName("[test"); - dataColumnType.setColOnChart("LEGEND"); - dataColumnType.setDisplayName("chart_total"); - dataColumnType.setColId("1"); - dataColumnType.setTableId("1"); - dataColumnType.setColType("DATE"); - dataColumnTypeList.add(dataColumnType); - customReportType.setReportType("test"); - customReportType.setReportTitle("test"); - customReportType.setDataSourceList(dataSourceList); - ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions(); - chartAdditionalOptions.setLabelAngle("test"); - chartAdditionalOptions.setTimeSeriesRender("test"); - chartAdditionalOptions.setMultiSeries(false); - customReportType.setChartAdditionalOptions(chartAdditionalOptions); - ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1", - "1", true); - PowerMockito.mockStatic(UserUtils.class); - when(Globals.getRequestParams()).thenReturn("test"); - when(Globals.getSessionParams()).thenReturn("test"); - when(Globals.getSessionParamsForScheduling()).thenReturn("test"); - PowerMockito.mockStatic(AppUtils.class); - when(AppUtils.getUserID(mockedRequest)).thenReturn("test12"); - ReportRuntime rr = new ReportRuntime(reportWrapper, mockedRequest); - rr.setLegendLabelAngle("test"); - rr.setMultiSeries(false); - rr.setChartType("test"); - return rr; - } - - - @Test - public void reportRunTestCase1() throws Exception { - when(mockedRequest.getParameter("action")).thenReturn("test"); - PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - - when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false); - when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test"); - ReportRuntime rr = PowerMockito.mock(ReportRuntime.class); - when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); - - PowerMockito.mockStatic(ESAPI.class); - Encoder encoder = PowerMockito.mock(Encoder.class); - when(ESAPI.encoder()).thenReturn(encoder); - Codec codec = PowerMockito.mock(Codec.class); - PowerMockito.mockStatic(SecurityCodecUtil.class); - when(SecurityCodecUtil.getCodec()).thenReturn(codec); - when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); - when(Globals.getDownloadAllEmailSent()).thenReturn("test"); - DataSet set = PowerMockito.mock(DataSet.class); - when(set.isEmpty()).thenReturn(false); - when(DbUtils.executeQuery(Matchers.anyString(), Matchers.anyInt())).thenReturn(set); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn(null); - PowerMockito.mockStatic(ReportLoader.class); - when(ReportLoader.loadCustomReportXML(Matchers.anyString())).thenReturn("test"); - assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class); - } - - - @Test - public void reportDeleteTest() throws Exception { - PowerMockito.mockStatic(ESAPI.class); - PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - PowerMockito.mockStatic(AlarmSeverityEnum.class); - DataSet set = Mockito.mock(DataSet.class); - Encoder encoder = PowerMockito.mock(Encoder.class); - ReportRuntime rr = PowerMockito.mock(ReportRuntime.class); - ReportDefinition rd = PowerMockito.mock(ReportDefinition.class); - when(ESAPI.encoder()).thenReturn(encoder); - Codec codec = PowerMockito.mock(Codec.class); - PowerMockito.mockStatic(SecurityCodecUtil.class); - when(SecurityCodecUtil.getCodec()).thenReturn(codec); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("1"); - when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("1"); - when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); - when(Globals.getReportSecurity()).thenReturn("[rw.getReportID()]"); - when(Globals.getReportUserAccess()).thenReturn("[reportID]"); - when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set); - when(Globals.getDeleteOnlyByOwner()).thenReturn(true); - when(Globals.getLogVariablesInSession()).thenReturn("test"); - HttpSession session = Mockito.mock(HttpSession.class); - when(session.getAttribute(Matchers.anyString())).thenReturn(rr); - when(session.getAttribute(Matchers.anyString())).thenReturn(rd); - assertEquals(actionHandler.reportDelete(mockedRequest, "10").getClass(), String.class); - } - - - @Test - public void reportSearchTest() throws Exception { - PowerMockito.mockStatic(ESAPI.class); - PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - when(AppUtils.getImgFolderURL()).thenReturn("test"); - when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_F_REPORT_ID)).thenReturn("test"); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_F_REPORT_NAME)).thenReturn("test"); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_SORT_ORDER)).thenReturn("f_owner_id"); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_LIST_CATEGORY)).thenReturn("test"); - when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_USER_REPORTS)).thenReturn(true); - when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_PUBLIC_REPORTS)).thenReturn(true); - when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_FAVORITE_REPORTS)).thenReturn(true); - when(AppUtils.nvl(Matchers.anyString())).thenReturn("te"); - when(Globals.getLoadReportSearchResult()).thenReturn("test"); - when(Globals.getLoadReportSearchRepIdSql()).thenReturn("test"); - when(Globals.getLoadReportSearchInstr()).thenReturn("test"); - when(Globals.getLoadReportSearchResultUser()).thenReturn("test"); - when(Globals.getLoadReportSearchResultPublic()).thenReturn("test"); - when(Globals.getLoadReportSearchResultFav()).thenReturn("test"); - when(Globals.getLoadReportSearchResultSort()).thenReturn("test"); - when(AppUtils.getRequestNvlValue(mockedRequest, "r_page")).thenReturn("10"); - Vector<String> vc = new Vector<>(); - vc.add("test"); - vc.add("test2"); - when(AppUtils.getUserRoles(mockedRequest)).thenReturn(vc); - when(AppUtils.isSuperUser(mockedRequest)).thenReturn(false); - DataSet set = Mockito.mock(DataSet.class); - when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set); - Enumeration<String> enums; - Vector<String> attrs = new Vector<String>(); - attrs.add("parent_test"); - attrs.add("child_test"); - enums = attrs.elements(); - when(mockedRequest.getSession().getAttributeNames()).thenReturn(enums); - when(mockedRequest.getParameter("rep_id")).thenReturn("test"); - when(mockedRequest.getParameter("rep_id_options")).thenReturn("test"); - when(mockedRequest.getParameter("rep_name_options")).thenReturn("test"); - when(mockedRequest.getParameter("rep_name")).thenReturn("test"); - SearchHandler sh = Mockito.mock(SearchHandler.class); - whenNew(SearchHandler.class).withNoArguments().thenReturn(sh); - actionHandler.reportSearch(mockedRequest, "10"); - } - - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Test(expected = NullPointerException.class) - public void reportChartRunTest() throws Exception { - PowerMockito.mockStatic(Globals.class); - PowerMockito.mockStatic(DbUtils.class); - PowerMockito.mockStatic(ReportLoader.class); - PowerMockito.mockStatic(ReportWrapper.class); - PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mockStatic(ReportDefinition.class); - PowerMockito.mockStatic(ESAPI.class); - PowerMockito.mockStatic(SecurityCodecUtil.class); - PowerMockito.mockStatic(UserUtils.class); - when(UserUtils.getUserId(mockedRequest)).thenReturn(1); - when(AppUtils.isAdminUser(mockedRequest)).thenReturn(true); - when(AppUtils.isSuperUser(mockedRequest)).thenReturn(true); - Map roles = new HashMap<>(); - roles.put("role1", "test1"); - roles.put("role2", "test2"); - when(UserUtils.getRoles(mockedRequest)).thenReturn(roles); - when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("chart.data.json"); - ChartWebRuntime cwr = Mockito.mock(ChartWebRuntime.class); - whenNew(ChartWebRuntime.class).withNoArguments().thenReturn(cwr); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("test"); - ReportRuntime rr = PowerMockito.mock(ReportRuntime.class); - when(DbUtils.getConnection()).thenReturn(connection); - when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("1"); - when(rr.getReportID()).thenReturn("test"); - when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_SHOW_BACK_BTN)).thenReturn(true); - when(Globals.getLoadCustomReportXml()).thenReturn("java.lang.String"); - 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\"><reportType>Hive</reportType><reportName>name</reportName><reportDescr>desc</reportDescr><chartType>type</chartType><showChartTitle>false</showChartTitle><public>false</public><createId>id</createId><pageNav>false</pageNav></CustomReportType>"; - when(connection.prepareStatement("1")).thenReturn(stmt); - when(stmt.executeQuery()).thenReturn(rs); - when(Globals.isWeblogicServer()).thenReturn(true); - when(rs.getClob(1)).thenReturn(clob); - when(rs.next()).thenReturn(true); - when(clob.getAsciiStream()).thenReturn(in); - when(in.read(Matchers.any())).thenReturn(1); - when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test"); - when(AppUtils.nvl(rr.getLegendLabelAngle())).thenReturn("standard"); - when(AppUtils.getRequestNvlValue(Matchers.any(), Matchers.anyString())).thenReturn("test"); - when(AppUtils.nvl("Y")).thenReturn("Y"); - when(AppUtils.nvl("bottom")).thenReturn("Y"); - when(AppUtils.nvl("test")).thenReturn("test|"); - when(AppUtils.getRequestValue(mockedRequest, "c_dashboard")).thenReturn("1"); - when(ReportLoader.isDashboardType("-1")).thenReturn(false); - ReportDefinition rdf = PowerMockito.mock(ReportDefinition.class); - whenNew(ReportDefinition.class) - .withArguments(Matchers.any(ReportWrapper.class), Matchers.any(HttpServletRequest.class)) - .thenReturn(rdf); - PowerMockito.mockStatic(ReportDefinition.class); - when(ReportDefinition.unmarshal(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())).thenReturn(rdf); - CustomReportType crType = Mockito.mock(CustomReportType.class); - when(ReportWrapper.unmarshalCR(Matchers.anyString())).thenReturn(crType); - when(Globals.getReportWrapperFormat()).thenReturn("[Globals.getTimeFormat()]"); - when(Globals.getTimeFormat()).thenReturn("[reportID]"); - when(Globals.getReportUserAccess()).thenReturn("[reportID]"); - DataSet set = PowerMockito.mock(DataSet.class); - when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(set); - when(set.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn("test"); - whenNew(ReportRuntime.class).withArguments(Matchers.any(CustomReportType.class), Matchers.anyString(), - Matchers.any(HttpServletRequest.class), Matchers.anyString(), Matchers.anyString(), - Matchers.anyString(), Matchers.anyString(), Matchers.anyString(), Matchers.anyString(), - Matchers.anyBoolean()).thenReturn(rr); - DataSourceList dsl = Mockito.mock(DataSourceList.class); - List<DataSourceType> list = new ArrayList<>(); - DataSourceType sr1 = new DataSourceType(); - sr1.setComment("test"); - sr1.setRefDefinition("test"); - sr1.setDataColumnList(new DataColumnList()); - sr1.setTableId("test"); - sr1.setTableName("test"); - list.add(sr1); - when(crType.getDataSourceList()).thenReturn(dsl); - when(dsl.getDataSource()).thenReturn(list); - DashboardReports rps = Mockito.mock(DashboardReports.class); - List<Reports> reportList = new ArrayList<>(); - Reports rp = new Reports(); - rp.setBgcolor("white"); - rp.setReportId("1"); - reportList.add(rp); - when(rdf.getDashBoardReports()).thenReturn(rps); - when(rps.getReportsList()).thenReturn(reportList); - when(ReportLoader.loadCustomReportXML("1")).thenReturn(str); - actionHandler.reportChartRun(mockedRequest, "10"); - } -} diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ChartJSONHelperTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ChartJSONHelperTest.java index f69c5dae..8901e73b 100644 --- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ChartJSONHelperTest.java +++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ChartJSONHelperTest.java @@ -70,6 +70,7 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.model.ReportHandler; import org.onap.portalsdk.analytics.model.ReportLoader; import org.onap.portalsdk.analytics.model.base.ReportWrapper; import org.onap.portalsdk.analytics.model.runtime.ChartJSONHelper; @@ -89,7 +90,7 @@ import org.powermock.modules.junit4.PowerMockRunner; import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(PowerMockRunner.class) -@PrepareForTest({UserUtils.class,AppUtils.class, DbUtils.class, ReportRuntime.class, Globals.class, UserUtils.class,ReportLoader.class}) +@PrepareForTest({UserUtils.class,AppUtils.class, DbUtils.class, ReportRuntime.class, Globals.class, UserUtils.class,ReportLoader.class,ChartJSONHelper.class}) public class ChartJSONHelperTest { @InjectMocks @@ -116,7 +117,7 @@ public class ChartJSONHelperTest { HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); - @Test(expected = java.lang.ClassCastException.class) + @Test(expected = java.lang.NullPointerException.class) public void generateJSONTest() throws RaptorException, Exception { EcompRole role = new EcompRole(); @@ -142,6 +143,8 @@ public class ChartJSONHelperTest { rr.setChartType("BarChart3D"); rr.setMultiSeries(true); rr.setDashboardType(true); + rr.setLegendLabelAngle("standard"); + rr.setWholeSQL("SELECT * FROM test"); Mockito.when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); PowerMockito.mockStatic(Globals.class); @@ -165,7 +168,7 @@ public class ChartJSONHelperTest { Mockito.when(rs.next()).thenReturn(true); Mockito.when(clob.getAsciiStream()).thenReturn(in); Mockito.when(in.read(Matchers.any())).thenReturn(1); -// PowerMockito.mockStatic(ReportRuntime.class); + PowerMockito.mockStatic(ReportRuntime.class); Mockito.when(ReportRuntime.unmarshal(str, "1", mockedRequest)).thenReturn(rr); Mockito.when(AppUtils.getRequestNvlValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test"); Mockito.when(AppUtils.nvl(rr.getLegendLabelAngle())).thenReturn("standard"); @@ -175,7 +178,10 @@ public class ChartJSONHelperTest { Mockito.when(AppUtils.nvl("test")).thenReturn("test|"); Mockito.when(AppUtils.getRequestValue(mockedRequest, "c_dashboard")).thenReturn("1"); Mockito.when(ReportLoader.isDashboardType("-1")).thenReturn(false); - assertEquals(chartJSONHelper.generateJSON("1", mockedRequest, false).getClass(), String.class); + ReportHandler reportHandler = Mockito.mock(ReportHandler.class); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportRuntime(Mockito.any(HttpServletRequest.class), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyInt())).thenReturn(rr); + assertEquals(chartJSONHelper.generateJSON("1", mockedRequest, true).getClass(), String.class); } @@ -368,6 +374,7 @@ public class ChartJSONHelperTest { dataColumnType.setColId("1"); dataColumnType.setTableId("1"); dataColumnType.setColType("DATE"); + dataColumnType.setColOnChart("LEGEND"); dataColumnTypeList.add(dataColumnType); DataColumnList dataColumnList = new DataColumnList(); dataColumnList.dataColumn = dataColumnTypeList; diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/PdfReportHandlerTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/PdfReportHandlerTest.java index c94dd41a..76dd83ed 100644 --- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/PdfReportHandlerTest.java +++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/PdfReportHandlerTest.java @@ -51,6 +51,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.TreeMap; +import java.util.Vector; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; @@ -60,11 +61,12 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.InjectMocks; import org.mockito.Matchers; +import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.onap.portalsdk.analytics.model.DataCache; +import org.onap.portalsdk.analytics.model.ReportHandler; import org.onap.portalsdk.analytics.model.ReportLoader; import org.onap.portalsdk.analytics.model.base.ReportWrapper; import org.onap.portalsdk.analytics.model.definition.ReportDefinition; @@ -83,6 +85,8 @@ import org.onap.portalsdk.analytics.util.XSSFilter; import org.onap.portalsdk.analytics.view.ColumnHeader; import org.onap.portalsdk.analytics.view.ColumnHeaderRow; import org.onap.portalsdk.analytics.view.DataRow; +import org.onap.portalsdk.analytics.view.DataValue; +import org.onap.portalsdk.analytics.view.HtmlFormatter; import org.onap.portalsdk.analytics.view.ReportColumnHeaderRows; import org.onap.portalsdk.analytics.view.ReportData; import org.onap.portalsdk.analytics.view.ReportDataRows; @@ -99,33 +103,38 @@ import org.powermock.modules.junit4.PowerMockRunner; import com.lowagie.text.Document; import com.lowagie.text.Image; +import com.lowagie.text.Rectangle; @RunWith(PowerMockRunner.class) -@PrepareForTest({ PdfReportHandler.class, PdfReportHandlerTest.class, AppConstants.class, Globals.class, AppUtils.class, ReportWrapper.class, DataCache.class, - DbUtils.class, DataSet.class, Font.class, ReportLoader.class, ReportRuntime.class, Utils.class, ESAPI.class, Codec.class, - SecurityCodecUtil.class, ConnectionUtils.class, XSSFilter.class, ReportDefinition.class, UserUtils.class}) +@PrepareForTest({ PdfReportHandler.class, PdfReportHandlerTest.class, AppConstants.class, Globals.class, AppUtils.class, + ReportWrapper.class, DataCache.class, DbUtils.class, DataSet.class, Font.class, ReportLoader.class, + ReportRuntime.class, Utils.class, ESAPI.class, Codec.class, SecurityCodecUtil.class, ConnectionUtils.class, + XSSFilter.class, ReportDefinition.class, UserUtils.class, Color.class }) public class PdfReportHandlerTest { - @InjectMocks - PdfReportHandler pdfReportHandler; - + PdfReportHandler pdfReportHandler = new PdfReportHandler(); + @Mock + ReportHandler reportHandler; + @Mock + ReportDefinition rdef; + @Before - public void init() throws Exception { + public void init() throws Exception { PowerMockito.mockStatic(Globals.class); PowerMockito.mockStatic(AppUtils.class); - PowerMockito.mockStatic(DbUtils.class); + PowerMockito.mockStatic(DbUtils.class); MockitoAnnotations.initMocks(this); } - + MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); - - @Ignore + + @Ignore @SuppressWarnings({ "rawtypes", "unchecked" }) @Test public void createPdfFileContentTest() throws Exception { - Document doc = mock(Document.class); + Document doc = mock(Document.class); PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); PowerMockito.when(doc.newPage()).thenReturn(true); when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); @@ -160,7 +169,7 @@ public class PdfReportHandlerTest { when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); } - + @Ignore @SuppressWarnings({ "rawtypes", "unchecked" }) @Test @@ -173,8 +182,8 @@ public class PdfReportHandlerTest { ReportRuntime rr = mock(ReportRuntime.class); ReportData rd = mock(ReportData.class); - ReportDataRows rdr = new ReportDataRows(); - CustomReportType crType = mock(CustomReportType.class); + ReportDataRows rdr = new ReportDataRows(); + CustomReportType crType = mock(CustomReportType.class); Connection conn = mock(Connection.class); Statement st = mock(Statement.class); ResultSet resSet = mock(ResultSet.class); @@ -222,12 +231,12 @@ public class PdfReportHandlerTest { list.add(dataSourceType); dataSourceList.dataSource = list; when(crType.getDataSourceList()).thenReturn(dataSourceList); - + when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn); when(conn.createStatement()).thenReturn(st); - when( st.executeQuery(Matchers.anyString())).thenReturn(resSet); + when(st.executeQuery(Matchers.anyString())).thenReturn(resSet); when(resSet.getMetaData()).thenReturn(resSetMD); - + when(mockedRequest.getParameter("parent")).thenReturn("parent_test"); when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr); when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd); @@ -242,7 +251,7 @@ public class PdfReportHandlerTest { columnHeaderRow.add(columnHeader); reportColumnHeaderRows.add(columnHeaderRow); rd.reportColumnHeaderRows = reportColumnHeaderRows; - + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); RowHeaderCol rowHeaderCol = new RowHeaderCol(); RowHeader rowHeader = new RowHeader(); @@ -258,14 +267,13 @@ public class PdfReportHandlerTest { when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit"); when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test"); - when(mockedRequest.getSession().getAttribute( - AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); Mockito.when(Globals.getNewScheduleData()).thenReturn("test"); DataSet datset = PowerMockito.mock(DataSet.class); when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset); when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null); - - Document doc = mock(Document.class); + + Document doc = mock(Document.class); PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); PowerMockito.when(doc.newPage()).thenReturn(true); when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); @@ -297,7 +305,7 @@ public class PdfReportHandlerTest { when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); } - + @Ignore @SuppressWarnings({ "rawtypes", "unchecked" }) @Test @@ -313,8 +321,8 @@ public class PdfReportHandlerTest { when(htmlStr.stripHtml(Matchers.anyString())).thenReturn("test"); ReportRuntime rr = mock(ReportRuntime.class); ReportData rd = mock(ReportData.class); - ReportDataRows rdr = new ReportDataRows(); - CustomReportType crType = mock(CustomReportType.class); + ReportDataRows rdr = new ReportDataRows(); + CustomReportType crType = mock(CustomReportType.class); Connection conn = mock(Connection.class); Statement st = mock(Statement.class); ResultSet resSet = mock(ResultSet.class); @@ -362,12 +370,12 @@ public class PdfReportHandlerTest { list.add(dataSourceType); dataSourceList.dataSource = list; when(crType.getDataSourceList()).thenReturn(dataSourceList); - + when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn); when(conn.createStatement()).thenReturn(st); - when( st.executeQuery(Matchers.anyString())).thenReturn(resSet); + when(st.executeQuery(Matchers.anyString())).thenReturn(resSet); when(resSet.getMetaData()).thenReturn(resSetMD); - + when(mockedRequest.getParameter("parent")).thenReturn("parent_test"); when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr); when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd); @@ -382,20 +390,19 @@ public class PdfReportHandlerTest { columnHeaderRow.add(columnHeader); reportColumnHeaderRows.add(columnHeaderRow); rd.reportColumnHeaderRows = reportColumnHeaderRows; - + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); rd.reportRowHeaderCols = reportRowHeaderCols; when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit"); when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test"); - when(mockedRequest.getSession().getAttribute( - AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); Mockito.when(Globals.getNewScheduleData()).thenReturn("test"); DataSet datset = PowerMockito.mock(DataSet.class); when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset); when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null); - - Document doc = mock(Document.class); + + Document doc = mock(Document.class); PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); PowerMockito.when(doc.newPage()).thenReturn(true); when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); @@ -427,13 +434,13 @@ public class PdfReportHandlerTest { when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 2); } - + @SuppressWarnings({ "rawtypes", "unchecked", "static-access" }) @Test public void createPdfFileContent2Test() throws Exception { PowerMockito.mockStatic(Image.class); - Document doc = mock(Document.class); - CustomReportType crType = mock(CustomReportType.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); DataSet ds = mock(DataSet.class); PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); @@ -472,13 +479,13 @@ public class PdfReportHandlerTest { when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); List chartGroups = new ArrayList<>(); when(rr.getAllChartGroups()).thenReturn(chartGroups); - ReportParamValues reportValues= new ReportParamValues(); + ReportParamValues reportValues = new ReportParamValues(); when(rr.getReportParamValues()).thenReturn(reportValues); when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); HashMap requestParams = new HashMap<>(); requestParams.put("", "test"); - + DataSourceList dataSourceList = new DataSourceList(); List<DataSourceType> list = new ArrayList<>(); @@ -515,7 +522,1828 @@ public class PdfReportHandlerTest { list.add(dataSourceType); dataSourceList.dataSource = list; when(crType.getDataSourceList()).thenReturn(dataSourceList); - + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent_case5Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + ReportDataRows rdr = new ReportDataRows(); + Connection conn = mock(Connection.class); + Statement st = mock(Statement.class); + ResultSet resSet = mock(ResultSet.class); + ResultSetMetaData resSetMD = mock(ResultSetMetaData.class); + DataRow dr = new DataRow(); + rdr.add(dr); + rd.reportDataRows = rdr; + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd); + Mockito.when(rr.getReportType()).thenReturn("test"); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent_case6Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + ReportDataRows rdr = new ReportDataRows(); + Connection conn = mock(Connection.class); + Statement st = mock(Statement.class); + ResultSet resSet = mock(ResultSet.class); + ResultSetMetaData resSetMD = mock(ResultSetMetaData.class); + DataRow dr = new DataRow(); + rdr.add(dr); + rd.reportDataRows = rdr; + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd); + Mockito.when(rr.getReportType()).thenReturn("test"); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2); + + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent_case7Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + ReportDataRows rdr = new ReportDataRows(); + Connection conn = mock(Connection.class); + Statement st = mock(Statement.class); + ResultSet resSet = mock(ResultSet.class); + ResultSetMetaData resSetMD = mock(ResultSetMetaData.class); + DataRow dr = new DataRow(); + rdr.add(dr); + rd.reportDataRows = rdr; + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd); + Mockito.when(rr.getReportType()).thenReturn("test"); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2); + + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title"); + when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index"); + when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle"); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test(expected = org.onap.portalsdk.analytics.error.RaptorException.class) + public void createPdfFileContent_case8Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + ReportDataRows rdr = new ReportDataRows(); + Connection conn = mock(Connection.class); + Statement st = mock(Statement.class); + ResultSet resSet = mock(ResultSet.class); + ResultSetMetaData resSetMD = mock(ResultSetMetaData.class); + DataRow dr = new DataRow(); + rdr.add(dr); + rd.reportDataRows = rdr; + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd); + Mockito.when(rr.getReportType()).thenReturn("Linear"); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2); + + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + List<DataColumnType> dataColumnTypeList1 = new ArrayList<>(); + Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title"); + when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index"); + when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle"); + Mockito.when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test"); + PowerMockito.mockStatic(ConnectionUtils.class); + + Mockito.when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn); + Mockito.when(conn.createStatement()).thenReturn(st); + Mockito.when(st.executeQuery(Matchers.anyString())).thenReturn(resSet); + Mockito.when(resSet.getMetaData()).thenReturn(resSetMD); + Mockito.when(resSetMD.getColumnCount()).thenReturn(2); + Mockito.when(resSet.next()).thenReturn(true); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test(expected = org.onap.portalsdk.analytics.error.RaptorException.class) + public void createPdfFileContent_case9Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataRow dataRow2 = new DataRow(); + + ArrayList dataValueList = new ArrayList<>(); + DataValue value = new DataValue(); + value.setColId("test"); + value.setVisible(true); + DataValue value1 = new DataValue(); + DataValue value2 = new DataValue(); + + dataValueList.add(value); + dataValueList.add(value1); + dataValueList.add(value2); + dataRow.addDataValue(value); + dataRow.addDataValue(value1); + dataRow.addDataValue(value2); + dataRow.setDataValueList(dataValueList); + + dataRow2.addDataValue(value); + dataRow2.addDataValue(value1); + dataRow2.addDataValue(value2); + dataRow2.setDataValueList(dataValueList); + + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + dataRow1.addDataValue(value2); + dataRow1.setDataValueList(dataValueList); + + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow2); + reportDataRows.add(dataRow2); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataRows = reportDataRows; + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + ReportDataRows rdr = new ReportDataRows(); + Connection conn = mock(Connection.class); + Statement st = mock(Statement.class); + ResultSet resSet = mock(ResultSet.class); + ResultSetMetaData resSetMD = mock(ResultSetMetaData.class); + DataRow dr = new DataRow(); + rdr.add(dr); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd); + Mockito.when(rr.getReportType()).thenReturn("Linear"); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2); + + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + List<DataColumnType> dataColumnTypeList1 = new ArrayList<>(); + Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title"); + when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index"); + when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle"); + Mockito.when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test"); + PowerMockito.mockStatic(ConnectionUtils.class); + + Mockito.when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn); + Mockito.when(conn.createStatement()).thenReturn(st); + Mockito.when(st.executeQuery(Matchers.anyString())).thenReturn(resSet); + Mockito.when(resSet.getMetaData()).thenReturn(resSetMD); + Mockito.when(resSetMD.getColumnCount()).thenReturn(2); + Mockito.when(resSet.next()).thenReturn(true); + Mockito.when(resSetMD.getColumnLabel(Matchers.anyInt())).thenReturn("test"); + Mockito.when(resSet.getString(Matchers.anyInt())).thenReturn("test"); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent10Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn("TimeSeriesChart"); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent11Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn("BarChart3D"); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + chartGroups.add("test"); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnType.setColType("chart_total"); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent12Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn("BarChart3D"); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + chartGroups.add("test|123"); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("chart_total"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnType.setColType("chart_total"); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test|123"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test(expected = java.lang.NullPointerException.class) + public void createPdfFileContent13Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + Rectangle rectangle = Mockito.mock(Rectangle.class); + Mockito.when(doc.getPageSize()).thenReturn(rectangle); + Mockito.when(rectangle.rotate()).thenReturn(rectangle); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(""); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + chartGroups.add("test|123"); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("chart_total"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnType.setColType("chart_total"); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test|123"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + Mockito.when(rr.getReportType()).thenReturn("Linear"); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataRow dataRow2 = new DataRow(); + + ArrayList dataValueList = new ArrayList<>(); + DataValue value = new DataValue(); + value.setColId("test"); + value.setVisible(true); + value.setBold(true); + HtmlFormatter cfmt = new HtmlFormatter(); + value.setCellFormatter(cfmt); + DataValue value1 = new DataValue(); + HtmlFormatter cfmt1 = new HtmlFormatter(); + cfmt1.setBold(true); + cfmt1.setItalic(true); + cfmt1.setUnderline(true); + cfmt1.setFontColor("red"); + cfmt1.setFontSize("1.1"); + value1.setRowFormatter(cfmt1); + + DataValue value2 = new DataValue(); + value2.setColId("test"); + value2.setVisible(true); + value2.setBold(true); + dataValueList.add(value); + dataValueList.add(value1); + dataValueList.add(value2); + dataRow.addDataValue(value); + dataRow.addDataValue(value1); + dataRow.addDataValue(value2); + dataRow.setDataValueList(dataValueList); + + dataRow2.addDataValue(value); + dataRow2.addDataValue(value1); + dataRow2.addDataValue(value2); + dataRow2.setDataValueList(dataValueList); + + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + dataRow1.addDataValue(value2); + dataRow1.setDataValueList(dataValueList); + + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow2); + reportDataRows.add(dataRow2); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + + RowHeader rowHeader = new RowHeader(); + RowHeader rowHeader1 = new RowHeader(); + RowHeader rowHeader2 = new RowHeader(); + + rowHeader.setBold(false); + rowHeader1.setBold(true); + rowHeaderCol.add(rowHeader); + rowHeaderCol.add(rowHeader1); + rowHeaderCol.add(rowHeader2); + + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + + rowHeaderCol1.add(rowHeader); + rowHeaderCol1.add(rowHeader1); + rowHeaderCol1.add(rowHeader2); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(), + Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr); + Mockito.when(rr.getPDFOrientation()).thenReturn("orientation"); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent14Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + Rectangle rectangle = Mockito.mock(Rectangle.class); + Mockito.when(doc.getPageSize()).thenReturn(rectangle); + Mockito.when(rectangle.rotate()).thenReturn(rectangle); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(""); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + chartGroups.add("test|123"); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("chart_total"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnType.setColType("chart_total"); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test|123"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + Mockito.when(rr.getReportType()).thenReturn("Linear"); + + ReportDataRows reportDataRows1 = new ReportDataRows(); + + rd.reportDataRows = reportDataRows1; + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataTotalRow = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + + RowHeader rowHeader = new RowHeader(); + RowHeader rowHeader1 = new RowHeader(); + RowHeader rowHeader2 = new RowHeader(); + + rowHeader.setBold(false); + rowHeader1.setBold(true); + rowHeaderCol.add(rowHeader); + rowHeaderCol.add(rowHeader1); + rowHeaderCol.add(rowHeader2); + + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + + rowHeaderCol1.add(rowHeader); + rowHeaderCol1.add(rowHeader1); + rowHeaderCol1.add(rowHeader2); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(), + Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr); + Mockito.when(rr.getPDFOrientation()).thenReturn("orientation"); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0); + when(mockedRequest.getSession().getAttribute("FOOTER_0")).thenReturn("footer"); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent15Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + Rectangle rectangle = Mockito.mock(Rectangle.class); + Mockito.when(doc.getPageSize()).thenReturn(rectangle); + Mockito.when(rectangle.rotate()).thenReturn(rectangle); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(""); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + chartGroups.add("test|123"); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("chart_total"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnType.setColType("chart_total"); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test|123"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + Mockito.when(rr.getReportType()).thenReturn("Cross-Tab"); + + ReportDataRows reportDataRows1 = new ReportDataRows(); + + rd.reportDataRows = reportDataRows1; + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataTotalRow = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + + RowHeader rowHeader = new RowHeader(); + RowHeader rowHeader1 = new RowHeader(); + RowHeader rowHeader2 = new RowHeader(); + + rowHeader.setBold(false); + rowHeader1.setBold(true); + rowHeaderCol.add(rowHeader); + rowHeaderCol.add(rowHeader1); + rowHeaderCol.add(rowHeader2); + + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + + rowHeaderCol1.add(rowHeader); + rowHeaderCol1.add(rowHeader1); + rowHeaderCol1.add(rowHeader2); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(), + Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr); + Mockito.when(rr.getPDFOrientation()).thenReturn("orientation"); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0); + when(mockedRequest.getSession().getAttribute("FOOTER_0")).thenReturn("footer"); + + List getReportDataList = new ArrayList<>(); + getReportDataList.add(dataRow); + getReportDataList.add(dataRow1); + Mockito.when(rd.getReportDataList()).thenReturn(getReportDataList); + + Vector<DataValue> rowValues = new Vector(); + rowValues.add(value1); + rowValues.add(value1); + + ArrayList dataValueList = new ArrayList<>(); + value.setColId("test"); + value.setVisible(true); + DataValue value2 = new DataValue(); + HtmlFormatter cfmt = new HtmlFormatter(); + value.setCellFormatter(cfmt); + + dataValueList.add(value); + dataValueList.add(value1); + dataValueList.add(value2); + dataRow.addDataValue(value); + dataRow.addDataValue(value1); + dataRow.addDataValue(value2); + dataRow.setDataValueList(dataValueList); + dataRow1.setDataValueList(dataValueList); + + dataRow.setRowValues(rowValues); + dataRow1.setRowValues(rowValues); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); + } + + @Test + public void createPdfFileContent_case15Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + ReportDataRows rdr = new ReportDataRows(); + Connection conn = mock(Connection.class); + Statement st = mock(Statement.class); + ResultSet resSet = mock(ResultSet.class); + ResultSetMetaData resSetMD = mock(ResultSetMetaData.class); + DataRow dr = new DataRow(); + rdr.add(dr); + rd.reportDataRows = rdr; + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row"); + when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + when(crType.getDataSourceList()).thenReturn(dataSourceList); + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); ds.set(0, "test"); when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); @@ -529,7 +2357,259 @@ public class PdfReportHandlerTest { when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd); + Mockito.when(rr.getReportType()).thenReturn("Linear"); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2); + + List<DataColumnType> dataColumnTypeList = mockDataList(); + List<DataColumnType> dataColumnTypeList1 = new ArrayList<>(); + Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title"); + when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index"); + when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle"); + Mockito.when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test"); + PowerMockito.mockStatic(ConnectionUtils.class); + + Mockito.when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn); + Mockito.when(conn.createStatement()).thenReturn(st); + Mockito.when(st.executeQuery(Matchers.anyString())).thenReturn(resSet); + Mockito.when(resSet.getMetaData()).thenReturn(resSetMD); + Mockito.when(resSetMD.getColumnCount()).thenReturn(2); + Mockito.when(resSet.next()).thenReturn(false); + + rd.reportDataTotalRow = reportDataRows; pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3); } + + @Test + public void currentTimeTest() { + PowerMockito.mockStatic(Globals.class); + Mockito.when(Globals.getTimeZone()).thenReturn("EST"); + pdfReportHandler.currentTime("11/11/2011 11:11:11"); + } + + public List<DataColumnType> mockDataList() { + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + return dataColumnTypeList; + } + + + @Test(expected = java.lang.NullPointerException.class) + public void createPdfFileContent17Test() throws Exception { + PowerMockito.mockStatic(Image.class); + Document doc = mock(Document.class); + CustomReportType crType = mock(CustomReportType.class); + DataSet ds = mock(DataSet.class); + PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc); + PowerMockito.when(doc.newPage()).thenReturn(true); + Rectangle rectangle = Mockito.mock(Rectangle.class); + Mockito.when(doc.getPageSize()).thenReturn(rectangle); + Mockito.when(rectangle.rotate()).thenReturn(rectangle); + when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + ReportRuntime rr = mock(ReportRuntime.class); + ReportData rd = mock(ReportData.class); + when(Globals.isCoverPageNeeded()).thenReturn(true); + when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1"); + when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1"); + when(rr.isPDFCoverPage()).thenReturn(true); + when(rr.getReportID()).thenReturn("test"); + when(rr.getPDFOrientation()).thenReturn("portait"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical"); + when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test"); + when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D"); + when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr); + when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test123"); + ServletContext servConxt = mock(ServletContext.class); + when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt); + when(servConxt.getRealPath(File.separator)).thenReturn("testpath"); + when(rr.getChartType()).thenReturn(""); + when(rr.getDisplayChart()).thenReturn(true); + ArrayList paramNamePDFValues = new ArrayList(); + paramNamePDFValues.add("test1"); + paramNamePDFValues.add("test2"); + when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues); + when(rr.getFormFieldComments(mockedRequest)).thenReturn("test"); + when(rr.getLegendPosition()).thenReturn("test"); + when(rr.hideChartToolTips()).thenReturn(true); + when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y"); + when(rr.getLegendLabelAngle()).thenReturn("test"); + when(rr.getMaxLabelsInDomainAxis()).thenReturn("test"); + when(rr.getRangeAxisLowerLimit()).thenReturn("10"); + when(rr.getRangeAxisUpperLimit()).thenReturn("10"); + when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y"); + List chartGroups = new ArrayList<>(); + chartGroups.add("test|123"); + when(rr.getAllChartGroups()).thenReturn(chartGroups); + ReportParamValues reportValues = new ReportParamValues(); + when(rr.getReportParamValues()).thenReturn(reportValues); + when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test"); + when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test"); + HashMap requestParams = new HashMap<>(); + requestParams.put("", "test"); + + DataSourceList dataSourceList = new DataSourceList(); + + List<DataSourceType> list = new ArrayList<>(); + DataSourceType dataSourceType = new DataSourceType(); + dataSourceType.setTableName("test"); + dataSourceType.setRefTableId("1"); + dataSourceType.setTableId("1"); + List<DataColumnType> dataColumnTypeList = new ArrayList<>(); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("chart_total"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("chart_total"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setDependsOnFormField("test"); + dataColumnType.setColType("DATE"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setPdfDisplayWidthInPxls("0.0"); + dataColumnType.setVisible(true); + dataColumnType.setCalculated(true); + dataColumnType.setColType("chart_total"); + dataColumnTypeList.add(dataColumnType); + DataColumnType dataColumnType1 = new DataColumnType(); + dataColumnType1.setCrossTabValue("COLUMN"); + dataColumnType1.setColId("1"); + dataColumnType1.setVisible(true); + dataColumnType1.setPdfDisplayWidthInPxls("1.0"); + dataColumnTypeList.add(dataColumnType1); + + DataColumnList dataColumnList = new DataColumnList(); + dataColumnList.dataColumn = dataColumnTypeList; + dataSourceType.setDataColumnList(dataColumnList); + list.add(dataSourceType); + dataSourceList.dataSource = list; + when(crType.getDataSourceList()).thenReturn(dataSourceList); + + when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams); + ds.set(0, "test"); + when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds); + when(rr.hasSeriesColumn()).thenReturn(true); + TreeMap values = new TreeMap<>(); + values.put("test", rr); + TreeMap values2 = new TreeMap<>(); + values2.put("test3", rd); + TreeMap values3 = new TreeMap<>(); + values3.put("test4", "c"); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2); + when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3); + + Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList); + ArrayList chartValueColAxis = new ArrayList(); + chartValueColAxis.add("test|123"); + Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class))) + .thenReturn(chartValueColAxis); + Mockito.when(rr.getReportType()).thenReturn("Linear"); + + + + ReportDataRows reportDataRows = new ReportDataRows(); + DataRow dataRow1 = new DataRow(); + DataRow dataRow = new DataRow(); + + DataValue value = new DataValue(); + DataValue value1 = new DataValue(); + dataRow1.addDataValue(value); + dataRow1.addDataValue(value1); + reportDataRows.addDataRow(dataRow1); + reportDataRows.add(dataRow1); + reportDataRows.addDataRow(dataRow); + reportDataRows.add(dataRow); + rd.reportDataTotalRow = reportDataRows; + rd.reportDataRows = reportDataRows; + + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + + RowHeader rowHeader = new RowHeader(); + RowHeader rowHeader1 = new RowHeader(); + RowHeader rowHeader2 = new RowHeader(); + + rowHeader.setBold(false); + rowHeader1.setBold(true); + rowHeaderCol.add(rowHeader); + rowHeaderCol.add(rowHeader1); + rowHeaderCol.add(rowHeader2); + + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + + rowHeaderCol1.add(rowHeader); + rowHeaderCol1.add(rowHeader1); + rowHeaderCol1.add(rowHeader2); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + + PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler); + Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString())) + .thenReturn(rdef); + Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(), + Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr); + Mockito.when(rr.getPDFOrientation()).thenReturn("orientation"); + Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1); + Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test"); + PowerMockito.mockStatic(Color.class); + Color color = new Color(1); + Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color); + Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0); + when(mockedRequest.getSession().getAttribute("FOOTER_0")).thenReturn("footer"); + List newlist = new ArrayList<>(); + newlist.add(1); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)) + .thenReturn(newlist); + Mockito.when(rd.getTotalColumnCount()).thenReturn(2); + pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 2); + } + + } diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportRuntimeTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportRuntimeTest.java index 668304fd..0bdaeb0f 100644 --- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportRuntimeTest.java +++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportRuntimeTest.java @@ -37,9 +37,15 @@ */ package org.onap.portalsdk.analytics.xmlobj; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.util.ArrayList; +import java.util.Enumeration; import java.util.List; import java.util.Vector; @@ -57,7 +63,9 @@ import org.onap.portalsdk.analytics.model.base.ReportWrapper; import org.onap.portalsdk.analytics.model.definition.ReportDefinition; import org.onap.portalsdk.analytics.model.runtime.FormField; import org.onap.portalsdk.analytics.model.runtime.ReportFormFields; +import org.onap.portalsdk.analytics.model.runtime.ReportJSONRuntime; import org.onap.portalsdk.analytics.model.runtime.ReportRuntime; +import org.onap.portalsdk.analytics.model.runtime.VisualManager; import org.onap.portalsdk.analytics.system.AppUtils; import org.onap.portalsdk.analytics.system.ConnectionUtils; import org.onap.portalsdk.analytics.system.DbUtils; @@ -69,10 +77,16 @@ import org.onap.portalsdk.analytics.util.Utils; import org.onap.portalsdk.analytics.util.XSSFilter; import org.onap.portalsdk.analytics.view.ColumnHeader; import org.onap.portalsdk.analytics.view.ColumnHeaderRow; +import org.onap.portalsdk.analytics.view.ColumnVisual; +import org.onap.portalsdk.analytics.view.DataRow; +import org.onap.portalsdk.analytics.view.DataValue; +import org.onap.portalsdk.analytics.view.HtmlFormatter; import org.onap.portalsdk.analytics.view.ReportColumnHeaderRows; import org.onap.portalsdk.analytics.view.ReportData; +import org.onap.portalsdk.analytics.view.ReportDataRows; import org.onap.portalsdk.analytics.view.ReportRowHeaderCols; import org.onap.portalsdk.analytics.view.RowHeaderCol; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.onap.portalsdk.core.util.SecurityCodecUtil; import org.onap.portalsdk.core.web.support.UserUtils; import org.owasp.esapi.ESAPI; @@ -123,10 +137,13 @@ public class ReportRuntimeTest { dataColumnType.setColId("1"); dataColumnType.setTableId("1"); dataColumnType.setColType("DATE"); - dataColumnType.setDependsOnFormField("tes[t"); + dataColumnType.setDependsOnFormField("[test]"); dataColumnType.setDrillDownParams("drilldown[#]"); dataColumnType.setCrossTabValue("VALUE"); - dataColumnType.setDrillDownURL("url"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + dataColumnType.setOrderBySeq(10); + dataColumnType.setVisible(true); dataColumnTypeList.add(dataColumnType); DataColumnList dataColumnList = new DataColumnList(); dataColumnList.dataColumn = dataColumnTypeList; @@ -176,8 +193,46 @@ public class ReportRuntimeTest { rr.setLegendLabelAngle("test"); rr.setMultiSeries(false); rr.setChartType("test"); + rr.setXmlFileName("test"); + rr.setXmlFileURL("test"); + rr.setFlatFileName("test"); + rr.setExcelPageFileName("test"); + rr.setTotalSql("test"); + rr.setDisplayMode(10); + rr.setDateOption(10); return rr; } + + @Test + public void testReportRuntimeProperties() throws Exception { + PowerMockito.mockStatic(ReportLoader.class); + PowerMockito.when(ReportLoader.isDashboardType(Mockito.any(String.class))).thenReturn(true); + ReportRuntime rr = mockReportRunTime1(); + assertEquals("test", rr.getXmlFileURL()); + assertEquals("test", rr.getXmlFileName()); + assertEquals("test", rr.getFlatFileName()); + assertEquals("test", rr.getExcelPageFileName()); + assertTrue(rr.getDisplayForm()); + assertTrue(rr.getDisplayContent()); + assertEquals(-1, rr.getCachedPageNo()); + assertEquals(null, rr.getCachedSQL()); + assertTrue(rr.isDashboardType()); + assertEquals("test", rr.getParamValue("test")); + assertEquals("test", rr.getParamDisplayValue("test")); + rr.getParamKeys(); + rr.getParamKeysForPDFExcel(); + assertEquals("test", rr.getParamValueForPDFExcel("test")); + assertEquals(FormField.class, rr.getFormField("test").getClass()); + assertEquals("test", rr.getTotalSql()); + assertEquals(VisualManager.class, rr.getVisualManager().getClass()); + assertEquals(" null) x ", rr.getReportSQLWithRowNum("test", true)); + assertEquals(10, rr.getDisplayMode()); + assertEquals(10, rr.getDateOption()); + assertFalse(rr.isDisplayColTotals()); + assertFalse(rr.isDisplayRowTotals()); + rr.showColVisual("test"); + rr.sortColVisual("test"); + } @Test public void getParamNameValuePairsTest() throws Exception { @@ -188,13 +243,53 @@ public class ReportRuntimeTest { @Test public void getParamNameValuePairsforPDFExcelTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); - rr.setReportFormFields(null); + PowerMockito.mockStatic(AppUtils.class); + PowerMockito.mockStatic(ESAPI.class); List predefinedValues = new ArrayList<>(); ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); FormField formField = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, true, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField1 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField2 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); + + reportFormFields.add(formField); + reportFormFields.add(formField1); + reportFormFields.add(formField2); + rr.setReportFormFields(null); + rr.setReportFormFields(reportFormFields); + + + Mockito.when(Globals.customizeFormFieldInfo()).thenReturn(true); + Mockito.when(Globals.getDisplaySessionParamInPDFEXCEL()).thenReturn("test,test"); + HttpSession session = mockedRequest.getSession(); + Mockito.when(session.getAttribute("test")).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Mockito.when(encoder.canonicalize(Mockito.anyString())).thenReturn("test"); + rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2); + + } + + @Test + public void getParamNameValuePairsforPDFExcelTest_WhenIsScheduleFlagTrue() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(AppUtils.class); + PowerMockito.mockStatic(ESAPI.class); + List predefinedValues = new ArrayList<>(); + ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); + ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); + FormField formField = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, true, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); FormField formField1 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); @@ -208,17 +303,23 @@ public class ReportRuntimeTest { rr.setReportFormFields(null); rr.setReportFormFields(reportFormFields); - PowerMockito.mockStatic(Globals.class); + Mockito.when(Globals.customizeFormFieldInfo()).thenReturn(true); Mockito.when(Globals.getDisplaySessionParamInPDFEXCEL()).thenReturn("test,test"); HttpSession session = mockedRequest.getSession(); Mockito.when(session.getAttribute("test")).thenReturn("test"); Mockito.when(Globals.getSessionParams()).thenReturn("test,test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,test"); + Mockito.when(AppUtils.getRequestValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Mockito.when(encoder.canonicalize(Mockito.anyString())).thenReturn("test"); rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2); } - @Test(expected = java.lang.ArrayIndexOutOfBoundsException.class) + @Test public void getParamNameValuePairsforPDFExcel1Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.setReportFormFields(null); @@ -226,7 +327,7 @@ public class ReportRuntimeTest { ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); FormField formField = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", true, - "defaultValue", "helpText", predefinedValues, true, "dependsOn", null, null, "rangeStartDateSQL", + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormField formField1 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", @@ -241,15 +342,65 @@ public class ReportRuntimeTest { reportFormFields.add(formField2); reportFormFields.add(formField3); - rr.setReportFormFields(null); rr.setReportFormFields(reportFormFields); + PowerMockito.mockStatic(Globals.class); + Mockito.when(Globals.customizeFormFieldInfo()).thenReturn(true); + Mockito.when(Globals.getDisplaySessionParamInPDFEXCEL()).thenReturn(";test,;test"); + HttpSession session = mockedRequest.getSession(); + Mockito.when(session.getAttribute("test")).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,test"); + rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1); + } + + @Test + public void getParamNameValuePairsforPDFExcel1Test_WhenIsScheduleFlagTrue() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + rr.setReportFormFields(null); + List predefinedValues = new ArrayList<>(); + ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); + ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); + FormField formField = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", true, + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField1 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField2 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField3 = PowerMockito.mock(FormField.class); + + reportFormFields.add(formField); + reportFormFields.add(formField1); + reportFormFields.add(formField2); + reportFormFields.add(formField3); + + rr.setReportFormFields(reportFormFields); PowerMockito.mockStatic(Globals.class); + PowerMockito.mockStatic(ESAPI.class); Mockito.when(Globals.customizeFormFieldInfo()).thenReturn(true); - Mockito.when(Globals.getDisplaySessionParamInPDFEXCEL()).thenReturn("test,test"); + Mockito.when(Globals.getDisplaySessionParamInPDFEXCEL()).thenReturn(";test,;test"); + Mockito.when(Globals.getDisplayScheduleSessionParamInPDFEXCEL()).thenReturn(";test,;test"); HttpSession session = mockedRequest.getSession(); Mockito.when(session.getAttribute("test")).thenReturn("test"); Mockito.when(Globals.getSessionParams()).thenReturn("test,test"); + PowerMockito.mockStatic(AppUtils.class); + Mockito.when(AppUtils.getRequestValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test"); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Mockito.when(encoder.canonicalize(Mockito.anyString())).thenReturn("DATE"); + rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1); + + } + + @Test + public void getParamNameValuePairsforPDFExcelTest_WhenValueExistInSession() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + List paramList = new ArrayList<>(); + paramList.add("test"); + HttpSession session = mockedRequest.getSession(); + Mockito.when(session.getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)).thenReturn(paramList); rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1); } @@ -257,7 +408,40 @@ public class ReportRuntimeTest { @Test public void getFormFieldCommentsTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); - rr.getCustomReport().getFormFieldList().setComment(""); + rr.getCustomReport().getFormFieldList().setComment("test"); + PowerMockito.mockStatic(AppUtils.class); + PowerMockito.mockStatic(ESAPI.class); + List predefinedValues = new ArrayList<>(); + ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); + ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); + FormField formField = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, true, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField1 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + FormField formField2 = new FormField("test", "fieldDisplayName", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + + reportFormFields.add(formField); + reportFormFields.add(formField1); + reportFormFields.add(formField2); + rr.setReportFormFields(null); + rr.setReportFormFields(reportFormFields); + + + Mockito.when(Globals.customizeFormFieldInfo()).thenReturn(true); + Mockito.when(Globals.getDisplaySessionParamInPDFEXCEL()).thenReturn("test,test"); + HttpSession session = mockedRequest.getSession(); + Mockito.when(session.getAttribute("test")).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,test"); + Mockito.when(AppUtils.getRequestValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Mockito.when(encoder.canonicalize(Mockito.anyString())).thenReturn("DATE"); rr.getFormFieldComments(mockedRequest); } @@ -265,8 +449,7 @@ public class ReportRuntimeTest { public void loadChartDataTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); - DataSet ds = PowerMockito.mock(DataSet.class); - rr.setChartDataCache(ds); + rr.setChartDataCache(null); rr.loadChartData("test", mockedRequest); } @@ -304,6 +487,40 @@ public class ReportRuntimeTest { rr.getCustomReport().getFormFieldList().setComment(""); rr.getCustomReport().setReportType("Linear"); rr.setWholeSQL("testFROMORDERBY"); + rr.getFormFieldList().getFormField().get(0).setGroupFormField(true); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test]"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("[test]"); + dataColumnType.setDrillDownParams("drilldown[#]"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + dataColumnType.setVisible(true); + rr.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().add(dataColumnType); + rr.getAllColumns().add(dataColumnType); + dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test]"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("[test]"); + dataColumnType.setDrillDownParams("drilldown[#]"); + dataColumnType.setCrossTabValue("COLUMN"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + rr.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().add(dataColumnType); + rr.getAllColumns().add(dataColumnType); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); PowerMockito.mockStatic(AppUtils.class); @@ -312,13 +529,156 @@ public class ReportRuntimeTest { Mockito.when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("actionsession"); Mockito.when(ConnectionUtils.getDataSet(Matchers.anyString(), Matchers.anyString())).thenReturn(ds); Mockito.when(ds.getRowCount()).thenReturn(1); + Mockito.when(ds.getColumnCount()).thenReturn(1); + Mockito.when(ds.getColumnName(Mockito.anyInt())).thenReturn("1"); Mockito.when(Globals.getGenerateSubsetSql()).thenReturn("subsetSql"); Mockito.when(Globals.getReportSqlOnlyFirstPart()).thenReturn("subsetSql"); Mockito.when(Globals.getReportSqlOnlySecondPartA()).thenReturn("secondpartA"); Mockito.when(Globals.getReportSqlOnlySecondPartB()).thenReturn("secondpartB"); Mockito.when(AppUtils.isNotEmpty(Matchers.anyString())).thenReturn(false); Mockito.when(Globals.getDBType()).thenReturn("db"); - rr.loadReportData(1, "userId", 1, mockedRequest, false); + + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + Mockito.when(Globals.getLoadCrosstabReportData()).thenReturn("test FROM ORDER BY"); + ReportData rd = PowerMockito.mock(ReportData.class); + PowerMockito.whenNew(ReportData.class).withArguments(Mockito.anyInt(), Mockito.anyBoolean()).thenReturn(rd); + ReportDataRows reportDataRows = new ReportDataRows(); + rd.reportDataRows= reportDataRows; + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + Mockito.when(ConnectionUtils.getDataSet(Mockito.anyString(), Mockito.anyString())).thenReturn(ds); + ReportRuntime rr1 = PowerMockito.mock(ReportRuntime.class); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr1); + Mockito.when(rr1.getReportID()).thenReturn("lDownUrl"); + Mockito.when(rr1.getReportFormFields()).thenReturn(rr.getReportFormFields()); + rr.setDisplayColTotals(true); + rr.setDisplayRowTotals(true); + Mockito.when(Globals.getCacheCurPageData()).thenReturn(true); + Mockito.when(mockedRequest.getParameter(Mockito.anyString())).thenReturn("test"); + rr.loadReportData(1, "userId", 1, mockedRequest, true); + } + + @Test(expected=RuntimeException.class) + public void loadReportData1Test_WhenReportDataSizeIsLessThanZero() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + rr.getCustomReport().getFormFieldList().setComment(""); + rr.getCustomReport().setReportType("Linear"); + rr.setWholeSQL("SELECT report_id test FROM WHERE ORDER BY"); + rr.setPageSize(-2); + rr.getFormFieldList().getFormField().get(0).setGroupFormField(true); + rr.setDBInfo("DEV"); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test]"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("[test]"); + dataColumnType.setDrillDownParams("drilldown[#]"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + dataColumnType.setVisible(true); + rr.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().add(dataColumnType); + rr.getAllColumns().add(dataColumnType); + dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test]"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("[test]"); + dataColumnType.setDrillDownParams("drilldown[#]"); + dataColumnType.setCrossTabValue("COLUMN"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + rr.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().add(dataColumnType); + rr.getAllColumns().add(dataColumnType); + DataSet ds = PowerMockito.mock(DataSet.class); + rr.setChartDataCache(ds); + PowerMockito.mockStatic(AppUtils.class); + PowerMockito.mockStatic(ConnectionUtils.class); + Mockito.when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_GO_BACK)).thenReturn(false); + Mockito.when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("actionsession"); + Mockito.when(ConnectionUtils.getDataSet(Matchers.anyString(), Matchers.anyString())).thenReturn(ds); + Mockito.when(ds.getRowCount()).thenReturn(-1); + Mockito.when(Globals.getGenerateSubsetSql()).thenReturn("subsetSql"); + Mockito.when(Globals.getReportSqlOnlyFirstPart()).thenReturn("subsetSql"); + Mockito.when(Globals.getReportSqlOnlySecondPartA()).thenReturn("secondpartA"); + Mockito.when(Globals.getReportSqlOnlySecondPartB()).thenReturn("secondpartB"); + Mockito.when(AppUtils.isNotEmpty(Matchers.anyString())).thenReturn(false); + Mockito.when(Globals.getDBType()).thenReturn("db"); + + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + Mockito.when(Globals.getLoadCrosstabReportData()).thenReturn("test FROM ORDER BY"); + ReportData rd = PowerMockito.mock(ReportData.class); + PowerMockito.whenNew(ReportData.class).withArguments(Mockito.anyInt(), Mockito.anyBoolean()).thenReturn(rd); + ReportDataRows reportDataRows = new ReportDataRows(); + rd.reportDataRows= reportDataRows; + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow(); + ColumnHeader columnHeader = new ColumnHeader(); + columnHeaderRow.add(columnHeader); + ColumnHeader columnHeader1 = new ColumnHeader(); + columnHeader1.setRowSpan(1); + columnHeaderRow.add(columnHeader1); + reportColumnHeaderRows.add(columnHeaderRow); + rd.reportColumnHeaderRows = reportColumnHeaderRows; + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + RowHeaderCol rowHeaderCol1 = new RowHeaderCol(); + rowHeaderCol1.add("test1"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); + rd.reportRowHeaderCols = reportRowHeaderCols; + Mockito.when(ConnectionUtils.getDataSet(Mockito.anyString(), Mockito.anyString())).thenReturn(ds); + ReportRuntime rr1 = PowerMockito.mock(ReportRuntime.class); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr1); + Mockito.when(rr1.getReportID()).thenReturn("lDownUrl"); + Mockito.when(rr1.getReportFormFields()).thenReturn(rr.getReportFormFields()); + rr.setDisplayColTotals(true); + rr.setDisplayRowTotals(true); + Mockito.when(Globals.getCacheCurPageData()).thenReturn(true); + Mockito.when(mockedRequest.getParameter(Mockito.anyString())).thenReturn("test"); + rr.getCustomReport().setDbInfo("DAYTONA"); + RemDbInfo rdemo = Mockito.mock(RemDbInfo.class); + PowerMockito.whenNew(RemDbInfo.class).withNoArguments().thenReturn(rdemo); + Mockito.when(rdemo.getDBType(Matchers.anyString())).thenReturn("DAYTONA"); + rr.loadReportData(1, "userId", 1, mockedRequest, true); } @Test @@ -356,6 +716,39 @@ public class ReportRuntimeTest { rr.getCustomReport().getFormFieldList().setComment(""); rr.getCustomReport().setReportType("Cross-Tab"); rr.setWholeSQL("testFROMORDERBY"); + DataColumnType dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("[test]"); + dataColumnType.setDrillDownParams("drilldown[#]"); + dataColumnType.setCrossTabValue("ROW"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + dataColumnType.setVisible(true); + rr.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().add(dataColumnType); + rr.getAllColumns().add(dataColumnType); + dataColumnType = new DataColumnType(); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("1"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("[test]"); + dataColumnType.setDrillDownParams("drilldown[#]"); + dataColumnType.setCrossTabValue("COLUMN"); + dataColumnType.setDrillDownURL("drillDownUrl"); + dataColumnType.setDisplayTotal("test|test2"); + rr.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().add(dataColumnType); + rr.getAllColumns().add(dataColumnType); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); PowerMockito.mockStatic(AppUtils.class); @@ -364,10 +757,13 @@ public class ReportRuntimeTest { Mockito.when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("actionsession"); Mockito.when(ConnectionUtils.getDataSet(Matchers.anyString(), Matchers.anyString())).thenReturn(ds); Mockito.when(ds.getRowCount()).thenReturn(1); + Mockito.when(ds.getColumnCount()).thenReturn(1); + Mockito.when(ds.getColumnName(Mockito.anyInt())).thenReturn("1"); Mockito.when(Globals.getGenerateSubsetSql()).thenReturn("subsetSql"); Mockito.when(Globals.getReportSqlOnlyFirstPart()).thenReturn("subsetSql"); Mockito.when(Globals.getReportSqlOnlySecondPartA()).thenReturn("secondpartA"); Mockito.when(Globals.getReportSqlOnlySecondPartB()).thenReturn("secondpartB"); + Mockito.when(Globals.getMergeCrosstabRowHeadings()).thenReturn(true); Mockito.when(AppUtils.isNotEmpty(Matchers.anyString())).thenReturn(false); Mockito.when(Globals.getDBType()).thenReturn("db"); PowerMockito.mockStatic(ESAPI.class); @@ -377,7 +773,7 @@ public class ReportRuntimeTest { Codec codec = PowerMockito.mock(Codec.class); Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); - Mockito.when(Globals.getLoadCrosstabReportData()).thenReturn("reportdata"); + Mockito.when(Globals.getLoadCrosstabReportData()).thenReturn("test FROM ORDER BY"); ReportData rd = PowerMockito.mock(ReportData.class); PowerMockito.whenNew(ReportData.class).withArguments(Mockito.anyInt(), Mockito.anyBoolean()).thenReturn(rd); ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); @@ -397,6 +793,14 @@ public class ReportRuntimeTest { reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1); rd.reportRowHeaderCols = reportRowHeaderCols; + Mockito.when(ConnectionUtils.getDataSet(Mockito.anyString(), Mockito.anyString())).thenReturn(ds); + ReportRuntime rr1 = PowerMockito.mock(ReportRuntime.class); + Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr1); + Mockito.when(rr1.getReportID()).thenReturn("nUrl"); + Mockito.when(rr1.getReportFormFields()).thenReturn(rr.getReportFormFields()); + rr.setDisplayColTotals(true); + rr.setDisplayRowTotals(true); + Mockito.when(Globals.getMergeCrosstabRowHeadings()).thenReturn(true); rr.loadReportData(1, "userId", 1, mockedRequest, false); } @@ -512,6 +916,49 @@ public class ReportRuntimeTest { Mockito.when(ds.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn("test"); rr.parseDrillDownURL(1, ds, dataColumnType, mockedRequest, reportFormFields); } + + @Test + public void parseDrillDownURL2Test() throws Exception { + DataSet ds = PowerMockito.mock(DataSet.class); + ReportRuntime rr = mockReportRunTime1(); + DataColumnType dataColumnType = rr.getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().get(0); + dataColumnType.setChartGroup("test"); + dataColumnType.setYAxis("test"); + dataColumnType.setColName("[test"); + dataColumnType.setColOnChart("LEGEND"); + dataColumnType.setDisplayName("testLEGEND"); + dataColumnType.setColId("test"); + dataColumnType.setTableId("1"); + dataColumnType.setColType("DATE"); + dataColumnType.setDependsOnFormField("tes[t"); + dataColumnType.setDrillDownParams("drilldown[test!test]"); + dataColumnType.setCrossTabValue("VALUE"); + dataColumnType.setDrillDownURL("testutilstest1"); + ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); + ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); + FormField formField = new FormField("test", "testLEGEND", "TEXTAREA", "validationType", false, + "defaultValue", "helpText", new ArrayList(), true, "dependsOn", null, null, "rangeStartDateSQL", + "rangeEndDateSQL", "multiSelectListSize"); + reportFormFields.add(formField); + PowerMockito.mockStatic(DataCache.class); + PowerMockito.mockStatic(AppUtils.class); + + Vector vc = new Vector<>(); + vc.add("test"); + Mockito.when(DataCache.getDataViewActions()).thenReturn(vc); + Mockito.when(Globals.getPassRequestParamInDrilldown()).thenReturn(true); + Mockito.when(Globals.getRequestParams()).thenReturn("FFtest,1"); + Mockito.when(Globals.getRequestParams()).thenReturn("test,1"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,2"); + Mockito.when(Globals.getSessionParams()).thenReturn("FFtest,2"); + + Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); + Mockito.when(AppUtils.getBaseActionURL()).thenReturn("testutils"); + Mockito.when(AppUtils.getBaseActionParam()).thenReturn("utils"); + Mockito.when(ds.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn("test"); + Mockito.when(mockedRequest.getSession().getAttribute("FFTEST")).thenReturn("test"); + rr.parseDrillDownURL(1, ds, dataColumnType, mockedRequest, reportFormFields); + } @Test public void parseReportSQLTest() throws Exception { @@ -537,6 +984,13 @@ public class ReportRuntimeTest { rr.getCustomReport().setDbInfo("test"); rr.parseReportSQL("select * from test"); } + + @Test + public void parseReportSQL5Test() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + rr.getCustomReport().setDbInfo("test"); + rr.parseReportSQL("select id,report_id from test"); + } @Test(expected = org.onap.portalsdk.analytics.error.ValidationException.class) public void parseReportSQL4Test() throws Exception { @@ -547,6 +1001,7 @@ public class ReportRuntimeTest { Mockito.when(rdemo.getDBType(Matchers.anyString())).thenReturn("DAYTONA"); rr.parseReportSQL(""); } + @Test public void setDisplayFlagsTest() throws Exception { @@ -912,4 +1367,212 @@ public class ReportRuntimeTest { rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } + + @Test + public void testParseAndFillReq_Session_UserValues_WhenStartWithff() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + Mockito.when(Globals.getRequestParams()).thenReturn("fftest"); + Mockito.when(Globals.getSessionParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn(""); + PowerMockito.when(AppUtils.nvl(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(mockedRequest.getAttribute(Mockito.any(String.class))).thenReturn("test"); + rr.parseAndFillReq_Session_UserValues(mockedRequest, "SELECT FROM test", "userID"); + } + + @Test + public void testCreateFormFieldJSONRuntime() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + Mockito.when(Globals.getRequestParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test"); + PowerMockito.when(AppUtils.nvl(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + rr.createFormFieldJSONRuntime(mockedRequest); + } + + + + @Test + public void testCreateReportJSONRuntime() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + ReportData rd = mockReportData(); + PowerMockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + PowerMockito.when(AppUtils.isAdminUser(mockedRequest)).thenReturn(false); + PowerMockito.when(AppUtils.isSuperUser(mockedRequest)).thenReturn(true); + Mockito.when(Globals.getRequestParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test"); + PowerMockito.when(AppUtils.nvl(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + rr.createReportJSONRuntime(mockedRequest, rd); + } + + @Test + public void testPersistLinearReport() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(Utils.class); + PowerMockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + PowerMockito.when(AppUtils.isAdminUser(mockedRequest)).thenReturn(false); + PowerMockito.when(AppUtils.isSuperUser(mockedRequest)).thenReturn(true); + Mockito.when(Globals.getRequestParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test"); + PowerMockito.when(AppUtils.nvl(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(Utils.getCurrentDateTime()).thenReturn("20/05/2018"); + PowerMockito.mockStatic(ReportLoader.class); + PowerMockito.doNothing().when(ReportLoader.class, "updateCustomReportRec", new Object[] {Mockito.any(Connection.class), Mockito.any(ReportRuntime.class), Mockito.any(String.class)}); + PowerMockito.doNothing().when(ReportLoader.class, "createReportLogEntry", new Object[] {Mockito.any(Connection.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class)}); + rr.persistLinearReport(mockedRequest); + } + + @Test + public void testPersistDashboardReport() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(Utils.class); + PowerMockito.mockStatic(ReportLoader.class); + PowerMockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); + PowerMockito.when(Utils.getCurrentDateTime()).thenReturn("10/05/2018"); + PowerMockito.when(AppUtils.isAdminUser(mockedRequest)).thenReturn(false); + PowerMockito.when(AppUtils.isSuperUser(mockedRequest)).thenReturn(true); + Mockito.when(Globals.getRequestParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParams()).thenReturn("test"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test"); + PowerMockito.when(AppUtils.nvl(Mockito.any(String.class))).thenReturn("test"); + Mockito.when(mockedRequest.getParameter(Mockito.any(String.class))).thenReturn("test"); + PowerMockito.doNothing().when(ReportLoader.class, "updateCustomReportRec", new Object[] {Mockito.any(Connection.class), Mockito.any(ReportRuntime.class), Mockito.any(String.class)}); + PowerMockito.doNothing().when(ReportLoader.class, "createReportLogEntry", new Object[] {Mockito.any(Connection.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class)}); + rr.persistDashboardReport(mockedRequest); + } + + public ReportData mockReportData() { + ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows(); + ReportDataRows reportDataRows = new ReportDataRows(); + + DataRow dataRow = new DataRow(); + DataValue dataValue = new DataValue(); + dataValue.setDisplayName("displayName"); + dataValue.setDisplayCalculatedValue("displayCalculatedValue"); + dataValue.setDrillDownURL("drillDownURL"); + dataValue.setDrillDowninPoPUp(false); + dataValue.setIndentation("indentation"); + dataValue.setAlignment("alignment"); + dataValue.setVisible(false); + dataValue.setHidden(false); + HtmlFormatter formatter = new HtmlFormatter(); + dataValue.setCellFormatter(formatter); + dataValue.setBold(false); + dataValue.setRowFormatter(formatter); + dataValue.setFormatId("formatId"); + dataValue.setCellFormat(false); + dataValue.setColId("colId"); + dataValue.setDisplayName("displayName"); + dataValue.setNowrap("nowrap"); + dataValue.setHyperlinkURL("hyperlinkURL"); + dataValue.setDisplayType("displayType"); + dataValue.setActionImg("actionImg"); + dataRow.addDataValue(dataValue); + reportDataRows.addDataRow(dataRow); + ArrayList<DataValue> list = new ArrayList<>(); + list.add(dataValue); + dataRow.setDataValueList(list); + ReportData reportData = new ReportData(1, true); + ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols(); + RowHeaderCol rowHeaderCol = new RowHeaderCol(); + rowHeaderCol.add("test"); + reportRowHeaderCols.addRowHeaderCol(rowHeaderCol); + reportData.reportColumnHeaderRows = reportColumnHeaderRows; + reportData.reportTotalRowHeaderCols = reportRowHeaderCols; + reportData.reportDataRows = reportDataRows; + + Vector vc = new Vector<>(); + ColumnVisual col = new ColumnVisual("colId", "colDisplay", true, "sortType"); + vc.add(col); + reportData.setColumnVisuals(vc); + return reportData; + } + + public ReportMap mockReportMap() { + ReportMap reportMap = new ReportMap(); + reportMap.setMarkerColor("test"); + reportMap.setUseDefaultSize("size"); + reportMap.setHeight("height"); + reportMap.setWidth("width"); + reportMap.setIsMapAllowedYN("isMapAllowedYN"); + reportMap.setAddAddressInDataYN("addAddressInDataYN"); + reportMap.setAddressColumn("column"); + reportMap.setDataColumn("data"); + reportMap.setDefaultMapType("dafaultType"); + reportMap.setLatColumn("latColumn"); + reportMap.setLongColumn("longColumn"); + reportMap.setColorColumn("colorColumn"); + reportMap.setLegendColumn("legendColumn"); + Marker marker = new Marker(); + marker.setMarkerColor("markerColor"); + marker.setDataHeader("dataHeader"); + marker.setAddressColumn("addressColumn"); + marker.setDataColumn("dataColumn"); + reportMap.getMarkers().add(marker); + return reportMap; + } + + @Test + public void testGetMapMarkers() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + ReportData rd = mockReportData(); + ReportMap rm = mockReportMap(); + rr.getMapMarkers(rd, rm); + } + + @Test + public void testHideColVisual() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + rr.hideColVisual("test"); + } + + @Test + public void testResetVisualSettings() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + rr.resetVisualSettings(); + } + + @Test + public void testLogReportRun() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(ReportLoader.class); + PowerMockito.doNothing().when(ReportLoader.class, "createReportLogEntry", new Object[] {Mockito.any(Connection.class), Mockito.anyString(), + Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),Mockito.anyString()}); + rr.logReportRun("userID", "100 ms", "formFields"); + } + + @Test + public void testLogReportExecutionTime() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(ReportLoader.class); + PowerMockito.doNothing().when(ReportLoader.class, "createReportLogEntryForExecutionTime", new Object[] {Mockito.any(Connection.class), Mockito.anyString(), + Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),Mockito.anyString()} ); + rr.logReportExecutionTime("userID", "100 ms", "test", "formFields"); + } + + @Test + public void testLogReportExecutionTimeFromLogList() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(ReportLoader.class); + PowerMockito.doNothing().when(ReportLoader.class, "createReportLogEntryForExecutionTime", new Object[] {Mockito.any(Connection.class), Mockito.anyString(), + Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),Mockito.anyString()} ); + rr.logReportExecutionTimeFromLogList("userID", "100 ms", "formFields"); + } + + @Test + public void testGenerateColumnDataTotalsLinear() throws Exception { + ReportRuntime rr = mockReportRunTime1(); + PowerMockito.mockStatic(ConnectionUtils.class); + DataSet ds = Mockito.mock(DataSet.class); + Mockito.when(ConnectionUtils.getDataSet(Mockito.anyString(),Mockito.anyString())).thenReturn(ds); + ArrayList list = (ArrayList) rr.getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn(); + rr.generateColumnDataTotalsLinear(list, "userID", "dbInfo", "reportSQL"); + } + } diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java index ece90c8c..de3f4fff 100644 --- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java +++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java @@ -37,11 +37,12 @@ */ package org.onap.portalsdk.analytics.xmlobj; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import java.sql.ResultSet; import java.sql.ResultSetMetaData; -import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -54,12 +55,12 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Matchers; import org.mockito.Mockito; -import org.onap.portalsdk.analytics.error.RaptorException; import org.onap.portalsdk.analytics.model.DataCache; import org.onap.portalsdk.analytics.model.ReportLoader; import org.onap.portalsdk.analytics.model.base.ReportWrapper; import org.onap.portalsdk.analytics.model.definition.ReportDefinition; import org.onap.portalsdk.analytics.model.definition.TableSource; +import org.onap.portalsdk.analytics.model.runtime.FormField; import org.onap.portalsdk.analytics.model.runtime.ReportParamValues; import org.onap.portalsdk.analytics.model.runtime.ReportRuntime; import org.onap.portalsdk.analytics.system.AppUtils; @@ -68,6 +69,7 @@ import org.onap.portalsdk.analytics.system.DbUtils; import org.onap.portalsdk.analytics.system.Globals; import org.onap.portalsdk.analytics.util.AppConstants; import org.onap.portalsdk.analytics.util.DataSet; +import org.onap.portalsdk.analytics.util.RemDbInfo; import org.onap.portalsdk.analytics.util.SQLCorrector; import org.onap.portalsdk.analytics.util.Utils; import org.onap.portalsdk.analytics.util.XSSFilter; @@ -83,7 +85,7 @@ import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) @PrepareForTest({ AppConstants.class, Globals.class, AppUtils.class, DataCache.class, DbUtils.class, DataSet.class, ReportLoader.class, ReportRuntime.class, Utils.class, ESAPI.class, Codec.class, SecurityCodecUtil.class, - ConnectionUtils.class, XSSFilter.class, ReportDefinition.class, UserUtils.class }) + ConnectionUtils.class, XSSFilter.class, ReportDefinition.class, UserUtils.class, ReportWrapper.class }) public class ReportWrapperTest { MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); @@ -93,7 +95,10 @@ public class ReportWrapperTest { public ReportWrapper mockReportWrapper() throws Exception { PowerMockito.mockStatic(Globals.class); PowerMockito.mockStatic(DbUtils.class); + PowerMockito.when(Globals.getReportWrapperFormat()).thenReturn("test"); + PowerMockito.when(Globals.getTimeFormat()).thenReturn("test"); Mockito.when(Globals.getReportUserAccess()).thenReturn("test"); + Mockito.when(Globals.getReportSecurity()).thenReturn("test"); ResultSet rs = PowerMockito.mock(ResultSet.class); ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class); Mockito.when(rsmd.getColumnCount()).thenReturn(1); @@ -132,16 +137,8 @@ public class ReportWrapperTest { dataSourceType.setDataColumnList(dataColumnList); list.add(dataSourceType); dataSourceList.dataSource = list; - customReportType.setReportType("test"); - customReportType.setReportTitle("test"); - customReportType.setChartMultiSeries("Y"); customReportType.setDataSourceList(dataSourceList); - customReportType.setChartMultiSeries("Y"); - customReportType.setChartRightAxisLabel("test"); - customReportType.setChartLeftAxisLabel("test"); ChartAdditionalOptions chartAdditionalOptions = new ChartAdditionalOptions(); - chartAdditionalOptions.setLabelAngle("test"); - chartAdditionalOptions.setTimeSeriesRender("test"); chartAdditionalOptions.setMultiSeries(false); customReportType.setChartAdditionalOptions(chartAdditionalOptions); FormFieldList formFieldList = new FormFieldList(); @@ -159,16 +156,383 @@ public class ReportWrapperTest { // FormFieldType formFieldType1 = new FormFieldType(); formFields.add(formFieldType); // formFields.add(formFieldType1); - formFieldList.formField = formFields; customReportType.setFormFieldList(formFieldList); - ReportWrapper reportWrapper = new ReportWrapper(customReportType, "-1", "test", "testId", "test", "test", "1", + DashboardReports dr = new DashboardReports(); + customReportType.setDashBoardReports(dr); + customReportType.setDrillURLInPoPUpPresent(true); + List<JavascriptItemType> javascriptItem = new ArrayList<>(); + JavascriptItemType ji = new JavascriptItemType(); + ji.setId("1"); + ji.setCallText("test"); + ji.setFieldId("2"); + JavascriptList javascriptList = new JavascriptList(); + javascriptList.setJavascriptItem(javascriptItem); + customReportType.setJavascriptList(javascriptList); + FormatType ft = new FormatType(); + ft.setAlignment("left"); + FormatList fl = new FormatList(); + fl.getFormat().add(ft); + SemaphoreType st = new SemaphoreType(); + st.setComment("test"); + st.setFormatList(fl); + st.setSemaphoreId("1"); + st.setSemaphoreName("test"); + st.setTarget("test"); + SemaphoreList smlist = new SemaphoreList(); + smlist.getSemaphore().add(st); + customReportType.setSemaphoreList(smlist); + chartAdditionalOptions.setChartOrientation("test"); + chartAdditionalOptions.setSecondaryChartRenderer("test"); + chartAdditionalOptions.setHideToolTips("test"); + chartAdditionalOptions.setHidechartLegend("test"); + chartAdditionalOptions.setLegendPosition("test"); + chartAdditionalOptions.setLabelAngle("test"); + chartAdditionalOptions.setIntervalFromdate("test"); + chartAdditionalOptions.setIntervalTodate("test"); + chartAdditionalOptions.setIntervalLabel("test"); + chartAdditionalOptions.setLastSeriesALineChart("test"); + chartAdditionalOptions.setLastSeriesABarChart("test"); + chartAdditionalOptions.setMaxLabelsInDomainAxis("test"); + chartAdditionalOptions.setLinearRegression("test"); + chartAdditionalOptions.setLinearRegressionColor("test"); + chartAdditionalOptions.setExponentialRegressionColor("test"); + chartAdditionalOptions.setMaxRegression("test"); + chartAdditionalOptions.setRangeAxisUpperLimit("test"); + chartAdditionalOptions.setRangeAxisLowerLimit("test"); + chartAdditionalOptions.setOverlayItemValueOnStackBar("test"); + chartAdditionalOptions.setAnimate(true); + chartAdditionalOptions.setKeepDomainAxisValueAsString("test"); + chartAdditionalOptions.setAnimateAnimatedChart(true); + chartAdditionalOptions.setStacked(true); + chartAdditionalOptions.setBarControls(true); + chartAdditionalOptions.setXAxisDateType(true); + chartAdditionalOptions.setLessXaxisTickers(true); + chartAdditionalOptions.setTimeAxis(true); + chartAdditionalOptions.setTimeSeriesRender("test"); + chartAdditionalOptions.setLeftMargin(10); + chartAdditionalOptions.setRightMargin(10); + chartAdditionalOptions.setTopMargin(10); + chartAdditionalOptions.setBottomMargin(10); + ReportMap rm = new ReportMap(); + rm.setMarkerColor("test"); + rm.setUseDefaultSize("10"); + rm.setHeight("10cm"); + rm.setWidth("10cm"); + rm.setIsMapAllowedYN("Y"); + rm.setAddAddressInDataYN("Y"); + rm.setAddressColumn("test"); + rm.setDataColumn("test"); + rm.setDefaultMapType("test"); + rm.setLatColumn("test"); + rm.setLegendColumn("test"); + rm.setLongColumn("test"); + rm.setColorColumn("test"); + Marker marker = new Marker(); + marker.setAddressColumn("test"); + marker.setDataColumn("test"); + marker.setDataHeader("test"); + marker.setMarkerColor("test"); + rm.getMarkers().add(marker); + customReportType.setReportMap(rm); + ChartDrillOptions chartDrillOptions = new ChartDrillOptions(); + ChartDrillFormfield cdff = new ChartDrillFormfield(); + cdff.setFormfield("test"); + chartDrillOptions.getTargetFormfield().add(cdff); + customReportType.setChartDrillOptions(chartDrillOptions); + customReportType.setReportSQL("test"); + dataSourceType.setRefDefinition("test"); + dataSourceType.setComment("test"); + dataColumnType.setDisplayWidthInPxls("test"); + dataColumnType.setDisplayAlignment("test"); + dataColumnType.setDisplayHeaderAlignment("test"); + dataColumnType.setColType(AppConstants.CT_HYPERLINK); + dataColumnType.setHyperlinkType("IMAGE"); + dataColumnType.setIndentation(10); + dataColumnType.setColFormat("test"); + dataColumnType.setOrderBySeq(10); + dataColumnType.setOrderByAscDesc("test"); + dataColumnType.setDisplayTotal("test"); + dataColumnType.setChartColor("test"); + dataColumnType.setChartLineType("test"); + dataColumnType.setIsRangeAxisFilled(true); + dataColumnType.setChartSeries(true); + dataColumnType.setCreateInNewChart(true); + dataColumnType.setDrillDownType("test"); + dataColumnType.setDrillinPoPUp(true); + dataColumnType.setComment("test"); + dataColumnType.setSemaphoreId("test"); + dataColumnType.setDbColType("test"); + dataColumnType.setNowrap("test"); + dataColumnType.setEnhancedPagination(true); + dataColumnType.setDataMiningCol("test"); + ColFilterList colFilterList = new ColFilterList(); + ColFilterType colFilterType = new ColFilterType(); + colFilterType.setArgValue("[test]"); + colFilterType.setCloseBrackets("test"); + colFilterType.setColId("test"); + colFilterType.setComment("test"); + colFilterType.setExpression("test"); + colFilterType.setFilterSeq(10); + colFilterType.setJoinCondition("test"); + colFilterType.setOpenBrackets("test"); + colFilterType.setArgType("FORM"); + colFilterList.getColFilter().add(colFilterType); + dataColumnType.setColFilterList(colFilterList); + formFieldType.setVisible("test"); + formFieldType.setFieldSQL("test"); + formFieldType.setFieldDefaultSQL("test"); + //fft.setRangeStartDate(); + formFieldType.setRangeEndDateSQL("test"); + formFieldType.setRangeStartDateSQL("test"); + //fft.setRangeEndDate(value); + formFieldType.setComment("test"); + formFieldType.setDependsOn("test"); + formFieldType.setGroupFormField(true); + formFieldType.setMultiSelectListSize("test"); + PredefinedValueList predefinedValueList = new PredefinedValueList(); + List<String> values = new ArrayList<>(); + values.add("test"); + predefinedValueList.predefinedValue= values; + formFieldType.setPredefinedValueList(predefinedValueList); + DataminingOptions dataminingOptions = new DataminingOptions(); + customReportType.setDataminingOptions(dataminingOptions); + ReportWrapper reportWrapper = new ReportWrapper(customReportType, "1", null, "testId", "test", "test", "1", "1", true); - reportWrapper.setWholeSQL("test"); + reportWrapper.setWholeSQL("test"); + reportWrapper.setPdfImg("testLogo"); + reportWrapper.setEmptyMessage("test"); + reportWrapper.setDrillReportIdForChart("test"); + reportWrapper.setDrillXAxisFormField("test"); + reportWrapper.setDrillYAxisFormField("test"); + reportWrapper.setDrillYAxisFormField("test"); + reportWrapper.setDrillSeriesFormField("test"); + reportWrapper.setDataGridAlign("test"); + reportWrapper.setWidthNoColumn("test"); + reportWrapper.setClassifier("test"); + reportWrapper.setForecastingPeriod("10"); + reportWrapper.setForecastingTimeFormat("test"); + reportWrapper.setReportSQLOnlyFirstPart("test"); + reportWrapper.setReportSQLWithRowNum("test"); + reportWrapper.setIsWeeklyScheduleAllowed("true"); + reportWrapper.setIsOneTimeScheduleAllowed("true"); + reportWrapper.setIsMonthlyScheduleAllowed("true"); + reportWrapper.setIsHourlyScheduleAllowed("true"); + reportWrapper.setIsDailyScheduleAllowed("true"); + reportWrapper.setIsDailyMFScheduleAllowed("true"); + reportWrapper.setHideFormFieldAfterRun(true); + reportWrapper.setChartTypeFixed("test"); + reportWrapper.setDrillDownURLInPopupPresent(true); + reportWrapper.setLinearRegression("test"); + reportWrapper.setCustomizedRegressionPoint("test"); + reportWrapper.setLinearRegressionColor("test"); + reportWrapper.setExponentialRegressionColor("test"); + reportWrapper.setTimeSeriesRender("test"); + reportWrapper.setShowXAxisLabel(true); + reportWrapper.setAddXAxisTickers(true); + reportWrapper.setZoomIn(10); + reportWrapper.setTimeAxisType("test"); + reportWrapper.setToggleLayout(true); + reportWrapper.setShowPageSize(true); + reportWrapper.setChartToolTips("test"); + reportWrapper.setDomainAxisValuesAsString("test"); + reportWrapper.setJumpTo(10); + reportWrapper.setSearchPageSize(10); + reportWrapper.setShowGotoOption(true); + reportWrapper.setShowNavPos(true); + reportWrapper.setPageNav(true); + reportWrapper.setNavPosition("test"); + reportWrapper.setDashboardEditor("test"); + DashboardEditorReport dashboardEditorReport =new DashboardEditorReport(); + dashboardEditorReport.setDataType("test"); + dashboardEditorReport.setPosition("test"); + dashboardEditorReport.setReportId("test"); + dashboardEditorReport.setReportName("test"); + DashboardEditorList deList = new DashboardEditorList(); + deList.getEditorList().add(dashboardEditorReport); + reportWrapper.setDashboardEditorList(deList); + reportWrapper.setPDFFont("test"); + reportWrapper.setPDFFontSize(10); + reportWrapper.setPDFOrientation("test"); + reportWrapper.setPDFLogo1("test"); + reportWrapper.setPDFLogo1Size(10); + reportWrapper.setPDFLogo2("test"); + reportWrapper.setPDFLogo2Size(10); + reportWrapper.setPDFCoverPage(true); + reportWrapper.setPDFFooter1("test"); + reportWrapper.setPDFFooter2("test"); + reportWrapper.setMultiGroupColumn("test"); + reportWrapper.setTopDown("test"); + reportWrapper.setSizedByContent("test"); + reportWrapper.setPageSize(10); + reportWrapper.setAllowSchedule("test"); + reportWrapper.setMaxRowsInExcelDownload (10); + reportWrapper.setReportInNewWindow(true); + reportWrapper.setDisplayFolderTree(true); + reportWrapper.setReportDescr("test"); + reportWrapper.setChartMultiplePieOrder("test"); + reportWrapper.setChartMultiplePieLabelDisplay("test"); + reportWrapper.setSecondaryChartRenderer("test"); + reportWrapper.setOverlayItemValueOnStackBar("test"); + reportWrapper.setIntervalFromdate("test"); + reportWrapper.setIntervalLabel("test"); + reportWrapper.setIntervalTodate("test"); + reportWrapper.setMaxLabelsInDomainAxis("test"); + reportWrapper.setLastSeriesALineChart("test"); + reportWrapper.setLastSeriesABarChart("test"); + reportWrapper.setChartDisplay("test"); + ObjectFactory objFactory = new ObjectFactory(); + reportWrapper.addDashboardReportsNew(objFactory); + reportWrapper.addPDFAdditionalOptions(objFactory); + reportWrapper.setChartTypeFixed("test"); + reportWrapper.setChartMultiSeries("test"); + reportWrapper.setReportTitle("test"); + reportWrapper.setReportSubTitle("test"); + reportWrapper.setReportHeader("test"); + reportWrapper.setReportFooter("test"); + reportWrapper.setNumFormCols("test"); + reportWrapper.setNumDashCols("test"); + reportWrapper.setDisplayOptions("test"); + reportWrapper.setDataContainerHeight("test"); + reportWrapper.setDataContainerWidth("test"); + reportWrapper.setDashboardOptions("test"); + reportWrapper.setDashboardLayoutHTML("testHTML"); + reportWrapper.setReportType("test"); + reportWrapper.setChartRightAxisLabel("test"); + reportWrapper.setChartLeftAxisLabel("test"); + reportWrapper.setDBInfo("testDB"); + reportWrapper.setChartWidth("100 cm"); + reportWrapper.setChartHeight("100 cm"); + reportWrapper.setFrozenColumns(10); + reportWrapper.setComment("test"); + reportWrapper.setDashboardType(true); + reportWrapper.setJavascriptElement("test"); + reportWrapper.setFolderId("1"); + reportWrapper.setReportMap(rm); + reportWrapper.setReportChartDrillOptions(chartDrillOptions); + reportWrapper.setFormHelpText("test"); + DataSet ds= Mockito.mock(DataSet.class); + PowerMockito.when(DbUtils.executeQuery(Mockito.any(String.class))).thenReturn(ds); + PowerMockito.when(ds.getString(Mockito.anyInt(),Mockito.anyInt())).thenReturn("test"); + PowerMockito.when(ds.getRowCount()).thenReturn(1); + return reportWrapper; } @Test + public void testReportWrapperProperties() throws Exception { + ReportWrapper rw = mockReportWrapper(); + assertTrue(rw.isDisplayFolderTree()); + assertTrue(rw.isHideFormFieldAfterRun()); + assertTrue(rw.isReportInNewWindow()); + assertTrue(rw.isDrillDownURLInPopupPresent()); + assertFalse(rw.isChartTypeFixed()); + assertFalse(rw.displayPieOrderinRunPage()); + assertFalse(rw.isMultiplePieOrderByRow()); + assertFalse(rw.isMultiplePieOrderByColumn()); + assertFalse(rw.displayPieLabelDisplayinRunPage()); + assertEquals("test", rw.getMultiplePieLabelDisplay()); + assertFalse(rw.displayChartDisplayinRunPage()); + assertFalse(rw.isChartDisplayIn3D()); + assertTrue(rw.isChartAnimate()); + assertTrue(rw.isXAxisDateType()); + assertFalse(rw.displayChartOrientationInRunPage()); + assertFalse(rw.isVerticalOrientation()); + assertFalse(rw.displaySecondaryChartRendererInRunPage()); + assertFalse(rw.displayIntervalInputInRunPage()); + assertFalse(rw.showLegendDisplayOptionsInRunPage()); + assertFalse(rw.isLastSeriesALineChart()); + assertFalse(rw.hideChartToolTips()); + assertFalse(rw.keepDomainAxisValueInChartAsString()); + assertTrue(rw.isDashboardType()); + assertTrue(rw.isToggleLayout()); + assertTrue(rw.isShowPageSize()); + assertTrue(rw.isShowNavPos()); + assertTrue(rw.isShowGotoOption()); + assertTrue(rw.isPageNav()); + assertTrue(rw.isPDFCoverPage()); + assertFalse(rw.isAllowSchedule()); + assertFalse(rw.isMultiGroupColumn()); + assertFalse(rw.isTopDown()); + assertFalse(rw.isSizedByContent()); + assertFalse(rw.isDashboardOptionHideChart()); + assertFalse(rw.isDashboardOptionHideData()); + assertFalse(rw.isDashboardOptionHideBtns()); + assertFalse(rw.isDisplayOptionHideForm()); + assertFalse(rw.isDisplayOptionHideData()); + assertFalse(rw.isDisplayOptionHideBtns()); + assertFalse(rw.isDisplayOptionHideMap()); + assertFalse(rw.isDisplayOptionHideExcelIcons()); + assertFalse(rw.isDisplayOptionHidePDFIcons()); + assertEquals("test", rw.getChartTypeFixed()); + assertEquals("test", rw.getLinearRegression()); + assertEquals("test", rw.getCustomizedRegressionPoint()); + assertEquals("test", rw.getLinearRegressionColor()); + assertEquals(0, rw.getChartWidthAsInt()); + assertEquals("test", rw.getExponentialRegressionColor()); + assertEquals("test", rw.getSecondaryChartRenderer()); + assertEquals("test", rw.getOverlayItemValueOnStackBar()); + assertEquals("test", rw.getIntervalFromdate()); + assertEquals("test", rw.getIntervalTodate()); + assertEquals("test", rw.getIntervalLabel()); + assertEquals("test", rw.getMaxLabelsInDomainAxis()); + assertEquals(0, rw.getChartHeightAsInt()); + assertEquals("test", rw.getReportHeader()); + assertEquals("test", rw.getReportFooter()); + assertEquals("test", rw.getNumDashCols()); + assertEquals(1, rw.getNumDashColsAsInt()); + assertEquals("test", rw.getNumFormCols()); + assertEquals(5, rw.getNumFormColsAsInt()); + assertEquals(10, rw.getJumpTo()); + assertEquals("test", rw.getNavPosition()); + assertEquals(null, rw.getDashboardEditorList()); + assertEquals(PDFAdditionalOptions.class, rw.getPDFAdditionalOptions().getClass()); + assertEquals(null, rw.getPDFFont()); + assertEquals(9, rw.getPDFFontSize()); + assertEquals("landscape", rw.getPDFOrientation()); + assertEquals(null, rw.getPDFLogo1()); + assertEquals(0, rw.getPDFLogo1Size()); + assertEquals(null, rw.getPDFLogo2()); + assertEquals(0, rw.getPDFLogo2Size()); + assertEquals(null, rw.getPDFFooter1()); + assertEquals(null, rw.getPDFFooter2()); + assertEquals("test", rw.getDataContainerHeight()); + assertEquals("test", rw.getDataContainerWidth()); + assertEquals("test", rw.getAllowSchedule()); + assertEquals("test", rw.getMultiGroupColumn()); + assertEquals(0, rw.getMaxGroupLevel()); + assertEquals(ChartAdditionalOptions.class, rw.getChartAdditionalOptions().getClass()); + assertEquals(DataminingOptions.class, rw.getDataminingOptions().getClass()); + assertEquals(DashboardReports.class, rw.getDashBoardReports().getClass()); + assertEquals(DashboardReportsNew.class, rw.getDashBoardReportsNew().getClass()); + assertEquals("test", rw.getClassifier()); + assertEquals(10, rw.getForecastingPeriod()); + assertEquals("test", rw.getForecastingTimeFormat()); + assertEquals(10, rw.getFrozenColumns()); + assertEquals("testLogo", rw.getPdfImg()); + assertEquals("test", rw.getEmptyMessage()); + assertEquals("test", rw.getDrillReportIdForChart()); + assertEquals("test", rw.getDrillXAxisFormField()); + assertEquals("test", rw.getDrillYAxisFormField()); + assertEquals("test", rw.getDrillSeriesFormField()); + assertEquals("test", rw.getDataGridAlign()); + assertEquals("test", rw.getWidthNoColumn()); + assertEquals(10, rw.getSearchPageSize()); + assertEquals(null, rw.getDashboardEditor()); + assertEquals(ReportMap.class, rw.getReportMap().getClass()); + assertEquals(ChartDrillOptions.class, rw.getReportChartDrillOptions().getClass()); + assertEquals("test", rw.getFormHelpText()); + assertEquals("test", rw.getReportSQLWithRowNum()); + assertEquals("true", rw.getIsWeeklyScheduleAllowed()); + assertEquals("true", rw.getIsOneTimeScheduleAllowed()); + assertEquals("true", rw.getIsMonthlyScheduleAllowed()); + assertEquals("true", rw.getIsHourlyScheduleAllowed()); + assertEquals("true", rw.getIsDailyScheduleAllowed()); + assertEquals("true", rw.getIsDailyMFScheduleAllowed()); + assertEquals("1", rw.getFolderId()); + } + + @Test public void cloneCustomReportTest() throws Exception { ReportWrapper rw = mockReportWrapper(); rw.cloneCustomReport(); @@ -237,16 +601,16 @@ public class ReportWrapperTest { public void rwTest() throws Exception { ReportWrapper rw = new ReportWrapper(mockReportWrapper()); assertEquals(rw.getCustomReport().getClass(), CustomReportType.class); - assertEquals(rw.getReportID(), "-1"); - assertEquals(rw.getMenuID(), "1"); + assertEquals(rw.getReportID(), "1"); + assertEquals(rw.getMenuID(), ""); assertFalse(rw.checkMenuIDSelected("test")); - assertTrue(rw.isMenuApproved()); - assertEquals(rw.getReportDefType(), ""); + assertFalse(rw.isMenuApproved()); + assertEquals(rw.getReportDefType(), "SQL-based"); rw.setMenuID("test"); rw.setMenuApproved(false); rw.setReportDefType("test"); rw.updateReportDefType(); - assertEquals(rw.getJavascriptElement(), null); + assertEquals(rw.getJavascriptElement(), "test"); } @Test @@ -727,6 +1091,166 @@ public class ReportWrapperTest { Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(true); rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); } + + @Test + public void generateSQLSQLBased2Test() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ReportParamValues paramValues = PowerMockito.mock(ReportParamValues.class); + PowerMockito.mockStatic(Globals.class); + Mockito.when(Globals.getRequestParams()).thenReturn("test,req"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,session"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,sessionSche"); + rw.getCustomReport().setReportSQL("SELECT WHEN FROM TABLE WHERE [test] AND ORDER BY"); + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + rw.getFormFieldList().formField.get(0).setFieldType("BLANK1"); + Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(true); + rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); + } + + @Test + public void generateSQLSQLBased3Test() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ReportParamValues paramValues = PowerMockito.mock(ReportParamValues.class); + PowerMockito.mockStatic(Globals.class); + Mockito.when(Globals.getRequestParams()).thenReturn("test,req"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,session"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,sessionSche"); + rw.getCustomReport().setReportSQL("SELECT WHEN FROM TABLE WHERE [test] ORDER BY"); + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + rw.getFormFieldList().formField.get(0).setFieldType("BLANK1"); + Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(true); + rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); + } + + @Test + public void generateSQLSQLBased4Test() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ReportParamValues paramValues = PowerMockito.mock(ReportParamValues.class); + PowerMockito.mockStatic(Globals.class); + PowerMockito.mockStatic(ConnectionUtils.class); + Mockito.when(Globals.getRequestParams()).thenReturn("test,req"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,session"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,sessionSche"); + rw.getCustomReport().setReportSQL("SELECT WHEN FROM TABLE WHERE [test] ORDER BY"); + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + rw.getFormFieldList().formField.get(0).setFieldType("BLANK1"); + Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(false); + Mockito.when(paramValues.isParameterTextAreaValueAndModified(Mockito.any(String.class))).thenReturn(true); + Mockito.when(paramValues.getParamValue(Mockito.any(String.class))).thenReturn("select test"); + DataSet ds = Mockito.mock(DataSet.class); + Mockito.when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds); + Mockito.when(ds.getRowCount()).thenReturn(1); + Mockito.when(ds.getString(Mockito.anyInt(), Mockito.anyInt())).thenReturn("test"); + rw.getFormFieldList().formField.get(0).setValidationType(FormField.VT_TIMESTAMP_HR); + rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); + } + + @Test + public void generateSQLSQLBased5Test() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ReportParamValues paramValues = PowerMockito.mock(ReportParamValues.class); + PowerMockito.mockStatic(Globals.class); + PowerMockito.mockStatic(ConnectionUtils.class); + Mockito.when(Globals.getRequestParams()).thenReturn("test,req"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,session"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,sessionSche"); + rw.getCustomReport().setReportSQL("SELECT WHEN FROM TABLE WHERE [test] ORDER BY"); + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + rw.getFormFieldList().formField.get(0).setFieldType("BLANK1"); + Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(false); + Mockito.when(paramValues.isParameterTextAreaValueAndModified(Mockito.any(String.class))).thenReturn(true); + Mockito.when(paramValues.getParamValue(Mockito.any(String.class))).thenReturn("select test"); + DataSet ds = Mockito.mock(DataSet.class); + Mockito.when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds); + Mockito.when(ds.getRowCount()).thenReturn(1); + Mockito.when(ds.getString(Mockito.anyInt(), Mockito.anyInt())).thenReturn("test"); + rw.getFormFieldList().formField.get(0).setValidationType(FormField.VT_TIMESTAMP_MIN); + rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); + } + + @Test + public void generateSQLSQLBased6Test() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ReportParamValues paramValues = PowerMockito.mock(ReportParamValues.class); + PowerMockito.mockStatic(Globals.class); + PowerMockito.mockStatic(ConnectionUtils.class); + Mockito.when(Globals.getRequestParams()).thenReturn("test,req"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,session"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,sessionSche"); + rw.getCustomReport().setReportSQL("SELECT WHEN FROM TABLE WHERE [test] ORDER BY"); + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + rw.getFormFieldList().formField.get(0).setFieldType("BLANK1"); + Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(false); + Mockito.when(paramValues.isParameterTextAreaValueAndModified(Mockito.any(String.class))).thenReturn(true); + Mockito.when(paramValues.getParamValue(Mockito.any(String.class))).thenReturn("select test"); + DataSet ds = Mockito.mock(DataSet.class); + Mockito.when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds); + Mockito.when(ds.getRowCount()).thenReturn(1); + Mockito.when(ds.getString(Mockito.anyInt(), Mockito.anyInt())).thenReturn("test"); + rw.getFormFieldList().formField.get(0).setValidationType(FormField.VT_TIMESTAMP_SEC); + rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); + } + + @Test + public void generateSQLSQLBased7Test() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ReportParamValues paramValues = PowerMockito.mock(ReportParamValues.class); + PowerMockito.mockStatic(Globals.class); + PowerMockito.mockStatic(ConnectionUtils.class); + Mockito.when(Globals.getRequestParams()).thenReturn("test,req"); + Mockito.when(Globals.getSessionParams()).thenReturn("test,session"); + Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test,sessionSche"); + rw.getCustomReport().setReportSQL("SELECT WHEN FROM TABLE WHERE [test] ORDER BY"); + PowerMockito.mockStatic(ESAPI.class); + PowerMockito.mockStatic(SecurityCodecUtil.class); + Encoder encoder = PowerMockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(encoder); + Codec codec = PowerMockito.mock(Codec.class); + Mockito.when(SecurityCodecUtil.getCodec()).thenReturn(codec); + Mockito.when(encoder.encodeForSQL(Matchers.any(Codec.class), Matchers.anyString())).thenReturn("select *"); + rw.getFormFieldList().formField.get(0).setFieldType("BLANK1"); + Mockito.when(paramValues.isParameterMultiValue(Matchers.anyString())).thenReturn(false); + Mockito.when(paramValues.isParameterTextAreaValueAndModified(Mockito.any(String.class))).thenReturn(true); + //Mockito.when(paramValues.getParamValue(Mockito.any(String.class))).thenReturn("select test"); + DataSet ds = Mockito.mock(DataSet.class); + Mockito.when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds); + Mockito.when(ds.getRowCount()).thenReturn(1); + Mockito.when(ds.getString(Mockito.anyInt(), Mockito.anyInt())).thenReturn(""); + RemDbInfo remDbInfo = Mockito.mock(RemDbInfo.class); + PowerMockito.whenNew(RemDbInfo.class).withNoArguments().thenReturn(remDbInfo); + Mockito.when(remDbInfo.getDBType(Mockito.any(String.class))).thenReturn("DAYTONA"); + rw.generateSQLSQLBased(paramValues, "overrideSortByColId", "overrideSortByAscDesc", "userId", mockedRequest); + } @Test public void generateSQLVisualTest() throws Exception { @@ -853,7 +1377,7 @@ public class ReportWrapperTest { @Test public void getFrozenColumnId1Test() throws Exception { ReportWrapper rw = mockReportWrapper(); - rw.getCustomReport().setFrozenColumns(1); + rw.setFrozenColumns(1); rw.getCustomReport().getDataSourceList().getDataSource().get(0).getDataColumnList().getDataColumn().get(0) .setVisible(true); rw.getFrozenColumnId(); @@ -1146,4 +1670,55 @@ public class ReportWrapperTest { DataSourceType dataSourceType = new DataSourceType(); rw.formatListValue("[MAX_VALUE]", "[MAX_VALUE]", dataColumnType, false, false, dataSourceType, "listBaseSQL"); } + + @Test + public void testIsChartDrillDownContainsName() throws Exception { + ReportWrapper rw = mockReportWrapper(); + rw.isChartDrillDownContainsName("test"); + } + + @Test + public void testCloneChartDrillFormfield() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ObjectFactory objFactory = new ObjectFactory(); + ChartDrillFormfield cdff = new ChartDrillFormfield(); + cdff.setFormfield("test"); + rw.cloneChartDrillFormfield(objFactory, cdff); + } + + @Test + public void testCloneMarkerType() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ObjectFactory objFactory = new ObjectFactory(); + Marker marker = new Marker(); + marker.setAddressColumn("test"); + marker.setDataColumn("test"); + marker.setDataHeader("test"); + marker.setMarkerColor("test"); + rw.cloneMarkerType(objFactory, marker); + } + + @Test + public void testCloneDashboardType() throws Exception { + ReportWrapper rw = mockReportWrapper(); + ObjectFactory objFactory = new ObjectFactory(); + Reports reports = new Reports(); + reports.setBgcolor("test"); + reports.setReportId("1"); + rw.cloneDashboardType(objFactory, reports); + } + + @Test + public void testIsEnhancedPaginationNeeded() throws Exception { + ReportWrapper rw = mockReportWrapper(); + rw.isEnhancedPaginationNeeded(); + } + + @Test + public void testGetColumnWhichNeedEnhancedPagination() throws Exception { + ReportWrapper rw = mockReportWrapper(); + rw.getColumnWhichNeedEnhancedPagination(); + } + + }
\ No newline at end of file |