aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/at/ac/tuwien/sepm/assignment
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2018-05-13 23:53:30 +0200
committerTharre <tharre3@gmail.com>2018-05-13 23:57:48 +0200
commit605cbd804d558de5085f4c3889c70fc56c1953c8 (patch)
treefb48510acde2e59e8dab1fc16932c5f748100999 /src/test/java/at/ac/tuwien/sepm/assignment
parentc6f72ff5d177e7ab61015408b64cfa2bf6c8e25c (diff)
downloadsepm-groupproject-605cbd804d558de5085f4c3889c70fc56c1953c8.tar.gz
sepm-groupproject-605cbd804d558de5085f4c3889c70fc56c1953c8.tar.xz
sepm-groupproject-605cbd804d558de5085f4c3889c70fc56c1953c8.zip
Extract dbunit JDBC modifications to JdbcTestCase
Diffstat (limited to 'src/test/java/at/ac/tuwien/sepm/assignment')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeePersistenceTest.java45
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java50
2 files changed, 53 insertions, 42 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeePersistenceTest.java
index 5099976..d4f5646 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeePersistenceTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeePersistenceTest.java
@@ -5,35 +5,21 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.EmployeeDat
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
-import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager;
+import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
import java.io.InputStream;
-import java.sql.Types;
import java.time.LocalDate;
import java.util.Set;
-import org.dbunit.DBTestCase;
-import org.dbunit.PropertiesBasedJdbcDatabaseTester;
-import org.dbunit.database.DatabaseConfig;
import org.dbunit.dataset.DataSetException;
import org.dbunit.dataset.IDataSet;
-import org.dbunit.dataset.datatype.DataType;
-import org.dbunit.dataset.datatype.DataTypeException;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
-import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory;
import org.junit.Assert;
-public class EmployeePersistenceTest extends DBTestCase {
-
- private static final String JDBC_DRIVER = org.h2.Driver.class.getName();
- private static final String JDBC_URL =
- "jdbc:h2:mem:test;INIT=RUNSCRIPT FROM 'classpath:sql/database.sql'";
+public class EmployeePersistenceTest extends JdbcTestCase {
private EmployeeDAO employeePersistence;
public EmployeePersistenceTest() throws PersistenceException {
- employeePersistence = new EmployeeDatabaseDao(new JDBCConnectionManager(JDBC_URL));
-
- System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, JDBC_DRIVER);
- System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, JDBC_URL);
+ employeePersistence = new EmployeeDatabaseDao(jdbcConnectionManager);
}
@Override
@@ -43,31 +29,6 @@ public class EmployeePersistenceTest extends DBTestCase {
return new FlatXmlDataSetBuilder().build(res);
}
- @Override
- protected void setUpDatabaseConfig(DatabaseConfig config) {
- PostgresqlDataTypeFactory factory =
- new PostgresqlDataTypeFactory() {
- @Override
- public boolean isEnumType(String sqlTypeName) {
- if (sqlTypeName.equalsIgnoreCase("enum")) return true;
-
- return super.isEnumType(sqlTypeName);
- }
-
- @Override
- public DataType createDataType(int sqlType, String sqlTypeName)
- throws DataTypeException {
- if (isEnumType(sqlTypeName)) {
- sqlType = Types.VARCHAR;
- }
-
- return super.createDataType(sqlType, sqlTypeName);
- }
- };
-
- config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, factory);
- }
-
public void testListEmployees() throws PersistenceException {
Set<Employee> employees = employeePersistence.list();
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java
new file mode 100644
index 0000000..5390841
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java
@@ -0,0 +1,50 @@
+package at.ac.tuwien.sepm.assignment.groupphase.util;
+
+import java.sql.Types;
+import org.dbunit.DBTestCase;
+import org.dbunit.PropertiesBasedJdbcDatabaseTester;
+import org.dbunit.database.DatabaseConfig;
+import org.dbunit.dataset.datatype.DataType;
+import org.dbunit.dataset.datatype.DataTypeException;
+import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory;
+
+public abstract class JdbcTestCase extends DBTestCase {
+
+ private static final String JDBC_DRIVER = "org.h2.Driver";
+ private static final String JDBC_URL =
+ "jdbc:h2:mem:test;INIT=RUNSCRIPT FROM 'classpath:sql/database.sql'";
+
+ protected final JDBCConnectionManager jdbcConnectionManager;
+
+ protected JdbcTestCase() {
+ System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, JDBC_DRIVER);
+ System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, JDBC_URL);
+
+ jdbcConnectionManager = new JDBCConnectionManager(JDBC_URL);
+ }
+
+ @Override
+ protected void setUpDatabaseConfig(DatabaseConfig config) {
+ PostgresqlDataTypeFactory factory =
+ new PostgresqlDataTypeFactory() {
+ @Override
+ public boolean isEnumType(String sqlTypeName) {
+ if (sqlTypeName.equalsIgnoreCase("enum")) return true;
+
+ return super.isEnumType(sqlTypeName);
+ }
+
+ @Override
+ public DataType createDataType(int sqlType, String sqlTypeName)
+ throws DataTypeException {
+ if (isEnumType(sqlTypeName)) {
+ sqlType = Types.VARCHAR;
+ }
+
+ return super.createDataType(sqlType, sqlTypeName);
+ }
+ };
+
+ config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, factory);
+ }
+}