]> source.dussan.org Git - sonarqube.git/commitdiff
Fix DuplicationDaoTest
authorEvgeny Mandrikov <mandrikov@gmail.com>
Tue, 1 Nov 2011 20:54:55 +0000 (00:54 +0400)
committerEvgeny Mandrikov <mandrikov@gmail.com>
Tue, 1 Nov 2011 20:54:55 +0000 (00:54 +0400)
Other tests can stuck if connection not closed.

sonar-core/src/test/java/org/sonar/persistence/dao/DuplicationDaoTest.java

index 0c2126f72bb7fc44958819bf6206f786556909c7..1622570ad3f5b5674c470e6c8c2e392eacb4d0e8 100644 (file)
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 import java.io.InputStream;
+import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.List;
 
@@ -166,9 +167,10 @@ public class DuplicationDaoTest {
   }
 
   private final void checkTables(String testName, String[] excludedColumnNames, String... tables) {
-    // getSession().commit();
+    IDatabaseConnection connection = null;
     try {
-      IDataSet dataSet = getCurrentDataSet();
+      connection = databaseTester.getConnection();
+      IDataSet dataSet = connection.createDataSet();
       IDataSet expectedDataSet = getExpectedData(testName);
       for (String table : tables) {
         ITable filteredTable = DefaultColumnFilter.excludedColumnsTable(dataSet.getTable(table), excludedColumnNames);
@@ -178,6 +180,16 @@ public class DuplicationDaoTest {
       throw translateException("Error while checking results", e);
     } catch (DatabaseUnitException e) {
       fail(e.getMessage());
+    } catch (Exception e) {
+      throw translateException("Error while checking results", e);
+    } finally {
+      if (connection != null) {
+        try {
+          connection.close();
+        } catch (SQLException e) {
+          throw translateException("Error while checking results", e);
+        }
+      }
     }
   }