X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FExternalDatabaseTest.java;fp=test%2Fenterprise%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FExternalDatabaseTest.java;h=dbe5800b9673bb4b7347e66a1f93b374e4d8afd3;hb=2207a1e695ce23e79678c232cff2ceb84ebaa801;hp=0000000000000000000000000000000000000000;hpb=4985b85f86028eb896ac853134cb66a1299815a5;p=utils diff --git a/test/enterprise/src/test/java/org/wamblee/support/persistence/ExternalDatabaseTest.java b/test/enterprise/src/test/java/org/wamblee/support/persistence/ExternalDatabaseTest.java new file mode 100644 index 00000000..dbe5800b --- /dev/null +++ b/test/enterprise/src/test/java/org/wamblee/support/persistence/ExternalDatabaseTest.java @@ -0,0 +1,53 @@ +package org.wamblee.support.persistence; + +import java.sql.Connection; + +import javax.sql.DataSource; + +import org.junit.Test; +import org.wamblee.support.persistence.Database; +import org.wamblee.support.persistence.DatabaseBuilder; +import org.wamblee.support.persistence.DatabaseProvider; +import org.wamblee.support.persistence.ExternalDatabase; + +import static junit.framework.TestCase.*; + +public class ExternalDatabaseTest { + + @Test + public void testExternalDB() throws Exception { + // Connect to inmemory db using External database class. + + Database inmemory = DatabaseBuilder + .getDatabase(DatabaseProvider.CAPABILITY_IN_MEMORY); + try { + inmemory.start(); + + System.setProperty(ExternalDatabase.DB_URL_PROP, inmemory + .getExternalJdbcUrl()); + System.setProperty(ExternalDatabase.DB_USER_PROP, inmemory + .getUsername()); + System.setProperty(ExternalDatabase.DB_PASSWORD_PROP, inmemory + .getPassword()); + + Database external = DatabaseBuilder + .getDatabase(DatabaseProvider.CAPABILITY_EXTERNAL); + assertTrue(external instanceof ExternalDatabase); + try { + DataSource ds = external.start(); + Connection conn = ds.getConnection(); + try { + System.out.println("Database name: " + + conn.getMetaData().getDatabaseProductName()); + } finally { + conn.close(); + } + } finally { + external.stop(); + } + } finally { + inmemory.stop(); + } + + } +}