enhance management

This commit is contained in:
wenshao
2011-12-08 09:58:32 +08:00
parent e27532ce32
commit a92d21cfab
12 changed files with 178 additions and 155 deletions
@@ -0,0 +1,15 @@
package com.alibaba.druid;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
public class Bug_for_alibank extends TestCase {
public void test_bug() throws Exception {
String jsonStrz = "{addContact:[{\"address\":\"=\\\\\\\\\\\'\'\\");|]*{%0d%0a<%00\"}]}";
System.out.println(jsonStrz);
Object o = JSON.parseObject(jsonStrz.replaceAll("\\\\", ""));
System.out.println(JSON.toJSONString(o));
}
}
@@ -0,0 +1,47 @@
package com.alibaba.druid.bvt.pool;
import java.sql.Connection;
import java.sql.PreparedStatement;
import junit.framework.TestCase;
import com.alibaba.druid.mock.MockConnection;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.stat.DruidDataSourceStatManager;
public class Bug_for_dupCloseStmtError extends TestCase {
protected DruidDataSource dataSource;
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mock:");
dataSource.setPoolPreparedStatements(false);
}
protected void tearDown() throws Exception {
dataSource.close();
for (DruidDataSource dataSource : DruidDataSourceStatManager.getDruidDataSourceInstances()) {
dataSource.close();
}
}
public void test_0() throws Exception {
{
Connection conn = dataSource.getConnection();
PreparedStatement stmt = conn.prepareStatement("select 1");
stmt.setString(1, "xx");
MockConnection mockConn = conn.unwrap(MockConnection.class);
mockConn.close();
conn.close();
stmt.close();
}
{
Connection conn = dataSource.getConnection();
PreparedStatement stmt = conn.prepareStatement("select 1");
stmt.close();
conn.close();
}
}
}
@@ -44,7 +44,15 @@ public class TestConcurrent extends TestCase {
protected void tearDown() throws Exception {
dataSource.close();
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
int size = DruidDataSourceStatManager.getInstance().getDataSourceList().size();
if (size > 0) {
for (DruidDataSource dataSource : DruidDataSourceStatManager.getDruidDataSourceInstances()) {
dataSource.close();
System.out.println("unclosed datasource : " + dataSource.getObjectName());
}
Assert.fail("size : " + size);
}
}
public void test_0() throws Exception {
@@ -42,7 +42,7 @@ public class TestDataSourceBasic2 extends TestCase {
Assert.assertEquals(1, dataSource.getConnectionInitSqls().size());
Assert.assertEquals(30 * 1000, dataSource.getTimeBetweenConnectErrorMillis());
Assert.assertEquals(-1, dataSource.getMaxOpenPreparedStatements());
Assert.assertEquals(234, dataSource.getMaxOpenPreparedStatements());
Assert.assertEquals(300, dataSource.getRemoveAbandonedTimeout());
dataSource.setRemoveAbandonedTimeout(400);
Assert.assertEquals(400, dataSource.getRemoveAbandonedTimeout());
@@ -11,6 +11,7 @@ import com.alibaba.druid.mock.MockStatement;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.ha.HADataSource;
import com.alibaba.druid.pool.ha.MultiDataSourceStatement;
import com.alibaba.druid.stat.DruidDataSourceStatManager;
public class HADataSourceTest extends TestCase {
@@ -20,6 +21,8 @@ public class HADataSourceTest extends TestCase {
private HADataSource dataSourceHA;
protected void setUp() throws Exception {
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
dataSourceA = new DruidDataSource();
dataSourceA.setUrl("jdbc:mock:x1");
dataSourceA.setFilters("trace");
@@ -35,6 +38,12 @@ public class HADataSourceTest extends TestCase {
protected void tearDown() throws Exception {
dataSourceHA.close();
for (DruidDataSource dataSource : DruidDataSourceStatManager.getDruidDataSourceInstances()) {
dataSource.close();
}
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
}
public void test_createStatement_0() throws Exception {