/* * ============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.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; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Matchers; import org.mockito.Mockito; 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.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; 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.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; 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({ AppConstants.class, Globals.class, AppUtils.class, ReportWrapper.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, DataCache.class }) public class ReportRuntimeTest { MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); public ReportRuntime mockReportRunTime1() throws Exception { PowerMockito.mockStatic(Globals.class); PowerMockito.mockStatic(DbUtils.class); Mockito.when(Globals.getReportUserAccess()).thenReturn("test"); ResultSet rs = PowerMockito.mock(ResultSet.class); ResultSetMetaData rsmd = PowerMockito.mock(ResultSetMetaData.class); Mockito.when(rsmd.getColumnCount()).thenReturn(1); Mockito.when(rs.getMetaData()).thenReturn(rsmd); DataSet datset = PowerMockito.mock(DataSet.class); // datset = new DataSet(rs); Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null); Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset); Mockito.when(Globals.getNewScheduleData()).thenReturn("test"); CustomReportType customReportType = new CustomReportType(); DataSourceList dataSourceList = new DataSourceList(); List list = new ArrayList<>(); DataSourceType dataSourceType = new DataSourceType(); dataSourceType.setTableName("test"); dataSourceType.setRefTableId("1"); dataSourceType.setTableId("1"); List dataColumnTypeList = new ArrayList<>(); 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("VALUE"); dataColumnType.setDrillDownURL("drillDownUrl"); dataColumnType.setDisplayTotal("test|test2"); dataColumnType.setOrderBySeq(10); dataColumnType.setVisible(true); dataColumnTypeList.add(dataColumnType); DataColumnList dataColumnList = new DataColumnList(); dataColumnList.dataColumn = dataColumnTypeList; 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(); formFieldList.setComment("test"); List formFields = new ArrayList<>(4); 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); // 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", "1", true); reportWrapper.setWholeSQL("test"); PowerMockito.mockStatic(UserUtils.class); Mockito.when(Globals.getRequestParams()).thenReturn("test"); Mockito.when(Globals.getSessionParams()).thenReturn("test"); Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test"); PowerMockito.mockStatic(AppUtils.class); Mockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test12"); ReportRuntime rr = new ReportRuntime(reportWrapper, mockedRequest); 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 { ReportRuntime rr = mockReportRunTime1(); rr.getParamNameValuePairs(); } @Test public void getParamNameValuePairsforPDFExcelTest() 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"); 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"); 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("test"); rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2); } @Test public void getParamNameValuePairsforPDFExcel1Test() 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); 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.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); } @Test public void getFormFieldCommentsTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); 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); } @Test public void loadChartDataTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); rr.setChartDataCache(null); rr.loadChartData("test", mockedRequest); } @Test public void getReportDataSQLTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); rr.setWholeSQL("testFROMORDERBY"); PowerMockito.mockStatic(Globals.class); 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.getReportDataSQL("test", 1, mockedRequest); } @Test(expected = java.lang.RuntimeException.class) public void loadReportDataTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); PowerMockito.mockStatic(AppUtils.class); Mockito.when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_GO_BACK)).thenReturn(false); rr.loadReportData(1, "userId", 1, mockedRequest, false); } @Test public void loadReportData1Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); 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); 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(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"); 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 public void addDataValueTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); rr.getCustomReport().setReportType("Linear"); rr.setWholeSQL("testFROMORDERBY"); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); PowerMockito.mockStatic(AppUtils.class); PowerMockito.mockStatic(ConnectionUtils.class); DataColumnType dataColumnType = new DataColumnType(); dataColumnType.setChartGroup("test"); dataColumnType.setCrossTabValue("testcrosstab"); rr.addDataValue(dataColumnType, "userId"); } @Test public void doesReportContainsGroupFormFieldTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.doesReportContainsGroupFormField(); } @Test public void doesReportContainsGroupFormField1Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getFormFieldList().getFormField().get(0).setGroupFormField(null); rr.doesReportContainsGroupFormField(); } @Test public void loadReportData2Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); 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); 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(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); 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); 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("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); } @Test public void loadHiveLinearReportDataTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); rr.getCustomReport().setReportType("Cross-Tab"); rr.setWholeSQL("testFROMORDERBY"); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); rr.getAllColumns().get(0).setDrillDownURL(""); PowerMockito.mockStatic(ConnectionUtils.class); PowerMockito.mockStatic(Globals.class); Mockito.when(Globals.isPostgreSQL()).thenReturn(true); Mockito.when(Globals.isMySQL()).thenReturn(false); Mockito.when(ConnectionUtils.getDataSet(Matchers.anyString(), Matchers.anyString())).thenReturn(ds); Mockito.when(ds.getRowCount()).thenReturn(1); Mockito.when(ds.getString(0, 0)).thenReturn("1"); rr.loadHiveLinearReportData("testSQL", "userId", 1, mockedRequest); } @Test public void loadHiveLinearReportData2Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.getCustomReport().getFormFieldList().setComment(""); rr.getCustomReport().setReportType("Cross-Tab"); rr.setWholeSQL("testFROMORDERBY"); DataSet ds = PowerMockito.mock(DataSet.class); rr.setChartDataCache(ds); rr.getAllColumns().get(0).setDrillDownURL(""); rr.getAllColumns().get(0).setVisible(true); rr.getAllColumns().get(0).setDependsOnFormField("[test]"); rr.getAllColumns().get(0).setDisplayWidthInPxls("setpx"); PowerMockito.mockStatic(ConnectionUtils.class); PowerMockito.mockStatic(Globals.class); Mockito.when(Globals.isPostgreSQL()).thenReturn(true); Mockito.when(Globals.isMySQL()).thenReturn(false); Mockito.when(ConnectionUtils.getDataSet(Matchers.anyString(), Matchers.anyString())).thenReturn(ds); Mockito.when(ds.getRowCount()).thenReturn(1); Mockito.when(ds.getString(0, 0)).thenReturn("1"); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.loadHiveLinearReportData("testSQL", "userId", 1, mockedRequest); } @Test public void parseDrillDownURLTest() throws Exception { DataSet ds = PowerMockito.mock(DataSet.class); ReportRuntime rr = mockReportRunTime1(); 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("tes[t"); dataColumnType.setDrillDownParams("drilldown[#]"); dataColumnType.setCrossTabValue("VALUE"); dataColumnType.setDrillDownURL("url"); ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); PowerMockito.mockStatic(DataCache.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"); rr.parseDrillDownURL(1, ds, dataColumnType, mockedRequest, reportFormFields); } @Test public void parseDrillDownURL1Test() throws Exception { DataSet ds = PowerMockito.mock(DataSet.class); ReportRuntime rr = mockReportRunTime1(); 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("tes[t"); dataColumnType.setDrillDownParams("drilldown[#]"); dataColumnType.setCrossTabValue("VALUE"); dataColumnType.setDrillDownURL("testutilstest"); ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); ReportFormFields reportFormFields = new ReportFormFields(rw, mockedRequest); 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"); 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 { ReportRuntime rr = mockReportRunTime1(); rr.parseReportSQL("select id from test"); } @Test(expected = org.onap.portalsdk.analytics.error.ValidationException.class) public void parseReportSQL1Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.parseReportSQL("select * from test ORDER BY"); } @Test(expected = org.onap.portalsdk.analytics.error.ValidationException.class) public void parseReportSQL2Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.parseReportSQL("select DISTINCT from test"); } @Test(expected = org.onap.portalsdk.analytics.error.ValidationException.class) public void parseReportSQL3Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); 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 { ReportRuntime rr = mockReportRunTime1(); 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.parseReportSQL(""); } @Test public void setDisplayFlagsTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.setDisplayFlags(false, false); } @Test public void setDisplayFlags1Test() throws Exception { PowerMockito.mockStatic(Globals.class); Mockito.when(Globals.getIncludeFormWithData()).thenReturn(true); ReportRuntime rr = mockReportRunTime1(); Mockito.when(Globals.getDisplayFormBeforeRun()).thenReturn(true); rr.setDisplayFlags(false, false); } @Test public void setDisplayFlags2Test() throws Exception { PowerMockito.mockStatic(Globals.class); ReportRuntime rr = mockReportRunTime1(); Mockito.when(Globals.getIncludeFormWithData()).thenReturn(true); rr.setDisplayFlags(false, false); } @Test public void setDisplayFlags3Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.setDisplayFlags(true, true); } @Test public void setDisplayFlags4Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); rr.setDisplayFlags(true, false); } @Test public void setDisplayFlags5Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); PowerMockito.mockStatic(Globals.class); Mockito.when(Globals.getDisplayFormBeforeRun()).thenReturn(true); rr.setDisplayFlags(true, false); } @Test public void formatSelectedItemsTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); List list = new ArrayList<>(); list.add("test"); rr.formatSelectedItems(list, "LIST_MULTI_SELECT"); } @Test public void formatSelectedItems5Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List list = new ArrayList<>(); list.add("test"); rr.formatSelectedItems(list, "LIST_BOX"); } @Test public void parseAndFillWithCurrentValuesTest() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues1Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("COMBO_BOX"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues2Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("LIST_MULTI_SELECT"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues3Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("CHECK_BOX"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues4Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("RADIO_BTN"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues5Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("RADIO_BTN"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues6Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("HIDDEN"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues7Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("HIDDEN"); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues8Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("TEXT"); formFieldType.setValidationType("DATE1"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues9Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("TEXT"); formFieldType.setValidationType("DATE1"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues10Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("TEXTAREA"); formFieldType.setValidationType("DATE1"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues11Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("TEXTAREA"); formFieldType.setValidationType("DATE1"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues12Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType(""); formFieldType.setValidationType("DATE"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues13Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType(""); formFieldType.setValidationType("TIMESTAMP_HR"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues14Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType(""); formFieldType.setValidationType("TIMESTAMP_MIN"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues15Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType(""); formFieldType.setValidationType("TIMESTAMP_SEC"); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues16Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("TEXT_WITH_POPUP"); formFieldType.setValidationType(""); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues17Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("TEXT_WITH_POPUP"); formFieldType.setValidationType(""); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues18Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("LIST_BOX"); formFieldType.setValidationType(""); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); rr.parseAndFillWithCurrentValues(mockedRequest, "test", formField); } @Test public void parseAndFillWithCurrentValues19Test() throws Exception { ReportRuntime rr = mockReportRunTime1(); List predefinedValues = new ArrayList<>(); FormField formField = new FormField("test", "fieldDisplayName", "COMBO_BOX", "validationType", false, "defaultValue", "helpText", predefinedValues, false, "dependsOn", null, null, "rangeStartDateSQL", "rangeEndDateSQL", "multiSelectListSize"); FormFieldType formFieldType = new FormFieldType(); formFieldType.setFieldType("LIST_BOX"); formFieldType.setValidationType(""); rr.getCustomReport().getFormFieldList().getFormField().set(0, formFieldType); Mockito.when(mockedRequest.getParameterValues(Matchers.anyString())).thenReturn(new String[] { "test" }); Mockito.when(mockedRequest.getParameter(Matchers.anyString())).thenReturn("test"); 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 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"); } }