package net.ttddyy.dsproxy.proxy; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.sameInstance; import static org.mockito.Mockito.mock; import net.ttddyy.dsproxy.proxy.jdk.JdkJdbcProxyFactory; import org.junit.Test; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Statement; /** * @author Tadaya Tsuyukubo */ public class NativeJdbcExtractUtilsTest { @Test public void testGetConnection() { Connection source = mock(Connection.class); Connection proxy = new JdkJdbcProxyFactory().createConnection(source, null); // check proxy Connection result = NativeJdbcExtractUtils.getConnection(proxy); assertThat(result, is(sameInstance(source))); // check non-proxy result = NativeJdbcExtractUtils.getConnection(source); assertThat(result, is(sameInstance(source))); } @Test public void testGetStatement() { Statement source = mock(Statement.class); Statement proxy = new JdkJdbcProxyFactory().createStatement(source, null); // check proxy Statement result = NativeJdbcExtractUtils.getStatement(proxy); assertThat(result, is(sameInstance(source))); // check non-proxy result = NativeJdbcExtractUtils.getStatement(source); assertThat(result, is(sameInstance(source))); } @Test public void testGetPreparedStatement() { PreparedStatement source = mock(PreparedStatement.class); PreparedStatement proxy = new JdkJdbcProxyFactory().createPreparedStatement(source, null, null); // check proxy PreparedStatement result = NativeJdbcExtractUtils.getPreparedStatement(proxy); assertThat(result, is(sameInstance(source))); // check non-proxy result = NativeJdbcExtractUtils.getPreparedStatement(source); assertThat(result, is(sameInstance(source))); } @Test public void testGetCallableStatement() { CallableStatement source = mock(CallableStatement.class); CallableStatement proxy = new JdkJdbcProxyFactory().createCallableStatement(source, null, null, null); // check proxy CallableStatement result = NativeJdbcExtractUtils.getCallableStatement(proxy); assertThat(result, is(sameInstance(source))); // check non-proxy result = NativeJdbcExtractUtils.getCallableStatement(source); assertThat(result, is(sameInstance(source))); } }