aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigration.java6
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java45
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java2
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml4
4 files changed, 30 insertions, 27 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigration.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigration.java
index 198d0dbb928..24a52f1be5f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigration.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigration.java
@@ -25,8 +25,7 @@ import org.sonar.api.utils.System2;
import org.sonar.core.UtcDateUtils;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.migration.v44.Migration44Mapper;
-import org.sonar.core.qualityprofile.db.QualityProfileDto;
-import org.sonar.core.qualityprofile.db.QualityProfileMapper;
+import org.sonar.core.persistence.migration.v44.QProfileDto44;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
@@ -53,9 +52,8 @@ public class FeedQProfileDatesMigration implements DatabaseMigration {
try {
Date now = new Date(system.now());
int i = 0;
- QualityProfileMapper profileMapper = session.getMapper(QualityProfileMapper.class);
Migration44Mapper migrationMapper = session.getMapper(Migration44Mapper.class);
- for (QualityProfileDto profile : profileMapper.selectAll()) {
+ for (QProfileDto44 profile : migrationMapper.selectAllProfiles()) {
Date createdAt = (Date) ObjectUtils.defaultIfNull(migrationMapper.selectProfileCreatedAt(profile.getId()), now);
Date updatedAt = (Date) ObjectUtils.defaultIfNull(migrationMapper.selectProfileUpdatedAt(profile.getId()), now);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java
index b485ae17d02..defa8783748 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java
@@ -22,13 +22,12 @@ package org.sonar.server.db.migrations.v44;
import org.junit.ClassRule;
import org.junit.Test;
-import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
-import org.sonar.core.qualityprofile.db.QualityProfileDao;
-import org.sonar.core.qualityprofile.db.QualityProfileDto;
+
+import java.util.List;
+import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
public class FeedQProfileKeysMigrationTest {
@@ -41,29 +40,29 @@ public class FeedQProfileKeysMigrationTest {
new FeedQProfileKeysMigration(db.database()).execute();
- QualityProfileDao dao = new QualityProfileDao(db.myBatis(), mock(System2.class));
+ List<Map<String, Object>> profiles = db.select("SELECT kee, name, language, parent_kee FROM rules_profiles ORDER BY id ASC");
- QualityProfileDto parentProfile = dao.getById(10);
- assertThat(parentProfile.getKey()).startsWith("java-sonar-way-");
- assertThat(parentProfile.getName()).isEqualTo("Sonar Way");
- assertThat(parentProfile.getLanguage()).isEqualTo("java");
- assertThat(parentProfile.getParentKee()).isNull();
+ Map<String, Object> parentProfile = profiles.get(0);
+ assertThat((String) parentProfile.get("KEE")).startsWith("java-sonar-way-");
+ assertThat(parentProfile.get("NAME")).isEqualTo("Sonar Way");
+ assertThat(parentProfile.get("LANGUAGE")).isEqualTo("java");
+ assertThat(parentProfile.get("PARENT_KEE")).isNull();
- QualityProfileDto differentCaseProfile = dao.getById(11);
- assertThat(differentCaseProfile.getKey()).startsWith("java-sonar-way-").isNotEqualTo(parentProfile.getKey());
- assertThat(differentCaseProfile.getName()).isEqualTo("Sonar way");
- assertThat(differentCaseProfile.getParentKee()).isNull();
+ Map<String, Object> differentCaseProfile = profiles.get(1);
+ assertThat((String) differentCaseProfile.get("KEE")).startsWith("java-sonar-way-").isNotEqualTo(parentProfile.get("KEE"));
+ assertThat(differentCaseProfile.get("NAME")).isEqualTo("Sonar way");
+ assertThat(differentCaseProfile.get("PARENT_KEE")).isNull();
- QualityProfileDto childProfile = dao.getById(12);
- assertThat(childProfile.getKey()).startsWith("java-child-");
- assertThat(childProfile.getName()).isEqualTo("Child");
- assertThat(childProfile.getParentKee()).isEqualTo(parentProfile.getKey());
+ Map<String, Object> childProfile = profiles.get(2);
+ assertThat((String) childProfile.get("KEE")).startsWith("java-child-");
+ assertThat(childProfile.get("NAME")).isEqualTo("Child");
+ assertThat(childProfile.get("PARENT_KEE")).isEqualTo(parentProfile.get("KEE"));
- QualityProfileDto phpProfile = dao.getById(13);
- assertThat(phpProfile.getKey()).startsWith("php-sonar-way-");
- assertThat(phpProfile.getName()).isEqualTo("Sonar Way");
- assertThat(phpProfile.getLanguage()).isEqualTo("php");
- assertThat(phpProfile.getParentKee()).isNull();
+ Map<String, Object> phpProfile = profiles.get(3);
+ assertThat((String) phpProfile.get("KEE")).startsWith("php-sonar-way-");
+ assertThat(phpProfile.get("NAME")).isEqualTo("Sonar Way");
+ assertThat(phpProfile.get("LANGUAGE")).isEqualTo("php");
+ assertThat(phpProfile.get("PARENT_KEE")).isNull();
}
}
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java b/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java
index 8bffe19dd17..666dc2cb01a 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java
@@ -46,6 +46,8 @@ public interface Migration44Mapper {
QProfileDto44 selectProfileById(int id);
// creation of columns RULES_PROFILES.CREATED_AT and UPDATED_AT
+ List<QProfileDto44> selectAllProfiles();
+
@CheckForNull
Date selectProfileCreatedAt(int profileId);
diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml b/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
index acd7f5ba775..81152148a37 100644
--- a/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
@@ -47,6 +47,10 @@
and pm.value is not null
</select>
+ <select id="selectAllProfiles" resultType="org.sonar.core.persistence.migration.v44.QProfileDto44">
+ select id, kee as key, name, language from rules_profiles
+ </select>
+
<select id="selectProfileUpdatedAt" resultType="date" parameterType="int">
select max(change_date) from active_rule_changes
where profile_id=#{id}