Search in sources :

Example 6 with ITable

use of org.dbunit.dataset.ITable in project SSM by Intel-bigdata.

the class TestTableAggregator method testAggregate.

@Test
public void testAggregate() throws Exception {
    AccessCountTableAggregator aggregator = new AccessCountTableAggregator(null);
    createTables(databaseTester.getConnection());
    IDataSet dataSet = new XmlDataSet(getClass().getClassLoader().getResourceAsStream("accessCountTable.xml"));
    databaseTester.setDataSet(dataSet);
    databaseTester.onSetup();
    AccessCountTable result = new AccessCountTable("actual", 0L, 0L, TimeGranularity.MINUTE);
    AccessCountTable table1 = new AccessCountTable("table1", 0L, 0L, TimeGranularity.SECOND);
    AccessCountTable table2 = new AccessCountTable("table2", 0L, 0L, TimeGranularity.SECOND);
    AccessCountTable table3 = new AccessCountTable("table3", 0L, 0L, TimeGranularity.SECOND);
    String aggregateStatement = aggregator.aggregateSQLStatement(result, Lists.newArrayList(table1, table2, table3));
    Statement statement = databaseTester.getConnection().getConnection().createStatement();
    statement.execute(aggregateStatement);
    statement.close();
    ITable actual = databaseTester.getConnection().createTable(result.getTableName());
    ITable expect = databaseTester.getDataSet().getTable("expect");
    Assertion.assertEquals(expect, actual);
}
Also used : Statement(java.sql.Statement) ITable(org.dbunit.dataset.ITable) IDataSet(org.dbunit.dataset.IDataSet) XmlDataSet(org.dbunit.dataset.xml.XmlDataSet) Test(org.junit.Test) DBTest(org.smartdata.server.metastore.DBTest)

Example 7 with ITable

use of org.dbunit.dataset.ITable in project sharding-jdbc by dangdangdotcom.

the class AbstractDBUnitTest method assertDataSet.

protected void assertDataSet(final String expectedDataSetFile, final Connection connection, final String actualTableName, final String sql) throws SQLException, DatabaseUnitException {
    try (Connection conn = connection) {
        ITable actualTable = getConnection(conn).createQueryTable(actualTableName, sql);
        IDataSet expectedDataSet = new FlatXmlDataSetBuilder().build(new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream(expectedDataSetFile)));
        assertEquals(expectedDataSet.getTable(actualTableName), actualTable);
    }
}
Also used : InputStreamReader(java.io.InputStreamReader) Connection(java.sql.Connection) IDatabaseConnection(org.dbunit.database.IDatabaseConnection) MySqlConnection(org.dbunit.ext.mysql.MySqlConnection) H2Connection(org.dbunit.ext.h2.H2Connection) ITable(org.dbunit.dataset.ITable) IDataSet(org.dbunit.dataset.IDataSet) FlatXmlDataSetBuilder(org.dbunit.dataset.xml.FlatXmlDataSetBuilder)

Example 8 with ITable

use of org.dbunit.dataset.ITable in project sharding-jdbc by dangdangdotcom.

the class AbstractDBUnitTest method assertDataSet.

protected void assertDataSet(final String expectedDataSetFile, final Connection connection, final String actualTableName, final String sql, final Object... params) throws SQLException, DatabaseUnitException {
    try (Connection conn = connection;
        PreparedStatement ps = conn.prepareStatement(sql)) {
        int i = 1;
        for (Object each : params) {
            ps.setObject(i++, each);
        }
        ITable actualTable = getConnection(connection).createTable(actualTableName, ps);
        IDataSet expectedDataSet = new FlatXmlDataSetBuilder().build(new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream(expectedDataSetFile)));
        assertEquals(expectedDataSet.getTable(actualTableName), actualTable);
    }
}
Also used : InputStreamReader(java.io.InputStreamReader) Connection(java.sql.Connection) IDatabaseConnection(org.dbunit.database.IDatabaseConnection) MySqlConnection(org.dbunit.ext.mysql.MySqlConnection) H2Connection(org.dbunit.ext.h2.H2Connection) PreparedStatement(java.sql.PreparedStatement) ITable(org.dbunit.dataset.ITable) IDataSet(org.dbunit.dataset.IDataSet) FlatXmlDataSetBuilder(org.dbunit.dataset.xml.FlatXmlDataSetBuilder)

Example 9 with ITable

use of org.dbunit.dataset.ITable in project head by mifos.

the class DbUnitUtilities method verifyTable.

/**
     * Compare two tables using DbUnit DataSets
     * @param tableName
     * @param databaseDataSet
     * @param expectedDataSet
     * @throws DataSetException
     * @throws DatabaseUnitException
     */
public void verifyTable(String tableName, IDataSet databaseDataSet, IDataSet expectedDataSet) throws DataSetException, DatabaseUnitException {
    Assert.assertNotNull("Didn't find requested table [" + tableName + "] in columnsToIgnoreWhenVerifyingTables map.", columnsToIgnoreWhenVerifyingTables.get(tableName));
    ITable expectedTable = getCaseInsensitiveTable(tableName, expectedDataSet);
    ITable actualTable = getCaseInsensitiveTable(tableName, databaseDataSet);
    actualTable = DefaultColumnFilter.includedColumnsTable(actualTable, expectedTable.getTableMetaData().getColumns());
    try {
        Assertion.assertEqualsIgnoreCols(expectedTable, actualTable, columnsToIgnoreWhenVerifyingTables.get(tableName));
    } catch (AssertionError e) {
        throw new DatabaseUnitException(getTableDiff(expectedTable, actualTable), e);
    }
}
Also used : DatabaseUnitException(org.dbunit.DatabaseUnitException) ITable(org.dbunit.dataset.ITable)

Example 10 with ITable

use of org.dbunit.dataset.ITable 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);
    }
}
Also used : DiffCollectingFailureHandler(org.dbunit.assertion.DiffCollectingFailureHandler) InputStream(java.io.InputStream) DatabaseUnitException(org.dbunit.DatabaseUnitException) ITable(org.dbunit.dataset.ITable) Lists.asList(com.google.common.collect.Lists.asList) List(java.util.List) Lists.newArrayList(com.google.common.collect.Lists.newArrayList) ArrayList(java.util.ArrayList) ImmutableList(com.google.common.collect.ImmutableList) IDatabaseConnection(org.dbunit.database.IDatabaseConnection) Difference(org.dbunit.assertion.Difference) IDataSet(org.dbunit.dataset.IDataSet) SQLException(java.sql.SQLException) DatabaseUnitException(org.dbunit.DatabaseUnitException)

Aggregations

ITable (org.dbunit.dataset.ITable)10 IDataSet (org.dbunit.dataset.IDataSet)8 IDatabaseConnection (org.dbunit.database.IDatabaseConnection)5 DatabaseUnitException (org.dbunit.DatabaseUnitException)4 Connection (java.sql.Connection)3 SortedTable (org.dbunit.dataset.SortedTable)3 XmlDataSet (org.dbunit.dataset.xml.XmlDataSet)3 Test (org.junit.Test)3 InputStreamReader (java.io.InputStreamReader)2 SQLException (java.sql.SQLException)2 Statement (java.sql.Statement)2 ArrayList (java.util.ArrayList)2 FlatXmlDataSetBuilder (org.dbunit.dataset.xml.FlatXmlDataSetBuilder)2 H2Connection (org.dbunit.ext.h2.H2Connection)2 MySqlConnection (org.dbunit.ext.mysql.MySqlConnection)2 DBAdapter (org.smartdata.server.metastore.DBAdapter)2 DBTest (org.smartdata.server.metastore.DBTest)2 ImmutableList (com.google.common.collect.ImmutableList)1 Lists.asList (com.google.common.collect.Lists.asList)1 Lists.newArrayList (com.google.common.collect.Lists.newArrayList)1