use of org.dbunit.database.DatabaseConnection in project head by mifos.
the class DatabaseTestUtils method verifyTable.
/**
* Verify that a database table matches a dataSet table. dataSetXml must be formatted as a DBUnit
* xml dataset. This method can be safely invoked inside a Spring-managed transaction.
* @param dataSetXml
* @param tableName
* @param dataSource
* @throws Exception
*/
// one of the dependent methods throws Exception
@SuppressWarnings("PMD.SignatureDeclareThrowsException")
public void verifyTable(String dataSetXml, String tableName, DriverManagerDataSource dataSource) throws Exception {
Connection jdbcConnection = null;
StringReader dataSetXmlStream = new StringReader(dataSetXml);
try {
jdbcConnection = DataSourceUtils.getConnection(dataSource);
IDatabaseTester databaseTester = new DataSourceDatabaseTester(dataSource);
IDatabaseConnection databaseConnection = databaseTester.getConnection();
databaseConnection.getConfig().setProperty(DatabaseConfig.FEATURE_CASE_SENSITIVE_TABLE_NAMES, Boolean.TRUE);
IDataSet databaseDataSet = databaseConnection.createDataSet();
ITable actualTable = databaseDataSet.getTable(tableName);
IDataSet expectedDataSet = new FlatXmlDataSet(dataSetXmlStream);
ITable expectedTable = expectedDataSet.getTable(tableName);
Assertion.assertEqualsIgnoreCols(expectedTable, actualTable, new String[] { "id" });
} finally {
if (null != jdbcConnection) {
jdbcConnection.close();
}
DataSourceUtils.releaseConnection(jdbcConnection, dataSource);
}
}
use of org.dbunit.database.DatabaseConnection in project head by mifos.
the class DbUnitDataImportExport method loadDataFromFile.
private void loadDataFromFile(String fileName) throws DatabaseUnitException, SQLException, IOException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");
Connection jdbcConnection = null;
boolean enableColumnSensing = true;
IDataSet dataSet = new FlatXmlDataSet(new File(fileName), false, enableColumnSensing);
try {
jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost/" + databaseName + "?sessionVariables=FOREIGN_KEY_CHECKS=0", user, password);
IDatabaseConnection databaseConnection = new DatabaseConnection(jdbcConnection);
databaseConnection.getConfig().setProperty(DatabaseConfig.FEATURE_CASE_SENSITIVE_TABLE_NAMES, Boolean.TRUE);
DatabaseOperation.CLEAN_INSERT.execute(databaseConnection, dataSet);
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
}
use of org.dbunit.database.DatabaseConnection in project head by mifos.
the class DbUnitDataImportExport method dumpData.
public void dumpData(String fileName) throws ClassNotFoundException, SQLException, DatabaseUnitException, FileNotFoundException, IOException {
// database connection
Class.forName("com.mysql.jdbc.Driver");
Connection jdbcConnection = null;
IDataSet fullDataSet;
try {
jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost/" + databaseName, user, password);
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
connection.getConfig().setProperty(DatabaseConfig.FEATURE_CASE_SENSITIVE_TABLE_NAMES, Boolean.TRUE);
// sequenced data should not be necessary when foreign key constraints
// are turned off on the connection...
fullDataSet = connection.createDataSet();
FlatXmlDataSet.write(fullDataSet, new FileOutputStream(fileName));
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
}
use of org.dbunit.database.DatabaseConnection in project ORCID-Source by ORCID.
the class DBUnitTest method getDBConnection.
public static IDatabaseConnection getDBConnection() throws Exception {
DriverManagerDataSource dataSource = (DriverManagerDataSource) context.getBean("simpleDataSource");
Connection jdbcConnection = dataSource.getConnection();
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
connection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new CustomDataTypeFactory());
return connection;
}
use of org.dbunit.database.DatabaseConnection in project head by mifos.
the class DbUnitUtilities method getDataSetForTables.
/**
* Returns a DbUnit DataSet for several tables.
* @param driverManagerDataSource TODO
* @param tableNames
* @return IDataSet
* @throws Exception
*/
// one of the dependent methods throws Exception
@SuppressWarnings("PMD.SignatureDeclareThrowsException")
public IDataSet getDataSetForTables(DriverManagerDataSource driverManagerDataSource, String[] tableNames) throws Exception {
Connection jdbcConnection = null;
IDataSet databaseDataSet = null;
try {
jdbcConnection = DataSourceUtils.getConnection(driverManagerDataSource);
IDatabaseTester databaseTester = new DataSourceDatabaseTester(driverManagerDataSource);
IDatabaseConnection databaseConnection = databaseTester.getConnection();
databaseDataSet = databaseConnection.createDataSet(tableNames);
} finally {
jdbcConnection.close();
DataSourceUtils.releaseConnection(jdbcConnection, driverManagerDataSource);
}
return databaseDataSet;
}
Aggregations