diff options
Diffstat (limited to 'src/test/java/at')
-rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java | 24 |
1 files changed, 23 insertions, 1 deletions
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 index dae93ff..daf4ec4 100644 --- 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 @@ -1,5 +1,8 @@ package at.ac.tuwien.sepm.assignment.groupphase.util; +import static org.dbunit.Assertion.assertEquals; + +import java.io.InputStream; import java.lang.invoke.MethodHandles; import java.sql.SQLException; import java.sql.Types; @@ -9,9 +12,11 @@ import org.dbunit.IOperationListener; import org.dbunit.database.DatabaseConfig; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.IDatabaseConnection; +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.dbunit.operation.DatabaseOperation; import org.junit.After; @@ -38,6 +43,13 @@ public abstract class JdbcTestCase { protected abstract IDataSet getDataSet() throws Exception; + protected IDataSet getDataSet(String xmlname) throws DataSetException { + InputStream res = getClass().getClassLoader().getResourceAsStream(xmlname); + FlatXmlDataSetBuilder builder = new FlatXmlDataSetBuilder(); + builder.setColumnSensing(true); + return builder.build(res); + } + protected JDBCConnectionManager getJdbcConnectionManager() { return jdbcConnectionManager; } @@ -105,6 +117,16 @@ public abstract class JdbcTestCase { config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, factory); } + protected void compareWith(String xmlname, String[] tables) throws Exception { + InputStream res = getClass().getClassLoader().getResourceAsStream(xmlname); + IDataSet actual = getConnection().createDataSet(); + IDataSet expected = new FlatXmlDataSetBuilder().build(res); + + for (String table : tables) { + assertEquals(actual.getTable(table), expected.getTable(table)); + } + } + @Before public void setUp() throws Exception { IDataSet dataSet = getDataSet(); @@ -113,7 +135,7 @@ public abstract class JdbcTestCase { getOperationListener().connectionRetrieved(getConnection()); dbTester.setSetUpOperation(DatabaseOperation.CLEAN_INSERT); - dbTester.setTearDownOperation(DatabaseOperation.NONE); + dbTester.setTearDownOperation(DatabaseOperation.REFRESH); dbTester.setDataSet(dataSet); dbTester.setOperationListener(getOperationListener()); dbTester.onSetup(); |