Skip to content

Commit

Permalink
JDBC-201 : Make SimpleFBTestBase a helper class that can be used by b…
Browse files Browse the repository at this point in the history
…oth JUnit 3 and JUnit 4 tests
  • Loading branch information
mrotteveel committed Aug 6, 2012
1 parent 5b74070 commit 2470f11
Show file tree
Hide file tree
Showing 18 changed files with 70 additions and 43 deletions.
6 changes: 5 additions & 1 deletion src/test/org/firebirdsql/common/FBTestBase.java
Expand Up @@ -24,6 +24,8 @@
import javax.resource.spi.ConnectionManager;
import javax.sql.PooledConnection;

import junit.framework.TestCase;

import org.firebirdsql.gds.GDSException;
import org.firebirdsql.gds.ISCConstants;
import org.firebirdsql.gds.impl.GDSHelper;
Expand All @@ -41,11 +43,13 @@
import org.firebirdsql.pool.FBPooledDataSourceFactory;
import org.firebirdsql.pool.FBWrappingDataSource;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Base class for test cases which could be run against more then a single GDS
* implementation.
*/
public abstract class FBTestBase extends SimpleFBTestBase {
public abstract class FBTestBase extends TestCase {

protected final Logger log = LoggerFactory.getLogger(getClass(), true);

Expand Down
57 changes: 24 additions & 33 deletions src/test/org/firebirdsql/common/SimpleFBTestBase.java
Expand Up @@ -22,13 +22,11 @@
import java.util.MissingResourceException;
import java.util.ResourceBundle;

import junit.framework.TestCase;

/**
* Base class for test cases which can be run against only a single GDS
* implementation.
*/
public abstract class SimpleFBTestBase extends TestCase {
public final class SimpleFBTestBase {
private static ResourceBundle testDefaults = ResourceBundle.getBundle("unit_test_defaults");

public static String getProperty(String property) {
Expand All @@ -37,8 +35,7 @@ public static String getProperty(String property) {

public static String getProperty(String property, String defaultValue) {
try {
return System.getProperty(property, testDefaults
.getString(property));
return System.getProperty(property, testDefaults.getString(property));
} catch (MissingResourceException ex) {
return System.getProperty(property, defaultValue);
}
Expand All @@ -47,20 +44,24 @@ public static String getProperty(String property, String defaultValue) {
/**
* Default name of database file to use for the test case.
*/
protected static final String DB_NAME = "fbtest.fdb";
public static final String DB_NAME = "fbtest.fdb";

protected final String DB_USER = getProperty("test.user", "sysdba");
protected final String DB_PASSWORD = getProperty("test.password", "masterkey");
public static final String DB_USER = getProperty("test.user", "sysdba");
public static final String DB_PASSWORD = getProperty("test.password", "masterkey");

protected static final String DB_PATH = getProperty("test.db.dir", "");
protected static final String DB_SERVER_URL = getProperty("test.db.host", "localhost");
protected static final int DB_SERVER_PORT = Integer.parseInt(getProperty("test.db.port", "3050"));
public static final String DB_PATH = getProperty("test.db.dir", "");
public static final String DB_SERVER_URL = getProperty("test.db.host", "localhost");
public static final int DB_SERVER_PORT = Integer.parseInt(getProperty("test.db.port", "3050"));

protected String getDatabasePath() {
public static String getDatabasePath() {
return getDatabasePath(DB_NAME);
}

public static String getDatabasePath(String name) {
if (!"127.0.0.1".equals(DB_SERVER_URL) && !"localhost".equals(DB_SERVER_URL))
return DB_PATH + "/" + DB_NAME;
return DB_PATH + "/" + name;
else
return new File(DB_PATH + "/" + DB_NAME).getAbsolutePath();
return new File(DB_PATH, name).getAbsolutePath();
}


Expand All @@ -71,25 +72,15 @@ protected String getDatabasePath() {
* @param name
* @return
*/
protected String getdbpath(String name) {
if ("EMBEDDED".equalsIgnoreCase(getProperty("test.gds_type", null)))
return new File(DB_PATH + "/" + name).getAbsolutePath();
else if ("LOCAL".equalsIgnoreCase(getProperty("test.gds_type", null)))
return new File(DB_PATH + "/" + name).getAbsolutePath();
else {
if (!"127.0.0.1".equals(DB_SERVER_URL) && !"localhost".equals(DB_SERVER_URL))
return DB_SERVER_URL + "/" + DB_SERVER_PORT + ":" + DB_PATH + "/" + name;
else
return DB_SERVER_URL + "/" + DB_SERVER_PORT + ":" +
(new File(DB_PATH + "/" + name).getAbsolutePath());
}
}
public static String getdbpath(String name) {
final String gdsType = getProperty("test.gds_type", null);
if ("EMBEDDED".equalsIgnoreCase(gdsType) || "LOCAL".equalsIgnoreCase(gdsType)) {
return new File(DB_PATH, name).getAbsolutePath();
} else {
return DB_SERVER_URL + "/" + DB_SERVER_PORT + ":" + getDatabasePath(name);
}
}

/**
*
* @param s
*/
protected SimpleFBTestBase(String s) {
super(s);
private SimpleFBTestBase() {
}
}
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/ds/FBConnectionPoolTestBase.java
Expand Up @@ -31,6 +31,8 @@
import org.firebirdsql.common.SimpleFBTestBase;
import org.firebirdsql.gds.impl.GDSType;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Common testbase for tests using {@link FBConnectionPoolDataSource}
* @author <a href="mailto:mrotteveel@users.sourceforge.net">Mark Rotteveel</a>
Expand Down
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/ds/TestFBXADataSource.java
Expand Up @@ -39,6 +39,8 @@
import org.firebirdsql.jca.TestXABase.XidImpl;
import org.firebirdsql.jdbc.FBSQLException;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Test for XADataSource. Note behavior of XAResource (ManagedConnection) is tested in {@link org.firebirdsql.jca.TestFBXAResource}.
*
Expand Down
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/event/TestFBEventManager.java
Expand Up @@ -6,6 +6,8 @@
import org.firebirdsql.common.FBTestBase;
import org.firebirdsql.gds.impl.GDSType;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Test the FBEventManager class
*/
Expand Down
5 changes: 3 additions & 2 deletions src/test/org/firebirdsql/gds/TestReconnectTransaction.java
Expand Up @@ -10,6 +10,7 @@
import org.firebirdsql.jdbc.field.FBField;
import org.firebirdsql.jdbc.field.FieldDataProvider;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
*
Expand Down Expand Up @@ -43,8 +44,8 @@ protected void setUp() throws Exception {
gds = GDSFactory.getGDSForType(getGdsType());

dpb = gds.createDatabaseParameterBuffer();
dpb.addArgument(DatabaseParameterBuffer.USER, this.DB_USER);
dpb.addArgument(DatabaseParameterBuffer.PASSWORD, this.DB_PASSWORD);
dpb.addArgument(DatabaseParameterBuffer.USER, DB_USER);
dpb.addArgument(DatabaseParameterBuffer.PASSWORD, DB_PASSWORD);

tpb = new FBTpb(FBTpbMapper.getDefaultMapper(gds).getDefaultMapping());
}
Expand Down
7 changes: 5 additions & 2 deletions src/test/org/firebirdsql/gds/impl/jni/TestNgds.java
Expand Up @@ -22,7 +22,8 @@

import java.util.Arrays;

import org.firebirdsql.common.SimpleFBTestBase;
import junit.framework.TestCase;

import org.firebirdsql.gds.BlobParameterBuffer;
import org.firebirdsql.gds.DatabaseParameterBuffer;
import org.firebirdsql.gds.GDS;
Expand All @@ -37,10 +38,12 @@
import org.firebirdsql.logging.Logger;
import org.firebirdsql.logging.LoggerFactory;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Performs basic low level tests of the ngds package.
*/
public class TestNgds extends SimpleFBTestBase {
public class TestNgds extends TestCase {

private Logger log = LoggerFactory.getLogger(getClass(), false);

Expand Down
Expand Up @@ -24,7 +24,8 @@
import java.util.Arrays;
import java.util.List;

import org.firebirdsql.common.SimpleFBTestBase;
import junit.framework.TestCase;

import org.firebirdsql.gds.BlobParameterBuffer;
import org.firebirdsql.gds.DatabaseParameterBuffer;
import org.firebirdsql.gds.GDS;
Expand All @@ -43,6 +44,8 @@
import org.firebirdsql.logging.Logger;
import org.firebirdsql.logging.LoggerFactory;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Performs test to reproduce bug found in blob reading done by type 2 driver.
*
Expand All @@ -51,7 +54,7 @@
* If a blob greater then 65536 bytes in length is written to a database using
* jaybird in type 4 mode it will not be possible to read it in type 2 mode.
*/
public class TestNgdsBlobReadBug extends SimpleFBTestBase {
public class TestNgdsBlobReadBug extends TestCase {

private Logger log = LoggerFactory.getLogger(getClass(), false);

Expand Down
7 changes: 5 additions & 2 deletions src/test/org/firebirdsql/gds/impl/wire/TestGds.java
Expand Up @@ -21,6 +21,8 @@

import java.util.Arrays;

import junit.framework.TestCase;

import org.firebirdsql.logging.Logger;
import org.firebirdsql.logging.LoggerFactory;
import org.firebirdsql.gds.*;
Expand All @@ -29,14 +31,15 @@
import org.firebirdsql.gds.impl.wire.isc_db_handle_impl;
import org.firebirdsql.gds.impl.wire.isc_stmt_handle_impl;
import org.firebirdsql.jca.FBTpb;
import org.firebirdsql.common.SimpleFBTestBase;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* @author <a href="mailto:alberola@users.sourceforge.net">Alejandro
* Alberola</a>
* @author <a href="mailto:d_jencks@users.sourceforge.net">David Jencks</a>
*/
public class TestGds extends SimpleFBTestBase {
public class TestGds extends TestCase {

private Logger log = LoggerFactory.getLogger(getClass(), true);

Expand Down
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/jca/TestFBDatabaseMetaData.java
Expand Up @@ -30,6 +30,8 @@

import org.firebirdsql.jdbc.*;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Describe class <code>TestFBDatabaseMetaData</code> here.
*
Expand Down
3 changes: 2 additions & 1 deletion src/test/org/firebirdsql/jca/TestXABase.java
Expand Up @@ -18,7 +18,6 @@
*/
package org.firebirdsql.jca;


import java.io.Serializable;
import java.net.InetAddress;
import java.net.UnknownHostException;
Expand All @@ -27,6 +26,8 @@

import org.firebirdsql.common.FBTestBase;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* THIS FILE INCLUDES AN XID IMPLEMENTATION FROM THE JBOSS PROJECT
* www.jboss.org.
Expand Down
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/jdbc/TestFBWrappingDataSource.java
Expand Up @@ -33,6 +33,8 @@
import org.firebirdsql.common.FBTestBase;
import org.firebirdsql.gds.impl.GDSType;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Describe class <code>TestFBWrappingDataSource</code> here.
*
Expand Down
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/management/TestBackupManager.java
Expand Up @@ -12,6 +12,8 @@
import org.firebirdsql.gds.impl.GDSType;
import org.firebirdsql.jdbc.FBConnection;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* TODO: This test assumes it is run against localhost
*/
Expand Down
Expand Up @@ -18,6 +18,8 @@
import org.firebirdsql.gds.TransactionParameterBuffer;
import org.firebirdsql.gds.impl.GDSType;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Test the FBMaintenanceManager class
*/
Expand Down
1 change: 1 addition & 0 deletions src/test/org/firebirdsql/management/TestFBManager.java
Expand Up @@ -24,6 +24,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Describe class <code>TestFBManager</code> here.
Expand Down
Expand Up @@ -10,6 +10,8 @@
import org.firebirdsql.common.FBTestBase;
import org.firebirdsql.gds.impl.GDSType;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Test the FBStatisticsManager class
*/
Expand Down
2 changes: 2 additions & 0 deletions src/test/org/firebirdsql/management/TestUserManager.java
Expand Up @@ -24,6 +24,8 @@

import org.firebirdsql.common.FBTestBase;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Tests the UserManager class which uses the Services API to display, add,
* delete, and modify users.
Expand Down
Expand Up @@ -44,6 +44,8 @@
import org.firebirdsql.jdbc.FirebirdConnection;
import org.firebirdsql.jdbc.FirebirdPreparedStatement;

import static org.firebirdsql.common.SimpleFBTestBase.*;

/**
* Test suite for JDBC connection pool.
*
Expand Down

0 comments on commit 2470f11

Please sign in to comment.