aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersLongDatesTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersScmAccountsTest.java2
-rw-r--r--sonar-core/src/test/java/org/sonar/core/persistence/DbTester.java18
6 files changed, 22 insertions, 6 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java
index a448490c679..141c536da4b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java
@@ -238,7 +238,7 @@ public class BaseDataChangeTest extends AbstractDaoTestCase {
}
}.execute();
- assertThat(db.count("select count(id) from persons")).isEqualTo(count);
+ assertThat(db.countRowsOfTable("persons")).isEqualTo(count);
}
@Test
diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java
index c0491d901eb..730318bc457 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java
@@ -52,6 +52,6 @@ public class ViolationMigrationTest {
}
private void assertMigrationEnded() {
- assertThat(db.count("select count(id) from rule_failures")).isEqualTo(0);
+ assertThat(db.countRowsOfTable("rule_failures")).isEqualTo(0);
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java
index 4440ae9738b..c62906df7ed 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java
@@ -44,7 +44,7 @@ public class FeedIssueLongDatesTest {
DatabaseMigration migration = new FeedIssueLongDates(db.database(), system);
migration.execute();
- int count = db.count("select count(*) from issues where created_at_ms is not null and updated_at_ms is not null");
+ int count = db.countSql("select count(*) from issues where created_at_ms is not null and updated_at_ms is not null");
assertThat(count).isEqualTo(3);
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersLongDatesTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersLongDatesTest.java
index 4b1488c93bd..b72969dcc20 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersLongDatesTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersLongDatesTest.java
@@ -44,7 +44,7 @@ public class FeedUsersLongDatesTest {
DatabaseMigration migration = new FeedUsersLongDates(db.database(), system);
migration.execute();
- int count = db.count("select count(*) from users where created_at_ms is not null and updated_at_ms is not null");
+ int count = db.countSql("select count(*) from users where created_at_ms is not null and updated_at_ms is not null");
assertThat(count).isEqualTo(3);
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersScmAccountsTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersScmAccountsTest.java
index f73a72e9a06..9d1896dd190 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersScmAccountsTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedUsersScmAccountsTest.java
@@ -50,7 +50,7 @@ public class FeedUsersScmAccountsTest {
migration.execute();
// Cannot use db.assertDbUnit with users table as there's a conflict with the h2 users table
- assertThat(db.count("select count(*) from users where updated_at='3000000000000'")).isEqualTo(3);
+ assertThat(db.countSql("select count(*) from users where updated_at='3000000000000'")).isEqualTo(3);
assertThat(getScmAccountsFromUsers(1)).contains("user1,user1@mail.com");
assertThat(getScmAccountsFromUsers(3)).contains("user3");
assertThat(getScmAccountsFromUsers(4)).contains("user4,\"user4,@mail.com\"");
diff --git a/sonar-core/src/test/java/org/sonar/core/persistence/DbTester.java b/sonar-core/src/test/java/org/sonar/core/persistence/DbTester.java
index c87c5cb9d8a..3f7787b5320 100644
--- a/sonar-core/src/test/java/org/sonar/core/persistence/DbTester.java
+++ b/sonar-core/src/test/java/org/sonar/core/persistence/DbTester.java
@@ -19,6 +19,7 @@
*/
package org.sonar.core.persistence;
+import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.dbutils.DbUtils;
@@ -169,7 +170,22 @@ public class DbTester extends ExternalResource {
}
}
- public int count(String sql) {
+ /**
+ * Returns the number of rows in the table. Example:
+ * <pre>int issues = countTable("issues")</pre>
+ */
+ public int countRowsOfTable(String tableName) {
+ Preconditions.checkArgument(StringUtils.containsNone(tableName, " "), "Parameter must be the name of a table. Got " + tableName);
+ return countSql("select count(*) from " + tableName);
+ }
+
+ /**
+ * Executes a SQL request starting with "SELECT COUNT(something) FROM", for example:
+ * <pre>int OpenIssues = countSql("select count('id') from issues where status is not null")</pre>
+ */
+ public int countSql(String sql) {
+ Preconditions.checkArgument(StringUtils.contains(sql, "count("),
+ "Parameter must be a SQL request containing 'count(x)' function. Got " + sql);
Connection connection = null;
PreparedStatement stmt = null;
ResultSet rs = null;