package liquibase.ext.ora.encapsulateTableWithView; import liquibase.ext.ora.testing.BaseTestCase; import org.dbunit.Assertion; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.IDatabaseConnection; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.junit.Before; import org.junit.Test; public class EncapsulateTableWithViewDBTest extends BaseTestCase { private IDataSet loadedDataSet; private final String TABLE_NAME = "person"; protected IDatabaseConnection getConnection() throws Exception { return new DatabaseConnection(connection); } protected IDataSet getDataSet() throws Exception { loadedDataSet = new FlatXmlDataSet(this.getClass().getClassLoader().getResourceAsStream( "liquibase/ext/ora/encapsulateTableWithView/input.xml")); return loadedDataSet; } protected IDataSet getAfterRollbackDataSet() throws Exception { loadedDataSet = new FlatXmlDataSet(this.getClass().getClassLoader().getResourceAsStream( "liquibase/ext/ora/encapsulateTableWithView/afterRollbackInput.xml")); return loadedDataSet; } @Before public void setUp() throws Exception { changeLogFile = "liquibase/ext/ora/encapsulateTableWithView/changelog.test.xml"; if (connection == null) { return; } connectToDB(); cleanDB(); liquiBase.update((String) null); } @Test public void updateTest() throws Exception { if (connection == null) { return; } QueryDataSet actualDataSet = new QueryDataSet(getConnection()); actualDataSet.addTable("T" + TABLE_NAME); actualDataSet.addTable(TABLE_NAME); loadedDataSet = getDataSet(); Assertion.assertEquals(loadedDataSet, actualDataSet); } @Test public void rollbackTest() throws Exception { if (connection == null) { return; } liquiBase.rollback(1, (String) null); QueryDataSet actualDataSet = new QueryDataSet(getConnection()); actualDataSet.addTable(TABLE_NAME); loadedDataSet = getAfterRollbackDataSet(); Assertion.assertEquals(loadedDataSet, actualDataSet); } }