You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2013/10/31 11:45:00 UTC

svn commit: r1537434 - /commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java

Author: markt
Date: Thu Oct 31 10:44:59 2013
New Revision: 1537434

URL: http://svn.apache.org/r1537434
Log:
Improve code coverage of proxy tests for ObjectPool

Modified:
    commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java

Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java?rev=1537434&r1=1537433&r2=1537434&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java (original)
+++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java Thu Oct 31 10:44:59 2013
@@ -99,6 +99,23 @@ public abstract class BaseTestProxiedObj
     }
 
 
+    @Test(expected=IllegalStateException.class)
+    public void testAccessAfterInvalidate() throws Exception {
+        TestObject obj = pool.borrowObject();
+        assertNotNull(obj);
+
+        // Make sure proxied methods are working
+        obj.setData(DATA1);
+        assertEquals(DATA1, obj.getData());
+
+        pool.invalidateObject(obj);
+
+        assertNotNull(obj);
+
+        obj.getData();
+    }
+
+
     @Test
     public void testUsageTracking() throws Exception {
         TestObject obj = pool.borrowObject();
@@ -119,6 +136,30 @@ public abstract class BaseTestProxiedObj
         assertTrue(logOutput.contains("The last code to use this object was"));
     }
 
+
+    @Test
+    public void testPassThroughMethods01() throws Exception {
+        assertEquals(0, pool.getNumActive());
+        assertEquals(0, pool.getNumIdle());
+
+        pool.addObject();
+
+        assertEquals(0, pool.getNumActive());
+        assertEquals(1, pool.getNumIdle());
+
+        pool.clear();
+
+        assertEquals(0, pool.getNumActive());
+        assertEquals(0, pool.getNumIdle());
+    }
+
+
+    @Test(expected=IllegalStateException.class)
+    public void testPassThroughMethods02() throws Exception {
+        pool.close();
+        pool.addObject();
+    }
+
     private static class TestObjectFactory extends
             BasePooledObjectFactory<TestObject> {