package org.onap.portalsdk.analytics.controller;
/*
* ============LICENSE_START==========================================
* ONAP Portal SDK
* ===================================================================
* Copyright © 2018 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============================================
*
*
*/
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import static org.powermock.api.mockito.PowerMockito.whenNew;
import java.io.IOException;
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.List;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.io.FilenameUtils;
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.error.RaptorException;
import org.onap.portalsdk.analytics.error.ReportSQLException;
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.SearchHandler;
import org.onap.portalsdk.analytics.model.base.IdNameColLookup;
import org.onap.portalsdk.analytics.model.base.IdNameList;
import org.onap.portalsdk.analytics.model.base.ReportWrapper;
import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
import org.onap.portalsdk.analytics.model.definition.ReportSchedule;
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.ReportJSONRuntime;
import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
import org.onap.portalsdk.analytics.model.runtime.VisualManager;
import org.onap.portalsdk.analytics.model.search.ReportSearchResultJSON;
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.system.IAppUtils;
import org.onap.portalsdk.analytics.system.fusion.domain.QuickLink;
import org.onap.portalsdk.analytics.util.AppConstants;
import org.onap.portalsdk.analytics.util.DataSet;
import org.onap.portalsdk.analytics.util.Utils;
import org.onap.portalsdk.analytics.view.ReportData;
import org.onap.portalsdk.analytics.xmlobj.ChartAdditionalOptions;
import org.onap.portalsdk.analytics.xmlobj.CustomReportType;
import org.onap.portalsdk.analytics.xmlobj.DashboardReports;
import org.onap.portalsdk.analytics.xmlobj.DataColumnList;
import org.onap.portalsdk.analytics.xmlobj.DataColumnType;
import org.onap.portalsdk.analytics.xmlobj.DataSourceList;
import org.onap.portalsdk.analytics.xmlobj.DataSourceType;
import org.onap.portalsdk.analytics.xmlobj.FormFieldList;
import org.onap.portalsdk.analytics.xmlobj.FormFieldType;
import org.onap.portalsdk.analytics.xmlobj.FormatList;
import org.onap.portalsdk.analytics.xmlobj.FormatType;
import org.onap.portalsdk.analytics.xmlobj.MockitoTestSuite;
import org.onap.portalsdk.analytics.xmlobj.Reports;
import org.onap.portalsdk.analytics.xmlobj.SemaphoreType;
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, ConnectionUtils.class, FilenameUtils.class, Utils.class, ReportRuntime.class, DataCache.class, ActionHandler.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();
@SuppressWarnings("unchecked")
@Test
public void reportRunTest_WhenReportTypeIsNotEqualToDashboard() 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(null);
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 = "namedesctypefalsefalseidfalse";
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(set.getString(Matchers.anyInt(), Matchers.any(String.class))).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 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("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);
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 enums;
Vector attrs = new Vector();
attrs.add("ff_test");
enums = attrs.elements();
when(rr.getParamKeys()).thenReturn(enums);
DashboardReports daashBoard = Mockito.mock(DashboardReports.class);
when(rdf.getDashBoardReports()).thenReturn(daashBoard);
when(daashBoard.getReportsList()).thenReturn(new ArrayList());
String testHTML = "[Report#123] | [Report#124] |
[Report#125] | [Report#126] |
";
when(rr.getDashboardLayoutHTML()).thenReturn(testHTML);
when(rr.getReportType()).thenReturn("test");
when(mockedRequest.getParameter("refresh")).thenReturn("N");
when(rr.getDisplayContent()).thenReturn(true);
when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_VISUAL_ACTION)).thenReturn("test");
when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_DETAIL_ID)).thenReturn("test");
when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_DETAIL_ID)).thenReturn("test");
when(rr.isDisplayOptionHideMap()).thenReturn(true);
when(mockedRequest.getSession().getAttribute("isEmbedded")).thenReturn(true);
when(rr.isDrillDownURLInPopupPresent()).thenReturn(true);
ArrayList aL = new ArrayList<>();
ReportRuntime rr1 = PowerMockito.mock(ReportRuntime.class);
when(rr1.getReportID()).thenReturn("test1");
when(rr1.getReportType()).thenReturn("test");
aL.add(rr1);
when(mockedRequest.getSession().getAttribute(AppConstants.DRILLDOWN_REPORTS_LIST)).thenReturn(aL);
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_RESET_PARAMS)).thenReturn(true);
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_RESET_ACTION)).thenReturn(false);
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_GO_BACK)).thenReturn(true);
assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
}
@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")
@Ignore
public void reportRunTest() 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(AppConstants.RT_DASHBOARD);
when(rr.getReportID()).thenReturn(AppConstants.RT_DASHBOARD);
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_SHOW_BACK_BTN)).thenReturn(true);
when(Globals.getLoadCustomReportXml()).thenReturn("java.lang.String");
String str = "namedesctypefalsefalseidfalse";
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 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("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);
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 enums;
Vector attrs = new Vector();
attrs.add("ff_test");
enums = attrs.elements();
when(rr.getParamKeys()).thenReturn(enums);
DashboardReports daashBoard = Mockito.mock(DashboardReports.class);
when(rdf.getDashBoardReports()).thenReturn(daashBoard);
when(daashBoard.getReportsList()).thenReturn(new ArrayList());
String testHTML = "[Report#123] | [Report#124] |
[Report#125] | [Report#126] |
";
when(rr.getDashboardLayoutHTML()).thenReturn(testHTML);
when(rr.getReportType()).thenReturn(AppConstants.RT_DASHBOARD);
when(mockedRequest.getParameter("refresh")).thenReturn("N");
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_DISPLAY_CONTENT)).thenReturn(true);
assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
}
@SuppressWarnings("unchecked")
@Test
public void reportRunRaptorReportExceptionTest() throws Exception {
try {
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 = "namedesctypefalsefalseidfalse";
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 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("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 enums;
Vector attrs = new Vector();
attrs.add("ff_test");
enums = attrs.elements();
when(rr.getParamKeys()).thenReturn(enums);
assertEquals(actionHandler.reportRun(mockedRequest, "test").getClass(), String.class);
}catch(Exception e) {
e.printStackTrace();
}
}
@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);
}
@Test
public void reportRunForExcelDownloadTest() throws Exception {
when(mockedRequest.getParameter("action")).thenReturn("test");
when(mockedRequest.getParameter("r_action")).thenReturn("report.download.excel2007");
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("");
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_REFRESH)).thenReturn(true);
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(false);
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);
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
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 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;
}
@Ignore
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(AppUtils.class);
when(AppUtils.getImgFolderURL()).thenReturn("test");
SearchHandler sh = Mockito.mock(SearchHandler.class);
whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
when(rsrj.getJSONString()).thenReturn("test");
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
actionHandler.reportSearch(mockedRequest, "10");
}
@Test
public void reportChartRunTest() throws Exception {
ChartWebRuntime cwr = PowerMockito.mock(ChartWebRuntime.class);
whenNew(ChartWebRuntime.class).withNoArguments().thenReturn(cwr);
when(cwr.generateChart(mockedRequest,false)).thenReturn("testReport");
assertEquals("testReport", actionHandler.reportChartRun(mockedRequest, "10"));
}
@Test
public void reportSearchUserTest() throws Exception {
PowerMockito.mockStatic(AppUtils.class);
when(AppUtils.getImgFolderURL()).thenReturn("test");
SearchHandler sh = Mockito.mock(SearchHandler.class);
whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
when(rsrj.getJSONString()).thenReturn("test");
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
assertEquals("test", actionHandler.reportSearchUser(mockedRequest, "10"));
}
@Test
public void reportSearchPublicTest() throws Exception {
PowerMockito.mockStatic(AppUtils.class);
when(AppUtils.getImgFolderURL()).thenReturn("test");
SearchHandler sh = Mockito.mock(SearchHandler.class);
whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
when(rsrj.getJSONString()).thenReturn("test");
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
assertEquals("test", actionHandler.reportSearchPublic(mockedRequest, "10"));
}
@Test
public void reportSearchFavoritesTest() throws Exception {
PowerMockito.mockStatic(AppUtils.class);
when(AppUtils.getImgFolderURL()).thenReturn("test");
SearchHandler sh = Mockito.mock(SearchHandler.class);
whenNew(SearchHandler.class).withNoArguments().thenReturn(sh);
ReportSearchResultJSON rsrj = Mockito.mock(ReportSearchResultJSON.class);
when(sh.loadReportSearchResult(mockedRequest)).thenReturn(rsrj);
when(rsrj.getJSONString()).thenReturn("test");
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
assertEquals("test", actionHandler.reportSearchFavorites(mockedRequest, "10"));
}
@Test
public void reportChartDataRunTest() throws Exception {
ChartWebRuntime cwr = Mockito.mock(ChartWebRuntime.class);
whenNew(ChartWebRuntime.class).withNoArguments().thenReturn(cwr);
when(cwr.generateChart(mockedRequest)).thenReturn("testReport");
assertEquals("testReport", actionHandler.reportChartDataRun(mockedRequest, "10"));
}
@Test
public void processScheduleDeleteTest() throws Exception {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(DbUtils.class);
PowerMockito.mockStatic(Globals.class);
when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_SCHEDULE_ID)).thenReturn("test");
when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("test2");
ReportHandler rh = Mockito.mock(ReportHandler.class);
ReportDefinition rdef = Mockito.mock(ReportDefinition.class);
whenNew(ReportHandler.class).withNoArguments().thenReturn(rh);
when(rh.loadReportDefinition(mockedRequest, "test2")).thenReturn(rdef);
when(AppUtils.getRequestNvlValue(mockedRequest, "myScheduleRepId")).thenReturn("test3");
when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
ReportSchedule rs = Mockito.mock(ReportSchedule.class);
whenNew(ReportSchedule.class).withArguments(Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class)).thenReturn(rs);
Connection con = Mockito.mock(Connection.class);
when(DbUtils.startTransaction()).thenReturn(con);
PowerMockito.doNothing().when(rs).deleteScheduleData(con);
PowerMockito.doNothing().when(DbUtils.class, "commitTransaction", new Object[]{con});
PowerMockito.doNothing().when(DbUtils.class, "clearConnection", new Object[]{con});
when(mockedRequest.getParameter("action")).thenReturn("report.download.excel2007");
when(AppUtils.getRequestFlag(mockedRequest, "fromDashboard")).thenReturn(false);
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_REFRESH)).thenReturn(true);
when(AppUtils.getRequestFlag(mockedRequest, "fromReportLog")).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");
PowerMockito.doNothing().when(rr).logReportExecutionTime(Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class), Mockito.any(String.class));
assertEquals(String.class, actionHandler.processScheduleDelete(mockedRequest, "10").getClass());
}
@Test
public void testFormFieldRun() {
ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
ReportJSONRuntime rjr = Mockito.mock(ReportJSONRuntime.class);
when(rr.createFormFieldJSONRuntime(mockedRequest)).thenReturn(rjr);
assertEquals(String.class, actionHandler.formFieldRun(mockedRequest, "10").getClass());
}
@Test
public void testGetReportData() throws RaptorException {
PowerMockito.mockStatic(ConnectionUtils.class);
PowerMockito.mockStatic(AppUtils.class);
when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
ReportFormFields rff = PowerMockito.mock(ReportFormFields.class);
FormField ff = PowerMockito.mock(FormField.class);
SemaphoreType st = PowerMockito.mock(SemaphoreType.class);
FormatList fl = PowerMockito.mock(FormatList.class);
FormatType ft = PowerMockito.mock(FormatType.class);
VisualManager visualManager = PowerMockito.mock(VisualManager.class);
List ftList = new ArrayList<>();
ftList.add(ft);
List dctList= new ArrayList<>();
DataColumnType dct = new DataColumnType();
dct.setColId("1");
dct.setDisplayName("testData");
dct.setColType("DATE");
dct.setDependsOnFormField("[testFieldDisplayName]");
dct.setSemaphoreId("testSemaphoreId");
dct.setColFormat("testColFormat");
dct.setDrillDownURL("testDrillDownUrl");
dct.setVisible(true);
dct.setDisplayWidthInPxls("testDisplayWidthInPxls");
dct.setDisplayHeaderAlignment("testDisplayHeaderAlignment");
dctList.add(dct);
when(rr.getAllColumns()).thenReturn(dctList);
when(rr.getReportFormFields()).thenReturn(rff);
when(rr.getDBInfo()).thenReturn("testDB");
when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
when(rr.getSemaphoreById(Mockito.any())).thenReturn(st);
when(rr.getChildReportFormFields(Mockito.any(HttpServletRequest.class), Mockito.any(String.class))).thenReturn(rff);
when(rr.getVisualManager()).thenReturn(visualManager);
DataSet ds = PowerMockito.mock(DataSet.class);
when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds);
when(ds.getRowCount()).thenReturn(1);
when(ds.getString(Mockito.any(Integer.class),Mockito.any(Integer.class))).thenReturn("testDataValue");
when(rff.size()).thenReturn(1);
when(rff.getFormField(Mockito.any(Integer.class))).thenReturn(ff);
when(ff.getFieldDisplayName()).thenReturn("testFieldDisplayName");
when(ff.getFieldName()).thenReturn("testFieldName");
when(mockedRequest.getParameter("testFieldName")).thenReturn("testFieldValue");
when(st.getFormatList()).thenReturn(fl);
when(st.getSemaphoreType()).thenReturn(AppConstants.ST_ROW);
when(fl.getFormat()).thenReturn(ftList);
when(ft.getLessThanValue()).thenReturn("10");
when(visualManager.isColumnVisible(Mockito.any(String.class))).thenReturn(true);
when(visualManager.getSortByColId()).thenReturn("1");
assertEquals(ReportData.class, actionHandler.getReportData(rr, mockedRequest, "test", 10).getClass());
}
@Test(expected = IOException.class)
public void testDownloadAll() throws InterruptedException, IOException, Exception {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(Globals.class);
PowerMockito.mockStatic(DbUtils.class);
PowerMockito.mockStatic(FilenameUtils.class);
PowerMockito.mockStatic(Utils.class);
PowerMockito.mockStatic(ReportRuntime.class);
when(AppUtils.getRequestValue(mockedRequest, "pdfAttachmentKey")).thenReturn("test");
when(AppUtils.getUserEmail(mockedRequest)).thenReturn("test@mail.com");
when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
when(AppUtils.getRequestValue(mockedRequest, "log_id")).thenReturn("testLogID");
ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
when(Globals.getDownloadAllEmailSent()).thenReturn("testEmailSentQuery");
when(Globals.getDownloadAllGenKey()).thenReturn("testGenerateKeyQuery");
when(Globals.getShellScriptDir()).thenReturn("./");
DataSet ds = PowerMockito.mock(DataSet.class);
when(DbUtils.executeQuery(Mockito.any(String.class), Mockito.eq(1))).thenReturn(ds);
when(DbUtils.executeQuery(Mockito.any(String.class))).thenReturn(ds);
when(ds.isEmpty()).thenReturn(false);
when(ds.getString(0,"user_id")).thenReturn("testUserID");
when(ds.getString(0,"rep_id")).thenReturn("testReportID");
when(ds.getRowCount()).thenReturn(1);
when(ds.getString(0,0)).thenReturn("testScheduleId");
when(FilenameUtils.normalize(Mockito.any(String.class))).thenReturn("testFile.txt");
when(Utils.isDownloadFileExists(Mockito.any(String.class))).thenReturn(true);
when(Utils.getLatestDownloadableFile(Mockito.any(String.class))).thenReturn("testLastDownloadedFile.txt");
List dctList= new ArrayList<>();
DataColumnType dct = new DataColumnType();
dct.setDisplayName("testData");
dctList.add(dct);
when(rr.getAllColumns()).thenReturn(dctList);
when(mockedRequest.getParameter("refresh")).thenReturn("N");
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
when(rr.getReportID()).thenReturn("testReportID");
actionHandler.downloadAll(mockedRequest, "10");
}
@Test
public void testRunSQLPopup() throws ReportSQLException {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(Globals.class);
PowerMockito.mockStatic(Utils.class);
PowerMockito.mockStatic(ConnectionUtils.class);
when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_FORMATTED_SQL)).thenReturn("SELECT * FROM TEST");
when(AppUtils.getRequestNvlValue(mockedRequest,AppConstants.RI_CHK_FIELD_SQL)).thenReturn("N");
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
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);
FormFieldList formFieldList = PowerMockito.mock(FormFieldList.class);
formFieldList.getFormField().add(formFieldType);
when(rdef.getFormFieldList()).thenReturn(formFieldList);
when(rdef.getFormFieldDisplayName(formFieldType)).thenReturn("testField");
when(mockedRequest.getParameter("remoteDbPrefix")).thenReturn("testDB");
when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
when(Utils.replaceInString(Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class))).thenReturn("testString");
when(Globals.getRequestParams()).thenReturn("test");
when(Globals.getSessionParams()).thenReturn("test");
DataSet ds = PowerMockito.mock(DataSet.class);
when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class), Mockito.eq(true))).thenReturn(ds);
when(ds.getRowCount()).thenReturn(1);
when(ds.getString(Mockito.any(Integer.class),Mockito.any(Integer.class))).thenReturn("testDataValue");
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 *");
actionHandler.testRunSQLPopup(mockedRequest, "10");
}
@Test
public void testSchedCondPopup() throws RaptorException {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(Globals.class);
PowerMockito.mockStatic(ConnectionUtils.class);
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_FORMATTED_SQL)).thenReturn("testSQL");
when(Globals.getTestSchedCondPopup()).thenReturn("testQuery");
when(mockedRequest.getParameter("remoteDbPrefix")).thenReturn("testDB");
DataSet ds = PowerMockito.mock(DataSet.class);
when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(ds);
when(ds.getRowCount()).thenReturn(1);
actionHandler.testSchedCondPopup(mockedRequest, "10");
}
@Test
public void testReportShowSQLPopup() throws RaptorException {
PowerMockito.mockStatic(AppUtils.class);
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
when(rdef.generateSQL(Mockito.any(String.class),Mockito.any(HttpServletRequest.class))).thenReturn("testReportSQL");
actionHandler.reportShowSQLPopup(mockedRequest, "10");
}
@Test
public void testReportFilterDataPopup() throws RaptorException {
PowerMockito.mockStatic(AppUtils.class);
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_COLUMN_ID)).thenReturn("testColID");
when(rdef.getDBInfo()).thenReturn(null);
when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("testDB");
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_RESET_PARAMS)).thenReturn(false);
IdNameColLookup lookUp = Mockito.mock(IdNameColLookup.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_COLUMN_LOOKUP)).thenReturn(lookUp);
when(lookUp.getColId()).thenReturn("testColID");
when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_SEARCH_STRING)).thenReturn("testSearchStr");
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_CONTAIN_FLAG)).thenReturn(true);
actionHandler.reportFilterDataPopup(mockedRequest, "10");
}
@Test
public void testReportImportSave() throws Exception {
PowerMockito.mockStatic(AppUtils.class);
String str = "namedesctypefalsefalseidfalse";
when(AppUtils.getRequestValue(mockedRequest, "reportXML")).thenReturn(str);
ReportHandler rh = Mockito.mock(ReportHandler.class);
ReportDefinition rdef = Mockito.mock(ReportDefinition.class);
whenNew(ReportHandler.class).withNoArguments().thenReturn(rh);
when(rh.createReportDefinition(mockedRequest, "-1", str)).thenReturn(rdef);
PowerMockito.doNothing().when(rdef).updateReportDefType();
PowerMockito.doNothing().when(rdef).generateWizardSequence(mockedRequest);
when(rdef.getReportName()).thenReturn("test");
PowerMockito.doNothing().when(rdef).setReportName("Import: test");
PowerMockito.doNothing().when(rdef).clearAllDrillDowns();
actionHandler.reportImportSave(mockedRequest, "10");
}
@Test
public void testProcessSchedule() throws RaptorException {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(Globals.class);
PowerMockito.mockStatic(ReportLoader.class);
PowerMockito.mockStatic(DbUtils.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn("test");
when(AppUtils.getRequestNvlValue(mockedRequest, AppConstants.RI_ACTION)).thenReturn("test");
when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_SCHEDULE_ID)).thenReturn("");
ReportSchedule rs = Mockito.mock(ReportSchedule.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn(rs);
when(rs.getScheduleID()).thenReturn("testSchecduleID");
when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("testReportID");
when(AppUtils.isAdminUser(mockedRequest)).thenReturn(true);
when(ReportLoader.doesUserCanScheduleReport(Mockito.any(HttpServletRequest.class), Mockito.any(String.class))).thenReturn(true);
when(rs.getFormFields()).thenReturn("testField");
when(Globals.getSessionParamsForScheduling()).thenReturn("test");
Connection con = Mockito.mock(Connection.class);
when(DbUtils.startTransaction()).thenReturn(con);
actionHandler.processSchedule(mockedRequest, "10");
}
@Test(expected=RuntimeException.class)
public void testProcessSchedule_WhenReportScheduleIsNull() throws RaptorException {
PowerMockito.mockStatic(AppUtils.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE)).thenReturn(null);
when(AppUtils.getRequestValue(mockedRequest, AppConstants.RI_REPORT_ID)).thenReturn("");
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
actionHandler.processSchedule(mockedRequest, "10");
}
@Test
public void testReportValuesMapDefPopup() throws RaptorException {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(Globals.class);
PowerMockito.mockStatic(ConnectionUtils.class);
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
when(AppUtils.getRequestNvlValue(mockedRequest, "colName")).thenReturn("testCol");
when(AppUtils.getRequestNvlValue(mockedRequest, "displayName")).thenReturn("testDisplayName");
when(AppUtils.getRequestNvlValue(mockedRequest, "displayFormat")).thenReturn("testDisplayFormat");
when(AppUtils.getRequestNvlValue(mockedRequest, "tableId")).thenReturn("testTableId");
when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("testDB");
when(Globals.getReportValuesMapDefA()).thenReturn("testA");
when(Globals.getReportValuesMapDefB()).thenReturn("testB");
when(Globals.getReportValuesMapDefC()).thenReturn("testC");
when(Globals.getReportValuesMapDefD()).thenReturn("testD");
when(Globals.getDefaultPageSize()).thenReturn(10);
DataSourceType ds = Mockito.mock(DataSourceType.class);
when(ds.getTableName()).thenReturn("testTable");
when(rdef.getTableById(Mockito.any(String.class))).thenReturn(ds);
DataSet data = Mockito.mock(DataSet.class);
when(ConnectionUtils.getDataSet(Mockito.any(String.class), Mockito.any(String.class))).thenReturn(data);
actionHandler.reportValuesMapDefPopup(mockedRequest, "10");
}
@Test
public void testReportFormFieldPopup() {
PowerMockito.mockStatic(AppUtils.class);
ReportRuntime rr = PowerMockito.mock(ReportRuntime.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
FormField formField = new FormField("test", "fieldDisplayName", FormField.FFT_COMBO_BOX, "validationType", false,
"defaultValue", "helpText", new ArrayList<>(), false, "dependsOn", null, null, "rangeStartDateSQL",
"rangeEndDateSQL", "multiSelectListSize");
when(rr.getFormField(Mockito.any(String.class))).thenReturn(formField);
ReportFormFields rff = PowerMockito.mock(ReportFormFields.class);
when(rr.getReportFormFields()).thenReturn(rff);
when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
IdNameList lookup = Mockito.mock(IdNameList.class);
when(AppUtils.getRequestFlag(mockedRequest, AppConstants.RI_TEXTFIELD_POP)).thenReturn(true);
actionHandler.reportFormFieldPopup(mockedRequest, "10");
}
@Test
public void testReportCreate() throws Exception {
PowerMockito.mockStatic(ReportDefinition.class);
PowerMockito.mockStatic(DataCache.class);
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(ReportDefinition.createBlank(mockedRequest)).thenReturn(rdef);
PowerMockito.doNothing().when(DataCache.class, "refreshReportTableSources", new Object[]{});
actionHandler.reportCreate(mockedRequest, "10");
}
@Test
public void testRefreshCache() throws Exception {
PowerMockito.mockStatic(Globals.class);
PowerMockito.mockStatic(DataCache.class);
Enumeration enum1 = Mockito.mock(Enumeration.class);
HttpSession session = mockedRequest.getSession();
when(session.getAttributeNames()).thenReturn(enum1);
PowerMockito.doNothing().when(DataCache.class, "refreshAll", new Object[]{});
IAppUtils iau = Mockito.mock(IAppUtils.class);
when(Globals.getAppUtils()).thenReturn(iau);
PowerMockito.doNothing().when(iau).resetUserCache();
actionHandler.refreshCache(mockedRequest, "10");
}
@Test
public void testProcessScheduleReportListd() throws Exception {
PowerMockito.mockStatic(AppUtils.class);
PowerMockito.mockStatic(ReportLoader.class);
when(AppUtils.getRequestNvlValue(mockedRequest, "schedule_reports")).thenReturn("reportID");
when(AppUtils.isAdminUser(mockedRequest)).thenReturn(true);
when(ReportLoader.doesUserCanScheduleReport(mockedRequest, null)).thenReturn(true);
ReportDefinition rdef = PowerMockito.mock(ReportDefinition.class);
when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION)).thenReturn(rdef);
when(rdef.getReportID()).thenReturn("reportID");
actionHandler.processScheduleReportList(mockedRequest, "10");
}
@Test
public void testGetQuickLinksJSON() throws Exception {
PowerMockito.mockStatic(SecurityCodecUtil.class);
PowerMockito.mockStatic(ESAPI.class);
PowerMockito.mockStatic(ReportLoader.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 *");
ArrayList qList = new ArrayList();
qList.add(new QuickLink());
when(ReportLoader.getQuickLinksJSON(Mockito.any(HttpServletRequest.class), Mockito.any(String.class), Mockito.eq(true))).thenReturn(qList);
actionHandler.getQuickLinksJSON(mockedRequest, "10");
}
}