/* * ============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============================================ * * */ package org.onap.portalsdk.analytics.model.runtime; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Matchers; import org.mockito.Mockito; import org.onap.portalsdk.analytics.error.RaptorException; import org.onap.portalsdk.analytics.model.base.ReportWrapper; import org.onap.portalsdk.analytics.system.AppUtils; import org.onap.portalsdk.analytics.system.ConnectionUtils; 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.xmlobj.MockitoTestSuite; import org.onap.portalsdk.core.util.SecurityCodecUtil; 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({Globals.class, ESAPI.class, AppUtils.class, SecurityCodecUtil.class, ConnectionUtils.class}) public class ReportParamValuesForPDFExcelTest { MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); ReportParamValuesForPDFExcel reportParamValuesForPDFExcel; ReportFormFields reportFormFields; ReportRuntime rr; @Before public void setUp() throws RaptorException { rr = Mockito.mock(ReportRuntime.class); Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr); ReportWrapper rw = PowerMockito.mock(ReportWrapper.class); reportFormFields = new ReportFormFields(rw, mockedRequest); List predefinedValues = new ArrayList(); FormField formField = Mockito.mock(FormField.class); Mockito.when(formField.getFieldName()).thenReturn("fftest"); Mockito.when(formField.getFieldDisplayName()).thenReturn("fieldDisplayName"); Mockito.when(formField.getBaseSQLForPDFExcel()).thenReturn("select * from test"); Mockito.when(formField.getFieldDefaultSQL()).thenReturn("select * from test"); reportFormFields.add(formField); Mockito.when(rr.getReportFormFields()).thenReturn(reportFormFields); Mockito.when(rr.getReportType()).thenReturn("test"); Mockito.when(mockedRequest.getSession().getAttribute("remoteDB")).thenReturn("test"); PowerMockito.mockStatic(ESAPI.class); PowerMockito.mockStatic(SecurityCodecUtil.class); PowerMockito.mockStatic(AppUtils.class); PowerMockito.mockStatic(Globals.class); PowerMockito.when(AppUtils.getUserID(mockedRequest)).thenReturn("test"); 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.getRequestParams()).thenReturn("test"); Mockito.when(Globals.getSessionParams()).thenReturn("test"); Mockito.when(Globals.getSessionParamsForScheduling()).thenReturn("test"); PowerMockito.mockStatic(ConnectionUtils.class); DataSet ds = Mockito.mock(DataSet.class); Mockito.when(ds.getRowCount()).thenReturn(1); Mockito.when(ds.getString(Mockito.anyInt(),Mockito.anyInt())).thenReturn("test"); Mockito.when(ConnectionUtils.getDataSet(Mockito.anyString(),Mockito.anyString())).thenReturn(ds); } @Test public void testSetParamValues_WithCombo() throws Exception { Mockito.when(reportFormFields.getFormField(0).getFieldType()).thenReturn(FormField.FFT_COMBO_BOX); Mockito.when(reportFormFields.getFormField(0).getValidationType()).thenReturn(FormField.VT_TIMESTAMP_HR); ReportParamValues params = new ReportParamValues(reportFormFields, "test"); Mockito.when(rr.getParamKeys()).thenReturn(params.keys()); reportParamValuesForPDFExcel = new ReportParamValuesForPDFExcel(reportFormFields, "test"); reportParamValuesForPDFExcel.setParamValues(mockedRequest, true); } @Test public void testSetParamValues_WithCheckBox() throws Exception { Mockito.when(reportFormFields.getFormField(0).getFieldType()).thenReturn(FormField.FFT_CHECK_BOX); Mockito.when(reportFormFields.getFormField(0).getValidationType()).thenReturn(FormField.VT_TIMESTAMP_MIN); ReportParamValues params = new ReportParamValues(reportFormFields, "test"); Mockito.when(rr.getParamKeys()).thenReturn(params.keys()); reportParamValuesForPDFExcel = new ReportParamValuesForPDFExcel(reportFormFields, "test"); reportParamValuesForPDFExcel.setParamValues(mockedRequest, true); } }