You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2003/08/12 01:34:52 UTC
cvs commit: jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/jdbc2pool TestJdbc2PoolDataSource.java
dirkv 2003/08/11 16:34:52
Modified: dbcp/src/test/org/apache/commons/dbcp/jdbc2pool
TestJdbc2PoolDataSource.java
Log:
Bugzilla Bug 1892: Per User methods not working in Jdbc2PoolDataSource
- add junit test to make sure everything is ok
Revision Changes Path
1.9 +54 -4 jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/jdbc2pool/TestJdbc2PoolDataSource.java
Index: TestJdbc2PoolDataSource.java
===================================================================
RCS file: /home/cvs/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/jdbc2pool/TestJdbc2PoolDataSource.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- TestJdbc2PoolDataSource.java 2 Jun 2003 04:54:12 -0000 1.8
+++ TestJdbc2PoolDataSource.java 11 Aug 2003 23:34:52 -0000 1.9
@@ -76,6 +76,7 @@
/**
* @author John McNally
+ * @author Dirk Verbeeck
* @version $Revision$ $Date$
*/
public class TestJdbc2PoolDataSource extends TestConnectionPool {
@@ -333,6 +334,55 @@
{
c[i].close();
}
+ }
+
+ public void testPerUserMethods() throws Exception {
+ Jdbc2PoolDataSource tds = (Jdbc2PoolDataSource) ds;
+
+ // you need to set maxActive otherwise there is no accounting
+ tds.setPerUserMaxActive("u1", new Integer(5));
+ tds.setPerUserMaxActive("u2", new Integer(5));
+
+ assertEquals(0, tds.getNumActive());
+ assertEquals(0, tds.getNumActive("u1", "p1"));
+ assertEquals(0, tds.getNumActive("u2", "p2"));
+ assertEquals(0, tds.getNumIdle());
+ assertEquals(0, tds.getNumIdle("u1", "p1"));
+ assertEquals(0, tds.getNumIdle("u2", "p2"));
+
+ Connection conn = tds.getConnection();
+ assertNotNull(conn);
+ assertEquals(1, tds.getNumActive());
+ assertEquals(0, tds.getNumActive("u1", "p1"));
+ assertEquals(0, tds.getNumActive("u2", "p2"));
+ assertEquals(0, tds.getNumIdle());
+ assertEquals(0, tds.getNumIdle("u1", "p1"));
+ assertEquals(0, tds.getNumIdle("u2", "p2"));
+
+ conn.close();
+ assertEquals(0, tds.getNumActive());
+ assertEquals(0, tds.getNumActive("u1", "p1"));
+ assertEquals(0, tds.getNumActive("u2", "p2"));
+ assertEquals(1, tds.getNumIdle());
+ assertEquals(0, tds.getNumIdle("u1", "p1"));
+ assertEquals(0, tds.getNumIdle("u2", "p2"));
+
+ conn = tds.getConnection("u1", "p1");
+ assertNotNull(conn);
+ assertEquals(0, tds.getNumActive());
+ assertEquals(1, tds.getNumActive("u1", "p1"));
+ assertEquals(0, tds.getNumActive("u2", "p2"));
+ assertEquals(1, tds.getNumIdle());
+ assertEquals(0, tds.getNumIdle("u1", "p1"));
+ assertEquals(0, tds.getNumIdle("u2", "p2"));
+
+ conn.close();
+ assertEquals(0, tds.getNumActive());
+ assertEquals(0, tds.getNumActive("u1", "p1"));
+ assertEquals(0, tds.getNumActive("u2", "p2"));
+ assertEquals(1, tds.getNumIdle());
+ assertEquals(1, tds.getNumIdle("u1", "p1"));
+ assertEquals(0, tds.getNumIdle("u2", "p2"));
}
public void testMultipleThreads() throws Exception {