]> source.dussan.org Git - sonarqube.git/commitdiff
Add method checkTable() with list of columns to AbstractDaoTestCase/AbstractDbUnitTes...
authorSimon Brandhof <simon.brandhof@gmail.com>
Fri, 13 Jul 2012 07:32:02 +0000 (09:32 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Fri, 13 Jul 2012 07:32:02 +0000 (09:32 +0200)
sonar-core/src/test/java/org/sonar/core/persistence/AbstractDaoTestCase.java
sonar-core/src/test/java/org/sonar/jpa/test/AbstractDbUnitTestCase.java

index 131af2e70c758482238139a8dec4fd7af7831d18..0e56a0f3f72884e7575149414bdc2fd98c8492ab 100644 (file)
@@ -28,11 +28,7 @@ import org.dbunit.DatabaseUnitException;
 import org.dbunit.IDatabaseTester;
 import org.dbunit.database.DatabaseConfig;
 import org.dbunit.database.IDatabaseConnection;
-import org.dbunit.dataset.CompositeDataSet;
-import org.dbunit.dataset.DataSetException;
-import org.dbunit.dataset.IDataSet;
-import org.dbunit.dataset.ITable;
-import org.dbunit.dataset.ReplacementDataSet;
+import org.dbunit.dataset.*;
 import org.dbunit.dataset.filter.DefaultColumnFilter;
 import org.dbunit.dataset.xml.FlatXmlDataSet;
 import org.junit.Assert;
@@ -125,6 +121,7 @@ public abstract class AbstractDaoTestCase {
         connection.close();
       }
     } catch (SQLException e) {
+      // ignore
     }
   }
 
@@ -153,6 +150,25 @@ public abstract class AbstractDaoTestCase {
     }
   }
 
+  protected void checkTable(String testName, String table, String... columns) {
+    IDatabaseConnection connection = null;
+    try {
+      connection = createConnection();
+
+      IDataSet dataSet = connection.createDataSet();
+      IDataSet expectedDataSet = getExpectedData(testName);
+      ITable filteredTable = DefaultColumnFilter.includedColumnsTable(dataSet.getTable(table), columns);
+      ITable filteredExpectedTable = DefaultColumnFilter.includedColumnsTable(expectedDataSet.getTable(table), columns);
+      Assertion.assertEquals(filteredExpectedTable, filteredTable);
+    } catch (DatabaseUnitException e) {
+      fail(e.getMessage());
+    } catch (SQLException e) {
+      throw translateException("Error while checking results", e);
+    } finally {
+      closeQuietly(connection);
+    }
+  }
+
   protected void assertEmptyTables(String... emptyTables) {
     IDatabaseConnection connection = null;
     try {
index 01e0b25b6380eab740e17171618c500bb1057fd7..9742e0174d84e887f30d3db01d91ce5e545bbbbf 100644 (file)
@@ -171,6 +171,26 @@ public abstract class AbstractDbUnitTestCase {
     }
   }
 
+  protected void checkTable(String testName, String table, String... columns) {
+    IDatabaseConnection connection = null;
+    try {
+      connection = createConnection();
+
+      IDataSet dataSet = connection.createDataSet();
+      IDataSet expectedDataSet = getExpectedData(testName);
+      ITable filteredTable = DefaultColumnFilter.includedColumnsTable(dataSet.getTable(table), columns);
+      ITable filteredExpectedTable = DefaultColumnFilter.includedColumnsTable(expectedDataSet.getTable(table), columns);
+      Assertion.assertEquals(filteredExpectedTable, filteredTable);
+
+    } catch (DatabaseUnitException e) {
+      fail(e.getMessage());
+    } catch (SQLException e) {
+      throw translateException("Error while checking results", e);
+    } finally {
+      closeQuietly(connection);
+    }
+  }
+
   private IDatabaseConnection createConnection() {
     try {
       IDatabaseConnection connection = databaseTester.getConnection();