package ch.sla.jdbcperflogger.agent; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.lang.reflect.Proxy; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import org.junit.Before; import org.junit.Test; import ch.sla.jdbcperflogger.driver.LoggingConnectionInvocationHandler; import ch.sla.jdbcperflogger.driver.WrappingDriver; public class AgentIT { @Before public void setup() { assertTrue(Agent.isLoaded()); } @Test public void returns_a_wrapped_connection_when_using_normal_url() throws SQLException { final Connection connection = DriverManager.getConnection("jdbc:h2:mem:", "sa", ""); assertTrue("is proxy", Proxy.isProxyClass(connection.getClass())); assertEquals(LoggingConnectionInvocationHandler.class, Proxy.getInvocationHandler(connection).getClass()); } @Test public void returns_a_wrapped_connection_when_using_jdbcperf_url() throws SQLException { final Connection connection = DriverManager.getConnection(WrappingDriver.URL_PREFIX + "jdbc:h2:mem:", "sa", ""); assertTrue("is proxy", Proxy.isProxyClass(connection.getClass())); assertEquals(LoggingConnectionInvocationHandler.class, Proxy.getInvocationHandler(connection).getClass()); } }