| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file 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. |
| */ |
| |
| package org.apache.commons.dbcp2; |
| |
| import static org.junit.jupiter.api.Assertions.assertEquals; |
| import static org.junit.jupiter.api.Assertions.assertNull; |
| import static org.junit.jupiter.api.Assertions.assertTrue; |
| import static org.mockito.Mockito.mock; |
| import static org.mockito.Mockito.times; |
| import static org.mockito.Mockito.verify; |
| |
| import java.sql.PreparedStatement; |
| import java.sql.SQLException; |
| |
| import org.junit.jupiter.api.BeforeEach; |
| import org.junit.jupiter.api.Test; |
| |
| @SuppressWarnings({ "deprecation", "rawtypes" }) // BigDecimal methods, and casting for mocks |
| public class TestDelegatingPreparedStatement { |
| |
| private TesterConnection testerConn = null; |
| private DelegatingConnection connection = null; |
| private PreparedStatement obj = null; |
| private DelegatingPreparedStatement delegate = null; |
| |
| @BeforeEach |
| public void setUp() throws Exception { |
| testerConn = new TesterConnection("test", "test"); |
| connection = new DelegatingConnection<>(testerConn); |
| obj = mock(PreparedStatement.class); |
| delegate = new DelegatingPreparedStatement(connection, obj); |
| } |
| |
| @Test |
| public void testExecuteQueryReturnsNull() throws Exception { |
| obj = new TesterPreparedStatement(testerConn,"null"); |
| delegate = new DelegatingPreparedStatement(connection,obj); |
| assertNull(delegate.executeQuery()); |
| } |
| |
| @Test |
| public void testExecuteQueryReturnsNotNull() throws Exception { |
| obj = new TesterPreparedStatement(testerConn,"select * from foo"); |
| delegate = new DelegatingPreparedStatement(connection,obj); |
| assertTrue(null != delegate.executeQuery()); |
| } |
| |
| @Test |
| public void testGetDelegate() throws Exception { |
| obj = new TesterPreparedStatement(testerConn,"select * from foo"); |
| delegate = new DelegatingPreparedStatement(connection,obj); |
| assertEquals(obj,delegate.getDelegate()); |
| } |
| |
| @Test |
| public void testAddBatch() throws Exception { |
| try { |
| delegate.addBatch(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).addBatch(); |
| } |
| |
| @Test |
| public void testClearParameters() throws Exception { |
| try { |
| delegate.clearParameters(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).clearParameters(); |
| } |
| |
| @Test |
| public void testExecute() throws Exception { |
| try { |
| delegate.execute(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).execute(); |
| } |
| |
| @Test |
| public void testExecuteLargeUpdate() throws Exception { |
| try { |
| delegate.executeLargeUpdate(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).executeLargeUpdate(); |
| } |
| |
| @Test |
| public void testExecuteQuery() throws Exception { |
| try { |
| delegate.executeQuery(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).executeQuery(); |
| } |
| |
| @Test |
| public void testExecuteUpdate() throws Exception { |
| try { |
| delegate.executeUpdate(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).executeUpdate(); |
| } |
| |
| @Test |
| public void testGetMetaData() throws Exception { |
| try { |
| delegate.getMetaData(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).getMetaData(); |
| } |
| |
| @Test |
| public void testGetParameterMetaData() throws Exception { |
| try { |
| delegate.getParameterMetaData(); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).getParameterMetaData(); |
| } |
| |
| @Test |
| public void testSetArrayIntegerArray() throws Exception { |
| try { |
| delegate.setArray(1,(java.sql.Array) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setArray(1,(java.sql.Array) null); |
| } |
| |
| @Test |
| public void testSetAsciiStreamIntegerInputStreamLong() throws Exception { |
| try { |
| delegate.setAsciiStream(1,(java.io.InputStream) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setAsciiStream(1,(java.io.InputStream) null,1l); |
| } |
| |
| @Test |
| public void testSetAsciiStreamIntegerInputStreamInteger() throws Exception { |
| try { |
| delegate.setAsciiStream(1,(java.io.InputStream) null,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setAsciiStream(1,(java.io.InputStream) null,1); |
| } |
| |
| @Test |
| public void testSetAsciiStreamIntegerInputStream() throws Exception { |
| try { |
| delegate.setAsciiStream(1,(java.io.InputStream) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setAsciiStream(1,(java.io.InputStream) null); |
| } |
| |
| @Test |
| public void testSetBigDecimalIntegerBigDecimal() throws Exception { |
| try { |
| delegate.setBigDecimal(1,java.math.BigDecimal.valueOf(1.0d)); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBigDecimal(1,java.math.BigDecimal.valueOf(1.0d)); |
| } |
| |
| @Test |
| public void testSetBinaryStreamIntegerInputStreamLong() throws Exception { |
| try { |
| delegate.setBinaryStream(1,(java.io.InputStream) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBinaryStream(1,(java.io.InputStream) null,1l); |
| } |
| |
| @Test |
| public void testSetBinaryStreamIntegerInputStream() throws Exception { |
| try { |
| delegate.setBinaryStream(1,(java.io.InputStream) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBinaryStream(1,(java.io.InputStream) null); |
| } |
| |
| @Test |
| public void testSetBinaryStreamIntegerInputStreamInteger() throws Exception { |
| try { |
| delegate.setBinaryStream(1,(java.io.InputStream) null,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBinaryStream(1,(java.io.InputStream) null,1); |
| } |
| |
| @Test |
| public void testSetBlobIntegerBlob() throws Exception { |
| try { |
| delegate.setBlob(1,(java.sql.Blob) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBlob(1,(java.sql.Blob) null); |
| } |
| |
| @Test |
| public void testSetBlobIntegerInputStream() throws Exception { |
| try { |
| delegate.setBlob(1,(java.io.InputStream) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBlob(1,(java.io.InputStream) null); |
| } |
| |
| @Test |
| public void testSetBlobIntegerInputStreamLong() throws Exception { |
| try { |
| delegate.setBlob(1,(java.io.InputStream) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBlob(1,(java.io.InputStream) null,1l); |
| } |
| |
| @Test |
| public void testSetBooleanIntegerBoolean() throws Exception { |
| try { |
| delegate.setBoolean(1,Boolean.TRUE); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBoolean(1,Boolean.TRUE); |
| } |
| |
| @Test |
| public void testSetByteIntegerByte() throws Exception { |
| try { |
| delegate.setByte(1,(byte) 1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setByte(1,(byte) 1); |
| } |
| |
| @Test |
| public void testSetBytesIntegerByteArray() throws Exception { |
| try { |
| delegate.setBytes(1,new byte[] { 1 }); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setBytes(1,new byte[] { 1 }); |
| } |
| |
| @Test |
| public void testSetCharacterStreamIntegerReader() throws Exception { |
| try { |
| delegate.setCharacterStream(1,(java.io.StringReader) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setCharacterStream(1,(java.io.StringReader) null); |
| } |
| |
| @Test |
| public void testSetCharacterStreamIntegerReaderInteger() throws Exception { |
| try { |
| delegate.setCharacterStream(1,(java.io.StringReader) null,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setCharacterStream(1,(java.io.StringReader) null,1); |
| } |
| |
| @Test |
| public void testSetCharacterStreamIntegerReaderLong() throws Exception { |
| try { |
| delegate.setCharacterStream(1,(java.io.StringReader) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setCharacterStream(1,(java.io.StringReader) null,1l); |
| } |
| |
| @Test |
| public void testSetClobIntegerClob() throws Exception { |
| try { |
| delegate.setClob(1,(java.sql.Clob) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setClob(1,(java.sql.Clob) null); |
| } |
| |
| @Test |
| public void testSetClobIntegerReaderLong() throws Exception { |
| try { |
| delegate.setClob(1,(java.io.StringReader) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setClob(1,(java.io.StringReader) null,1l); |
| } |
| |
| @Test |
| public void testSetClobIntegerReader() throws Exception { |
| try { |
| delegate.setClob(1,(java.io.StringReader) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setClob(1,(java.io.StringReader) null); |
| } |
| |
| @Test |
| public void testSetDateIntegerSqlDateCalendar() throws Exception { |
| try { |
| delegate.setDate(1,new java.sql.Date(1529827548745l),(java.util.Calendar) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setDate(1,new java.sql.Date(1529827548745l),(java.util.Calendar) null); |
| } |
| |
| @Test |
| public void testSetDateIntegerSqlDate() throws Exception { |
| try { |
| delegate.setDate(1,new java.sql.Date(1529827548745l)); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setDate(1,new java.sql.Date(1529827548745l)); |
| } |
| |
| @Test |
| public void testSetDoubleIntegerDouble() throws Exception { |
| try { |
| delegate.setDouble(1,1.0d); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setDouble(1,1.0d); |
| } |
| |
| @Test |
| public void testSetFloatIntegerFloat() throws Exception { |
| try { |
| delegate.setFloat(1,1.0f); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setFloat(1,1.0f); |
| } |
| |
| @Test |
| public void testSetIntIntegerInteger() throws Exception { |
| try { |
| delegate.setInt(1,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setInt(1,1); |
| } |
| |
| @Test |
| public void testSetLongIntegerLong() throws Exception { |
| try { |
| delegate.setLong(1,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setLong(1,1l); |
| } |
| |
| @Test |
| public void testSetNCharacterStreamIntegerReader() throws Exception { |
| try { |
| delegate.setNCharacterStream(1,(java.io.StringReader) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNCharacterStream(1,(java.io.StringReader) null); |
| } |
| |
| @Test |
| public void testSetNCharacterStreamIntegerReaderLong() throws Exception { |
| try { |
| delegate.setNCharacterStream(1,(java.io.StringReader) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNCharacterStream(1,(java.io.StringReader) null,1l); |
| } |
| |
| @Test |
| public void testSetNClobIntegerNClob() throws Exception { |
| try { |
| delegate.setNClob(1,(java.sql.NClob) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNClob(1,(java.sql.NClob) null); |
| } |
| |
| @Test |
| public void testSetNClobIntegerReader() throws Exception { |
| try { |
| delegate.setNClob(1,(java.io.StringReader) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNClob(1,(java.io.StringReader) null); |
| } |
| |
| @Test |
| public void testSetNClobIntegerReaderLong() throws Exception { |
| try { |
| delegate.setNClob(1,(java.io.StringReader) null,1l); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNClob(1,(java.io.StringReader) null,1l); |
| } |
| |
| @Test |
| public void testSetNStringIntegerString() throws Exception { |
| try { |
| delegate.setNString(1,"foo"); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNString(1,"foo"); |
| } |
| |
| @Test |
| public void testSetNullIntegerIntegerString() throws Exception { |
| try { |
| delegate.setNull(1,1,"foo"); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNull(1,1,"foo"); |
| } |
| |
| @Test |
| public void testSetNullIntegerInteger() throws Exception { |
| try { |
| delegate.setNull(1,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setNull(1,1); |
| } |
| |
| @Test |
| public void testSetObjectIntegerObjectSQLType() throws Exception { |
| try { |
| delegate.setObject(1,System.err,(java.sql.SQLType) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setObject(1,System.err,(java.sql.SQLType) null); |
| } |
| |
| @Test |
| public void testSetObjectIntegerObjectSQLTypeInteger() throws Exception { |
| try { |
| delegate.setObject(1,System.err,(java.sql.SQLType) null,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setObject(1,System.err,(java.sql.SQLType) null,1); |
| } |
| |
| @Test |
| public void testSetObjectIntegerObjectIntegerInteger() throws Exception { |
| try { |
| delegate.setObject(1,System.err,1,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setObject(1,System.err,1,1); |
| } |
| |
| @Test |
| public void testSetObjectIntegerObjectInteger() throws Exception { |
| try { |
| delegate.setObject(1,System.err,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setObject(1,System.err,1); |
| } |
| |
| @Test |
| public void testSetObjectIntegerObject() throws Exception { |
| try { |
| delegate.setObject(1,System.err); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setObject(1,System.err); |
| } |
| |
| @Test |
| public void testSetRefIntegerRef() throws Exception { |
| try { |
| delegate.setRef(1,(java.sql.Ref) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setRef(1,(java.sql.Ref) null); |
| } |
| |
| @Test |
| public void testSetRowIdIntegerRowId() throws Exception { |
| try { |
| delegate.setRowId(1,(java.sql.RowId) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setRowId(1,(java.sql.RowId) null); |
| } |
| |
| @Test |
| public void testSetSQLXMLIntegerSQLXML() throws Exception { |
| try { |
| delegate.setSQLXML(1,(java.sql.SQLXML) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setSQLXML(1,(java.sql.SQLXML) null); |
| } |
| |
| @Test |
| public void testSetShortIntegerShort() throws Exception { |
| try { |
| delegate.setShort(1,(short) 1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setShort(1,(short) 1); |
| } |
| |
| @Test |
| public void testSetStringIntegerString() throws Exception { |
| try { |
| delegate.setString(1,"foo"); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setString(1,"foo"); |
| } |
| |
| @Test |
| public void testSetTimeIntegerTime() throws Exception { |
| try { |
| delegate.setTime(1,(java.sql.Time) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setTime(1,(java.sql.Time) null); |
| } |
| |
| @Test |
| public void testSetTimeIntegerTimeCalendar() throws Exception { |
| try { |
| delegate.setTime(1,(java.sql.Time) null,(java.util.Calendar) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setTime(1,(java.sql.Time) null,(java.util.Calendar) null); |
| } |
| |
| @Test |
| public void testSetTimestampIntegerTimestamp() throws Exception { |
| try { |
| delegate.setTimestamp(1,(java.sql.Timestamp) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setTimestamp(1,(java.sql.Timestamp) null); |
| } |
| |
| @Test |
| public void testSetTimestampIntegerTimestampCalendar() throws Exception { |
| try { |
| delegate.setTimestamp(1,(java.sql.Timestamp) null,(java.util.Calendar) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setTimestamp(1,(java.sql.Timestamp) null,(java.util.Calendar) null); |
| } |
| |
| @Test |
| public void testSetURLIntegerUrl() throws Exception { |
| try { |
| delegate.setURL(1,(java.net.URL) null); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setURL(1,(java.net.URL) null); |
| } |
| |
| @Test |
| public void testSetUnicodeStreamIntegerInputStreamInteger() throws Exception { |
| try { |
| delegate.setUnicodeStream(1,(java.io.InputStream) null,1); |
| } catch (final SQLException e) {} |
| verify(obj, times(1)).setUnicodeStream(1,(java.io.InputStream) null,1); |
| } |
| |
| } |