Etiket arşivi: HSQDB

HSQLDB ve JUnit Entegrasyonu

Oluşturduğum entegrasyon JUnit testlerinde, testler öncesi verilerin bilgibankasına aktarılması gerekiyor. Aşağıda yer aldığı şekilde JUnit sınıfı bünyesinde HSQLDB serveri standalone modda çalıştırılabilir ve DBUnit ile veriler bilgibankasına eklenebilir.

[source language=’java’]

// JDBC Driver
public static final String DRIVERCLASS = “org.hsqldb.jdbcDriver”;
// standalone mode
public static final String CONNECTIONURL = “jdbc:hsqldb:hsql://localhost:9006/mydb”;

public static final String USERNAME = “sa”;
public static final String PASSWORD = “”;

private void startHsqlDb()
{

if(!isHsqlDbStarted())
{
Server hsqlServer = new Server();
hsqlServer.setAddress(“localhost”);
hsqlServer.setPort(9006);
hsqlServer.setDatabasePath(0, “db/hsqldb-data/”);
hsqlServer.setDatabaseName(0, “mydb”);
hsqlServer.start();
}
}

private boolean isHsqlDbStarted()
{
boolean result = false;
try
{
Class.forName(DRIVERCLASS);
Connection con = DriverManager.getConnection(CONNECTIONURL, USERNAME, PASSWORD);
con.close();
result = true;
}
catch (Exception e)
{
e.printStackTrace();
}
return result;
}

private static void stopHsqlDb()
{
try
{
Class.forName(DRIVERCLASS);
Connection con = DriverManager.getConnection(CONNECTIONURL, USERNAME, PASSWORD);
Statement statement = con.createStatement();
statement.execute(“SHUTDOWN”);
statement.close();
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
[/source]