package liquibase.dbtest.mssql;
import java.util.Date;
import liquibase.Liquibase;
import liquibase.dbtest.AbstractIntegrationTest;
import liquibase.exception.MigrationFailedException;
import liquibase.exception.ValidationFailedException;
import org.junit.Test;
/**
*
* @author lujop
*/
public abstract class AbstractMssqlIntegrationTest extends AbstractIntegrationTest{
public AbstractMssqlIntegrationTest(String changelogDir, String url) throws Exception {
super(changelogDir, url);
}
@Override
protected boolean shouldRollBack() {
return false;
}
@Test
public void smartDataLoad() throws Exception {
if (this.getDatabase() == null) {
return;
}
Liquibase liquibase = createLiquibase("changelogs/common/smartDataLoad.changelog.xml");
clearDatabase(liquibase);
try {
liquibase.update(this.contexts);
} catch (ValidationFailedException e) {
e.printDescriptiveError(System.out);
throw e;
}
try {
liquibase.rollback(new Date(0), this.contexts);
} catch (ValidationFailedException e) {
e.printDescriptiveError(System.out);
throw e;
}
}
// @Override
// //Mssql has problems with insert data in autoincrement tables. Because diff detects the id of that inserts and when it is ran the diff
// //it tries to insert values in identity columns that isn't allowed in mssql
// @Test(expected = MigrationFailedException.class)
// public void testRerunDiffChangeLog() throws Exception {
// if (getDatabase() == null) {
// throw new MigrationFailedException();
// }
// super.testRerunDiffChangeLog();
// }
}