dirkv       2004/05/01 05:54:32

  Modified:    dbcp/src/test/org/apache/commons/dbcp
                        TestBasicDataSource.java
  Log:
  Bugzilla Bug 28251:   Returning dead database connections to BasicDataSource
  - JUnit test
  
  Revision  Changes    Path
  1.18      +23 -1     
jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TestBasicDataSource.java
  
  Index: TestBasicDataSource.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TestBasicDataSource.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- TestBasicDataSource.java  28 Feb 2004 11:47:51 -0000      1.17
  +++ TestBasicDataSource.java  1 May 2004 12:54:32 -0000       1.18
  @@ -16,6 +16,7 @@
   
   package org.apache.commons.dbcp;
   
  +import java.io.IOException;
   import java.sql.Connection;
   import java.sql.SQLException;
   
  @@ -225,5 +226,26 @@
   
           assertEquals(0, ds.getNumActive());
           assertEquals(10, ds.getNumIdle());
  +    }
  +
  +    // Bugzilla Bug 28251:  Returning dead database connections to BasicDataSource
  +    // isClosed() failure blocks returning a connection to the pool 
  +    public void testIsClosedFailure() throws SQLException {
  +        ds.setAccessToUnderlyingConnectionAllowed(true);
  +        Connection conn = ds.getConnection();
  +        assertNotNull(conn);
  +        assertEquals(1, ds.getNumActive());
  +        
  +        // set an IO failure causing the isClosed mathod to fail
  +        TesterConnection tconn = (TesterConnection) 
((DelegatingConnection)conn).getInnermostDelegate();
  +        tconn.setFailure(new IOException("network error"));
  +        
  +        try {
  +            conn.close();
  +            fail("Expected SQLException");
  +        }
  +        catch(SQLException ex) { }
  +        
  +        assertEquals(0, ds.getNumActive());
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to