package org.postgresql.test.jdbc2; import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; /** * $Id: DriverTest.java,v 1.2 2001/09/23 04:11:14 momjian Exp $ * * Tests the dynamically created class org.postgresql.Driver * */ public class DriverTest extends TestCase { public DriverTest(String name) { super(name); } /** * This tests the acceptsURL() method with a couple of good and badly formed * jdbc urls */ public void testAcceptsURL() { try { // Load the driver (note clients should never do it this way!) org.postgresql.Driver drv = new org.postgresql.Driver(); assertNotNull(drv); // These are always correct assertTrue(drv.acceptsURL("jdbc:postgresql:test")); assertTrue(drv.acceptsURL("jdbc:postgresql://localhost/test")); assertTrue(drv.acceptsURL("jdbc:postgresql://localhost:5432/test")); assertTrue(drv.acceptsURL("jdbc:postgresql://127.0.0.1/anydbname")); assertTrue(drv.acceptsURL("jdbc:postgresql://127.0.0.1:5433/hidden")); // Badly formatted url's assertTrue(!drv.acceptsURL("jdbc:postgres:test")); assertTrue(!drv.acceptsURL("postgresql:test")); } catch(SQLException ex) { fail(ex.getMessage()); } } /** * Tests parseURL (internal) */ /** * Tests the connect method by connecting to the test database */ public void testConnect() { Connection con=null; try { Class.forName("org.postgresql.Driver"); // Test with the url, username & password con = DriverManager.getConnection(JDBC2Tests.getURL(),JDBC2Tests.getUser(),JDBC2Tests.getPassword()); assertNotNull(con); con.close(); // Test with the username in the url con = DriverManager.getConnection(JDBC2Tests.getURL()+"?user="+JDBC2Tests.getUser()+"&password="+JDBC2Tests.getPassword()); assertNotNull(con); con.close(); } catch(ClassNotFoundException ex) { fail(ex.getMessage()); } catch(SQLException ex) { fail(ex.getMessage()); } } }