use of org.dbunit.database.IDatabaseConnection in project head by mifos.
the class DataSetUpgradeUtil method upgrade.
private void upgrade(String fileName, ApplicationContext applicationContext) throws Exception {
System.out.println("Upgrading: " + fileName);
dbUnitUtilities = new DbUnitUtilities();
IDataSet dataSet = null;
try {
dataSet = dbUnitUtilities.getDataSetFromFile(fileName);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Class.forName("com.mysql.jdbc.Driver");
Connection jdbcConnection = null;
try {
// TODO use same db cxn info that Mifos uses! (local.properties)
jdbcConnection = DriverManager.getConnection(getUrl(databaseName, port, params), user, password);
jdbcConnection.setAutoCommit(false);
resetDatabase(databaseName, jdbcConnection);
SqlExecutor.execute(new FileInputStream(schemaFileName), jdbcConnection);
jdbcConnection.commit();
jdbcConnection.setAutoCommit(true);
IDatabaseConnection databaseConnection = new DatabaseConnection(jdbcConnection);
databaseConnection.getConfig().setProperty(DatabaseConfig.FEATURE_CASE_SENSITIVE_TABLE_NAMES, Boolean.FALSE);
DatabaseOperation.CLEAN_INSERT.execute(databaseConnection, dataSet);
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
System.setProperty(TestingService.TEST_MODE_SYSTEM_PROPERTY, "acceptance");
ApplicationInitializer applicationInitializer = new ApplicationInitializer();
applicationInitializer.dbUpgrade(applicationContext);
applicationContext.getBean(DatabaseUpgradeSupport.class).contraction();
applicationInitializer.setAttributesOnContext(null);
StaticHibernateUtil.closeSession();
System.out.println(" upgrade done!");
}
use of org.dbunit.database.IDatabaseConnection in project sonarqube by SonarSource.
the class AbstractDbTester method assertDbUnit.
public void assertDbUnit(Class testClass, String filename, String[] excludedColumnNames, String... tables) {
IDatabaseConnection connection = null;
try {
connection = dbUnitConnection();
IDataSet dataSet = connection.createDataSet();
String path = "/" + testClass.getName().replace('.', '/') + "/" + filename;
InputStream inputStream = testClass.getResourceAsStream(path);
if (inputStream == null) {
throw new IllegalStateException(String.format("File '%s' does not exist", path));
}
IDataSet expectedDataSet = dbUnitDataSet(inputStream);
for (String table : tables) {
DiffCollectingFailureHandler diffHandler = new DiffCollectingFailureHandler();
ITable filteredTable = DefaultColumnFilter.excludedColumnsTable(dataSet.getTable(table), excludedColumnNames);
ITable filteredExpectedTable = DefaultColumnFilter.excludedColumnsTable(expectedDataSet.getTable(table), excludedColumnNames);
Assertion.assertEquals(filteredExpectedTable, filteredTable, diffHandler);
// Evaluate the differences and ignore some column values
List diffList = diffHandler.getDiffList();
for (Object o : diffList) {
Difference diff = (Difference) o;
if (!"[ignore]".equals(diff.getExpectedValue())) {
throw new DatabaseUnitException(diff.toString());
}
}
}
} catch (DatabaseUnitException e) {
e.printStackTrace();
fail(e.getMessage());
} catch (Exception e) {
throw translateException("Error while checking results", e);
} finally {
closeQuietly(connection);
}
}
Aggregations