From 30738d1295614239d69a8ad7ed5aeea14ea72597 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 19 Aug 2012 16:26:31 +0800 Subject: [PATCH] add testcase --- .../bvt/filter/FilterChainTest_Clob_2.java | 103 +++++++++++++++++ .../bvt/filter/FilterChainTest_NClob_2.java | 104 ++++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100644 src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_Clob_2.java create mode 100644 src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_Clob_2.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_Clob_2.java new file mode 100644 index 0000000000..ce8bd6eedd --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_Clob_2.java @@ -0,0 +1,103 @@ +package com.alibaba.druid.bvt.filter; + +import java.sql.Clob; +import java.sql.SQLException; +import java.util.Collections; + +import junit.framework.TestCase; + +import org.junit.Assert; + +import com.alibaba.druid.filter.FilterChainImpl; +import com.alibaba.druid.mock.MockCallableStatement; +import com.alibaba.druid.mock.MockClob; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; +import com.alibaba.druid.proxy.jdbc.CallableStatementProxyImpl; +import com.alibaba.druid.proxy.jdbc.ClobProxy; +import com.alibaba.druid.util.JdbcUtils; + +public class FilterChainTest_Clob_2 extends TestCase { + + private DruidDataSource dataSource; + private CallableStatementProxy statement; + + private int invokeCount = 0; + + protected void setUp() throws Exception { + dataSource = new DruidDataSource(); + + MockCallableStatement mockStmt = new MockCallableStatement(null, "") { + + @Override + public Object getObject(int parameterIndex) throws SQLException { + invokeCount++; + return new MockClob(); + } + }; + + statement = new CallableStatementProxyImpl(null, mockStmt, "", 1); + + } + + protected void tearDown() throws Exception { + JdbcUtils.close(dataSource); + + invokeCount = 0; + } + + public void test_getClob() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = chain.callableStatement_getClob(statement, 1); + + Assert.assertTrue(clob instanceof ClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getClob_1() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = chain.callableStatement_getClob(statement, "1"); + + Assert.assertTrue(clob instanceof ClobProxy); + Assert.assertEquals(1, invokeCount); + } + + + public void test_getObject() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, 1); + + Assert.assertTrue(clob instanceof ClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getObject_1() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, "1"); + + Assert.assertTrue(clob instanceof ClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getObject_2() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, 1, Collections.>emptyMap()); + + Assert.assertTrue(clob instanceof ClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getObject_3() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, "1", Collections.>emptyMap()); + + Assert.assertTrue(clob instanceof ClobProxy); + Assert.assertEquals(1, invokeCount); + } +} diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java new file mode 100644 index 0000000000..bbcedb06bb --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java @@ -0,0 +1,104 @@ +package com.alibaba.druid.bvt.filter; + +import java.sql.Clob; +import java.sql.SQLException; +import java.util.Collections; + +import junit.framework.TestCase; + +import org.junit.Assert; + +import com.alibaba.druid.filter.FilterChainImpl; +import com.alibaba.druid.mock.MockCallableStatement; +import com.alibaba.druid.mock.MockNClob; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; +import com.alibaba.druid.proxy.jdbc.CallableStatementProxyImpl; +import com.alibaba.druid.proxy.jdbc.ClobProxy; +import com.alibaba.druid.proxy.jdbc.NClobProxy; +import com.alibaba.druid.util.JdbcUtils; + +public class FilterChainTest_NClob_2 extends TestCase { + + private DruidDataSource dataSource; + private CallableStatementProxy statement; + + private int invokeCount = 0; + + protected void setUp() throws Exception { + dataSource = new DruidDataSource(); + + MockCallableStatement mockStmt = new MockCallableStatement(null, "") { + + @Override + public Object getObject(int parameterIndex) throws SQLException { + invokeCount++; + return new MockNClob(); + } + }; + + statement = new CallableStatementProxyImpl(null, mockStmt, "", 1); + + } + + protected void tearDown() throws Exception { + JdbcUtils.close(dataSource); + + invokeCount = 0; + } + + public void test_getClob() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = chain.callableStatement_getClob(statement, 1); + + Assert.assertTrue(clob instanceof NClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getClob_1() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = chain.callableStatement_getClob(statement, "1"); + + Assert.assertTrue(clob instanceof NClobProxy); + Assert.assertEquals(1, invokeCount); + } + + + public void test_getObject() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, 1); + + Assert.assertTrue(clob instanceof NClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getObject_1() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, "1"); + + Assert.assertTrue(clob instanceof NClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getObject_2() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, 1, Collections.>emptyMap()); + + Assert.assertTrue(clob instanceof NClobProxy); + Assert.assertEquals(1, invokeCount); + } + + public void test_getObject_3() throws Exception { + FilterChainImpl chain = new FilterChainImpl(dataSource); + + Clob clob = (Clob) chain.callableStatement_getObject(statement, "1", Collections.>emptyMap()); + + Assert.assertTrue(clob instanceof NClobProxy); + Assert.assertEquals(1, invokeCount); + } +}