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/09/14 02:19:43 UTC

cvs commit: jakarta-commons/dbcp/src/test/org/apache/commons/dbcp TestBasicDataSource.java TesterStatement.java

dirkv       2003/09/13 17:19:43

  Modified:    dbcp/src/test/org/apache/commons/dbcp
                        TestBasicDataSource.java TesterStatement.java
  Log:
  Bugzilla Bug 23081: DBCP - Bad DB Validation Query Hangs Everything
  JUnit tests for:
  - handle empty validationquery
  - improve validationQuery error reporting by testing the connectionFactory upon creation
  
  Revision  Changes    Path
  1.9       +26 -3     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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TestBasicDataSource.java	13 Sep 2003 22:44:32 -0000	1.8
  +++ TestBasicDataSource.java	14 Sep 2003 00:19:43 -0000	1.9
  @@ -192,4 +192,27 @@
           
           assertTrue(dconn instanceof TesterConnection);
       }
  +    
  +    public void testEmptyValidationQuery() throws Exception {
  +        assertNotNull(ds.getValidationQuery());
  +        
  +        ds.setValidationQuery("");
  +        assertNull(ds.getValidationQuery());
  +
  +        ds.setValidationQuery("   ");
  +        assertNull(ds.getValidationQuery());
  +    }
  +
  +    public void testInvalidValidationQuery() {
  +        try {
  +            ds.setValidationQuery("invalid");
  +            ds.getConnection();
  +            fail("expected SQLException");
  +        }
  +        catch (SQLException e) {
  +            if (e.toString().indexOf("invalid") < 0) {
  +                fail("expected detailed error message");
  +            }
  +        }
  +    }
   }
  
  
  
  1.9       +5 -3      jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TesterStatement.java
  
  Index: TesterStatement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TesterStatement.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TesterStatement.java	22 Aug 2003 16:08:32 -0000	1.8
  +++ TesterStatement.java	14 Sep 2003 00:19:43 -0000	1.9
  @@ -89,6 +89,8 @@
           checkOpen();
           if("null".equals(sql)) {
               return null;
  +        } if("invalid".equals(sql)) {
  +            throw new SQLException("invalid query");
           } else {
               return new TesterResultSet(this);
           }