package com.alibaba.druid.bvt.pool;
import java.sql.Connection;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.filter.logging.Log4jFilter;
import com.alibaba.druid.filter.logging.LogFilter;
import com.alibaba.druid.filter.stat.MergeStatFilter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
public class UnwrapTest_filter extends TestCase {
private DruidDataSource dataSource;
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mock:xxx");
dataSource.setTestOnBorrow(true);
dataSource.setInitialSize(1);
dataSource.setValidationQuery("select 1");
dataSource.setValidationQueryTimeout(10);
dataSource.setQueryTimeout(100);
dataSource.setFilters("mergeStat,log4j");
}
protected void tearDown() throws Exception {
dataSource.close();
}
public void test_unwrap() throws Exception {
Connection conn = dataSource.getConnection();
conn.close();
Assert.assertTrue(dataSource.isWrapperFor(StatFilter.class));
Assert.assertNotNull(dataSource.unwrap(StatFilter.class));
Assert.assertTrue(dataSource.isWrapperFor(MergeStatFilter.class));
Assert.assertNotNull(dataSource.unwrap(MergeStatFilter.class));
Assert.assertTrue(dataSource.isWrapperFor(LogFilter.class));
Assert.assertNotNull(dataSource.unwrap(LogFilter.class));
Assert.assertTrue(dataSource.isWrapperFor(Log4jFilter.class));
Assert.assertNotNull(dataSource.unwrap(Log4jFilter.class));
}
}