]> source.dussan.org Git - sonarqube.git/commitdiff
Fix compatibility of tests with non-H2 dbs
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Tue, 3 Mar 2015 21:54:03 +0000 (22:54 +0100)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Tue, 3 Mar 2015 21:54:03 +0000 (22:54 +0100)
server/sonar-server/src/test/java/org/sonar/server/activity/ActivityServiceTest.java
server/sonar-server/src/test/java/org/sonar/server/activity/db/ActivityDaoTest.java
sonar-core/src/test/java/org/sonar/core/persistence/DbTester.java

index 58447946cd50353ddb21e2598fd24a7b7e2d1d40..14807cdde9c7f36201411bebb8449083cb4330c3 100644 (file)
@@ -19,7 +19,6 @@
  */
 package org.sonar.server.activity;
 
-import org.apache.commons.io.IOUtils;
 import org.assertj.core.data.MapEntry;
 import org.junit.Before;
 import org.junit.ClassRule;
@@ -35,7 +34,6 @@ import org.sonar.server.db.DbClient;
 import org.sonar.server.es.EsTester;
 import org.sonar.server.issue.db.IssueDao;
 
-import java.sql.Clob;
 import java.util.List;
 import java.util.Map;
 
@@ -77,8 +75,7 @@ public class ActivityServiceTest {
     assertThat(dbMap).containsEntry("type", "ANALYSIS_REPORT");
     assertThat(dbMap).containsEntry("action", "THE_ACTION");
     assertThat(dbMap).containsEntry("msg", "THE_MSG");
-    Clob data = (Clob) dbMap.get("data");
-    assertThat(IOUtils.toString(data.getAsciiStream())).isEqualTo("foo=bar");
+    assertThat(dbMap.get("data")).isEqualTo("foo=bar");
 
     List<ActivityDoc> docs = es.getDocuments("activities", "activity", ActivityDoc.class);
     assertThat(docs).hasSize(1);
index 9ebf997f9acbe001c9bd8f9918e6356f50d4e2fb..2ad5c4a151095332393bc794c67327bb2e38b755 100644 (file)
@@ -19,7 +19,6 @@
  */
 package org.sonar.server.activity.db;
 
-import org.apache.commons.io.IOUtils;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -29,7 +28,6 @@ import org.sonar.core.activity.db.ActivityDto;
 import org.sonar.core.persistence.DbTester;
 import org.sonar.test.DbTests;
 
-import java.sql.Clob;
 import java.sql.Timestamp;
 import java.util.Map;
 
@@ -62,7 +60,6 @@ public class ActivityDaoTest {
     Map<String, Object> map = dbTester.selectFirst("select created_at as \"createdAt\", log_action as \"action\", data_field as \"data\" from activities where log_key='UUID_1'");
     assertThat(map.get("action")).isEqualTo("THE_ACTION");
     assertThat(((Timestamp)map.get("createdAt")).getTime()).isEqualTo(1_500_000_000_000L);
-    Clob data = (Clob) map.get("data");
-    assertThat(IOUtils.toString(data.getAsciiStream())).isEqualTo("THE_DATA");
+    assertThat(map.get("data")).isEqualTo("THE_DATA");
   }
 }
index b838a10f452175dbcbba57e963c396b69f49becb..48470d92f36f1a51216a1e4588fce6ce6ac5b3b8 100644 (file)
@@ -56,6 +56,7 @@ import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.sql.Clob;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -220,14 +221,18 @@ public class DbTester extends ExternalResource {
     return rows.get(0);
   }
 
-  private static List<Map<String, Object>> getHashMap(ResultSet resultSet) throws SQLException {
+  private static List<Map<String, Object>> getHashMap(ResultSet resultSet) throws Exception {
     ResultSetMetaData metaData = resultSet.getMetaData();
     int colCount = metaData.getColumnCount();
     List<Map<String, Object>> rows = newArrayList();
     while (resultSet.next()) {
       Map<String, Object> columns = newHashMap();
       for (int i = 1; i <= colCount; i++) {
-        columns.put(metaData.getColumnLabel(i), resultSet.getObject(i));
+        Object value = resultSet.getObject(i);
+        if (value instanceof Clob) {
+          value = IOUtils.toString(((Clob)value).getAsciiStream());
+        }
+        columns.put(metaData.getColumnLabel(i), value);
       }
       rows.add(columns);
     }