From 408b5c778f2552cecd8e20c2b98b08e5214d2bb3 Mon Sep 17 00:00:00 2001 From: wenshao Date: Wed, 4 Jan 2012 13:38:19 +0800 Subject: [PATCH] add testcase --- .../druid/bvt/proxy/BasicTypeTest.java | 2 +- .../alibaba/druid/bvt/proxy/PrecallTest.java | 2 +- .../alibaba/druid/bvt/proxy/WrapImplTest.java | 2 +- .../bvt/spring/DruidJdbcExtractorTest.java | 74 +++++++++++++++++++ 4 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/spring/DruidJdbcExtractorTest.java diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/BasicTypeTest.java b/src/test/java/com/alibaba/druid/bvt/proxy/BasicTypeTest.java index e7764988f7..fc15213b02 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/BasicTypeTest.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/BasicTypeTest.java @@ -546,7 +546,7 @@ public class BasicTypeTest extends TestCase { } try { cstmt.getBlob(12).free(); - } catch (SQLFeatureNotSupportedException ex) { + } catch (SQLException ex) { } try { diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/PrecallTest.java b/src/test/java/com/alibaba/druid/bvt/proxy/PrecallTest.java index 7685b84741..47d341e315 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/PrecallTest.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/PrecallTest.java @@ -288,7 +288,7 @@ public class PrecallTest extends TestCase { try { cstmt.getClob(1); - } catch (SQLFeatureNotSupportedException ex) { + } catch (SQLException ex) { } try { diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java b/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java index 08549c8140..0b51eb58aa 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java @@ -54,7 +54,7 @@ public class WrapImplTest extends TestCase { Assert.assertEquals(url, dataSource.getUrl()); Assert.assertEquals("jdbc:derby:classpath:petstore-db", dataSource.getRawUrl()); Assert.assertEquals(10, dataSource.getRawDriverMajorVersion()); - Assert.assertEquals(6, dataSource.getRawDriverMinorVersion()); + Assert.assertEquals(8, dataSource.getRawDriverMinorVersion()); Assert.assertFalse(connection.isWrapperFor(com.mysql.jdbc.Connection.class)); Assert.assertTrue(connection.isWrapperFor(ConnectionProxyImpl.class)); diff --git a/src/test/java/com/alibaba/druid/bvt/spring/DruidJdbcExtractorTest.java b/src/test/java/com/alibaba/druid/bvt/spring/DruidJdbcExtractorTest.java new file mode 100644 index 0000000000..baac25c339 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/spring/DruidJdbcExtractorTest.java @@ -0,0 +1,74 @@ +package com.alibaba.druid.bvt.spring; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.Statement; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.mock.MockConnection; +import com.alibaba.druid.mock.MockPreparedStatement; +import com.alibaba.druid.mock.MockStatement; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.spring.DruidJdbcExtractor; + +public class DruidJdbcExtractorTest extends TestCase { + + public void test_spring() throws Exception { + DruidDataSource dataSource = new DruidDataSource(); + + try { + DruidJdbcExtractor extractor = new DruidJdbcExtractor(); + + dataSource.setUrl("jdbc:mock:xx1"); + Connection conn = dataSource.getConnection(); + Assert.assertEquals(true, extractor.getNativeConnection(conn) instanceof MockConnection); + + Statement stmt = conn.createStatement(); + Assert.assertEquals(true, extractor.getNativeConnectionFromStatement(stmt) instanceof MockConnection); + Assert.assertEquals(true, extractor.getNativeStatement(stmt) instanceof MockStatement); + + stmt.close(); + + PreparedStatement preStmt = conn.prepareStatement("select 1"); + Assert.assertEquals(true, extractor.getNativeConnectionFromStatement(preStmt) instanceof MockConnection); + Assert.assertEquals(true, extractor.getNativeStatement(preStmt) instanceof MockPreparedStatement); + Assert.assertEquals(true, extractor.getNativePreparedStatement(preStmt) instanceof MockPreparedStatement); + preStmt.close(); + + conn.close(); + } finally { + dataSource.close(); + } + } + + public void test_spring_filter() throws Exception { + DruidDataSource dataSource = new DruidDataSource(); + + try { + DruidJdbcExtractor extractor = new DruidJdbcExtractor(); + + dataSource.setUrl("jdbc:mock:xx1"); + dataSource.setFilters("stat"); + Connection conn = dataSource.getConnection(); + Assert.assertEquals(true, extractor.getNativeConnection(conn) instanceof MockConnection); + + Statement stmt = conn.createStatement(); + Assert.assertEquals(true, extractor.getNativeConnectionFromStatement(stmt) instanceof MockConnection); + Assert.assertEquals(true, extractor.getNativeStatement(stmt) instanceof MockStatement); + + stmt.close(); + + PreparedStatement preStmt = conn.prepareStatement("select 1"); + Assert.assertEquals(true, extractor.getNativeConnectionFromStatement(preStmt) instanceof MockConnection); + Assert.assertEquals(true, extractor.getNativeStatement(preStmt) instanceof MockPreparedStatement); + Assert.assertEquals(true, extractor.getNativePreparedStatement(preStmt) instanceof MockPreparedStatement); + preStmt.close(); + + conn.close(); + } finally { + dataSource.close(); + } + } +}