svn commit: r1533 - logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db

Author: ceki Date: Tue May 22 19:57:44 2007 New Revision: 1533 Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderTestBase.java Log: have tests go into a memory only dababase Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderTestBase.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderTestBase.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/db/DBAppenderTestBase.java Tue May 22 19:57:44 2007 @@ -1,23 +1,28 @@ package ch.qos.logback.classic.db; +import java.io.PrintWriter; import java.sql.Connection; -import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; +import java.util.Properties; import junit.framework.TestCase; import org.hsqldb.Server; +import org.hsqldb.ServerConstants; +import org.hsqldb.jdbcDriver; public abstract class DBAppenderTestBase extends TestCase { public static final String DRIVER_CLASS = "org.hsqldb.jdbcDriver"; - String serverProps; - String url; + // String serverProps; + String url = null; String user = "sa"; String password = ""; Server server; - boolean isNetwork = true; + + // boolean isNetwork = true; + HsqlMode mode = HsqlMode.MEM; public DBAppenderTestBase(String name) { super(name); @@ -25,53 +30,71 @@ protected void setUp() throws SQLException { - if (isNetwork) { - if (url == null) { - url = "jdbc:hsqldb:hsql://localhost/test"; - } - + switch (mode) { + case NET: + url = "jdbc:hsqldb:hsql://localhost:4808/test"; + break; + case MEM: + url = "jdbc:hsqldb:mem:test;sql.enforce_strict_size=true"; server = new Server(); - server.setDatabaseName(0, "test"); - server.setDatabasePath(0, "mem:test;sql.enforce_strict_size=true"); - server.setLogWriter(null); - server.setErrWriter(null); + server.setDatabasePath(0, url); + server.setLogWriter(new PrintWriter(System.out)); + server.setErrWriter(new PrintWriter(System.out)); server.setTrace(false); - server.setSilent(true); + server.setSilent(false); server.start(); - } else { - if (url == null) { - url = "jdbc:hsqldb:file:test;sql.enforce_strict_size=true"; - } + + break; + case FILE: + url = "jdbc:hsqldb:file:test;sql.enforce_strict_size=true"; + break; + } - try { - Class.forName(DRIVER_CLASS); - } catch (Exception e) { - e.printStackTrace(); - System.out.println(this + ".setUp() error: " + e.getMessage()); + // try { + // Class.forName(DRIVER_CLASS); + // } catch (Exception e) { + // e.printStackTrace(); + // System.out.println(this + ".setUp() error: " + e.getMessage()); + // } + // Thread.yield(); + System.out.println(server.getState()); + + int waitCount = 0; + while (server.getState() != ServerConstants.SERVER_STATE_ONLINE + && waitCount < 5) { + try { + waitCount++; + Thread.sleep(1); + } catch (InterruptedException e) { + } } - Thread.yield(); - createTables(); } protected void tearDown() throws SQLException { dropTables(); - - if (isNetwork) { - server.stop(); + if (mode == HsqlMode.MEM) { + server.stop(); server = null; } } Connection newConnection() throws SQLException { - return DriverManager.getConnection(url, user, password); + jdbcDriver driver = new jdbcDriver(); + Properties props = new Properties(); + props.setProperty("user", user); + props.setProperty("password", password); + return driver.connect(url, props); + + // return DriverManager.getConnection(url, user, password); } void createTables() throws SQLException { Connection conn = newConnection(); + assertNotNull(conn); StringBuffer buf = new StringBuffer(); buf.append("CREATE TABLE logging_event ("); buf.append("timestmp BIGINT NOT NULL,"); @@ -105,17 +128,17 @@ buf.append("FOREIGN KEY (event_id) REFERENCES logging_event(event_id));"); query(conn, buf.toString()); } - + void dropTables() throws SQLException { Connection conn = newConnection(); StringBuffer buf = new StringBuffer(); buf.append("DROP TABLE logging_event_exception IF EXISTS;"); query(conn, buf.toString()); - + buf = new StringBuffer(); buf.append("DROP TABLE logging_event_property IF EXISTS;"); query(conn, buf.toString()); - + buf = new StringBuffer(); buf.append("DROP TABLE logging_event IF EXISTS;"); query(conn, buf.toString()); @@ -124,15 +147,15 @@ void query(Connection conn, String expression) throws SQLException { Statement st = null; - st = conn.createStatement(); - int i = st.executeUpdate(expression); - if (i == -1) { System.out.println("db error : " + expression); } - st.close(); } + + public enum HsqlMode { + MEM, FILE, NET; + } }
participants (1)
-
noreply.ceki@qos.ch