aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao
diff options
context:
space:
mode:
authorPierre <pierre.guillot@sonarsource.com>2020-04-20 09:53:17 +0200
committersonartech <sonartech@sonarsource.com>2020-05-25 20:05:21 +0000
commitac532a55b9c7ee51b8ad3516103b453f030392d6 (patch)
tree44c32aa7e245542fc1e105f339890e2b0a08d46d /server/sonar-db-dao
parent16b2b85fc200856e65175663bbe2477012be9275 (diff)
downloadsonarqube-ac532a55b9c7ee51b8ad3516103b453f030392d6.tar.gz
sonarqube-ac532a55b9c7ee51b8ad3516103b453f030392d6.zip
SONAR-13221 change PK of quality gates from id to uuid, update FKs, update API
Diffstat (limited to 'server/sonar-db-dao')
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationDto.java10
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QGateWithOrgDto.java6
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDao.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java10
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionMapper.java2
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDao.java18
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDto.java10
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateMapper.java4
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/ProjectQgateAssociationMapper.xml6
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateConditionMapper.xml10
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml23
-rw-r--r--server/sonar-db-dao/src/schema/schema-sq.ddl8
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest.java14
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDaoTest.java48
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java16
-rw-r--r--server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java2
16 files changed, 74 insertions, 117 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationDto.java
index a0a21feb9ab..d309dd4a0eb 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationDto.java
@@ -30,7 +30,7 @@ public class ProjectQgateAssociationDto {
private String uuid;
private String key;
private String name;
- private String gateId;
+ private String gateUuid;
public String getUuid() {
return uuid;
@@ -60,12 +60,12 @@ public class ProjectQgateAssociationDto {
}
@CheckForNull
- public String getGateId() {
- return gateId;
+ public String getGateUuid() {
+ return gateUuid;
}
- public ProjectQgateAssociationDto setGateId(@Nullable String gateId) {
- this.gateId = gateId;
+ public ProjectQgateAssociationDto setGateUuid(@Nullable String gateUuid) {
+ this.gateUuid = gateUuid;
return this;
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QGateWithOrgDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QGateWithOrgDto.java
index c200851242d..0289a88ca77 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QGateWithOrgDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QGateWithOrgDto.java
@@ -44,12 +44,6 @@ public class QGateWithOrgDto extends QualityGateDto {
}
@Override
- public QGateWithOrgDto setId(Long id) {
- super.setId(id);
- return this;
- }
-
- @Override
public QGateWithOrgDto setName(String name) {
super.setName(name);
return this;
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDao.java
index 88163b8eded..949aabf66cb 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDao.java
@@ -30,8 +30,8 @@ public class QualityGateConditionDao implements Dao {
mapper(session).insert(newQualityGate.setCreatedAt(new Date()));
}
- public Collection<QualityGateConditionDto> selectForQualityGate(DbSession session, long qGateId) {
- return mapper(session).selectForQualityGate(qGateId);
+ public Collection<QualityGateConditionDto> selectForQualityGate(DbSession session, String qGateUuid) {
+ return mapper(session).selectForQualityGate(qGateUuid);
}
public QualityGateConditionDto selectByUuid(String uuid, DbSession session) {
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java
index ed191d46639..232c9ce2da2 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java
@@ -33,7 +33,7 @@ public class QualityGateConditionDto {
private String uuid;
- private long qualityGateId;
+ private String qualityGateUuid;
private String metricUuid;
@@ -56,12 +56,12 @@ public class QualityGateConditionDto {
return this;
}
- public long getQualityGateId() {
- return qualityGateId;
+ public String getQualityGateUuid() {
+ return qualityGateUuid;
}
- public QualityGateConditionDto setQualityGateId(long qualityGateId) {
- this.qualityGateId = qualityGateId;
+ public QualityGateConditionDto setQualityGateUuid(String qualityGateUuid) {
+ this.qualityGateUuid = qualityGateUuid;
return this;
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionMapper.java
index 0261c1a34fb..48fa5ab1ce6 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionMapper.java
@@ -25,7 +25,7 @@ public interface QualityGateConditionMapper {
void insert(QualityGateConditionDto newCondition);
- List<QualityGateConditionDto> selectForQualityGate(long qGateId);
+ List<QualityGateConditionDto> selectForQualityGate(String qGateUuid);
void update(QualityGateConditionDto newCondition);
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDao.java
index 02deb13e0ac..4daf6fd17fc 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDao.java
@@ -22,6 +22,7 @@ package org.sonar.db.qualitygate;
import java.util.Collection;
import java.util.Date;
import javax.annotation.CheckForNull;
+import org.sonar.core.util.UuidFactory;
import org.sonar.db.Dao;
import org.sonar.db.DatabaseUtils;
import org.sonar.db.DbSession;
@@ -29,7 +30,14 @@ import org.sonar.db.organization.OrganizationDto;
public class QualityGateDao implements Dao {
+ private final UuidFactory uuidFactory;
+
+ public QualityGateDao(UuidFactory uuidFactory) {
+ this.uuidFactory = uuidFactory;
+ }
+
public QualityGateDto insert(DbSession session, QualityGateDto newQualityGate) {
+ newQualityGate.setUuid(uuidFactory.create());
mapper(session).insertQualityGate(newQualityGate.setCreatedAt(new Date()));
return newQualityGate;
@@ -49,11 +57,6 @@ public class QualityGateDao implements Dao {
}
@CheckForNull
- public QualityGateDto selectById(DbSession session, long id) {
- return mapper(session).selectById(id);
- }
-
- @CheckForNull
public QualityGateDto selectByUuid(DbSession session, String uuid) {
return mapper(session).selectByUuid(uuid);
}
@@ -68,11 +71,6 @@ public class QualityGateDao implements Dao {
return mapper(session).selectByNameAndOrganization(name, organization.getUuid());
}
- @CheckForNull
- public QGateWithOrgDto selectByOrganizationAndId(DbSession session, OrganizationDto organization, long id) {
- return mapper(session).selectByIdAndOrganization(id, organization.getUuid());
- }
-
public QGateWithOrgDto selectDefault(DbSession dbSession, OrganizationDto organization) {
return mapper(dbSession).selectDefault(organization.getUuid());
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDto.java
index 137ef375d0c..4bf21b29ed0 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDto.java
@@ -26,7 +26,6 @@ import java.util.Date;
*/
public class QualityGateDto {
- private Long id;
private String name;
private String uuid;
private boolean isBuiltIn;
@@ -42,15 +41,6 @@ public class QualityGateDto {
return this;
}
- public Long getId() {
- return id;
- }
-
- public QualityGateDto setId(Long id) {
- this.id = id;
- return this;
- }
-
public String getName() {
return name;
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateMapper.java
index 2741ab34989..b30c4c86cc9 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateMapper.java
@@ -33,14 +33,10 @@ public interface QualityGateMapper {
QualityGateDto selectByName(String name);
- QualityGateDto selectById(long id);
-
QGateWithOrgDto selectByUuidAndOrganization(@Param("qualityGateUuid") String qualityGateUuid, @Param("organizationUuid") String organizationUuid);
QGateWithOrgDto selectByNameAndOrganization(@Param("name") String name, @Param("organizationUuid") String organizationUuid);
- QGateWithOrgDto selectByIdAndOrganization(@Param("id") long id, @Param("organizationUuid") String organizationUuid);
-
QGateWithOrgDto selectDefault(@Param("organizationUuid") String organizationUuid);
QualityGateDto selectBuiltIn();
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/ProjectQgateAssociationMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/ProjectQgateAssociationMapper.xml
index 1ce91b0da20..baa08b4dc62 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/ProjectQgateAssociationMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/ProjectQgateAssociationMapper.xml
@@ -4,7 +4,7 @@
<mapper namespace="org.sonar.db.qualitygate.ProjectQgateAssociationMapper">
<select id="selectProjects" parameterType="map" resultType="ProjectQgateAssociation">
- SELECT proj.uuid as uuid, proj.kee as "key", proj.name as name, qg.id as gateId
+ SELECT proj.uuid as uuid, proj.kee as "key", proj.name as name, qg.uuid as gateUuid
FROM components proj
LEFT JOIN project_qgates prqg ON prqg.project_uuid=proj.uuid AND prqg.quality_gate_uuid = #{query.gateUuid, jdbcType=VARCHAR}
LEFT JOIN quality_gates qg ON qg.uuid = prqg.quality_gate_uuid
@@ -16,10 +16,10 @@
and proj.organization_uuid=#{query.organizationUuid, jdbcType=VARCHAR}
<choose>
<when test="query.membership() == 'selected'">
- and qg.id IS NOT NULL
+ and qg.uuid IS NOT NULL
</when>
<when test="query.membership() == 'deselected'">
- and qg.id IS NULL
+ and qg.uuid IS NULL
</when>
</choose>
<if test="query.projectSearch() != null">
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateConditionMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateConditionMapper.xml
index 9f3da11eb10..2c57a73d936 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateConditionMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateConditionMapper.xml
@@ -4,19 +4,19 @@
<mapper namespace="org.sonar.db.qualitygate.QualityGateConditionMapper">
<insert id="insert" parameterType="QualityGateCondition">
- insert into quality_gate_conditions (uuid, qgate_id, metric_uuid, operator, value_error, created_at, updated_at)
- values (#{uuid}, #{qualityGateId}, #{metricUuid}, #{operator}, #{errorThreshold}, #{createdAt}, #{updatedAt})
+ insert into quality_gate_conditions (uuid, qgate_uuid, metric_uuid, operator, value_error, created_at, updated_at)
+ values (#{uuid}, #{qualityGateUuid}, #{metricUuid}, #{operator}, #{errorThreshold}, #{createdAt}, #{updatedAt})
</insert>
<sql id="conditionColumns">
- uuid, qgate_id as qualityGateId, metric_uuid as metricUuid, operator, value_error as errorThreshold,
+ uuid, qgate_uuid as qualityGateUuid, metric_uuid as metricUuid, operator, value_error as errorThreshold,
created_at as createdAt, updated_at as updatedAt
</sql>
- <select id="selectForQualityGate" resultType="QualityGateCondition" parameterType="long">
+ <select id="selectForQualityGate" resultType="QualityGateCondition" parameterType="String">
select
<include refid="conditionColumns"/>
- from quality_gate_conditions where qgate_id=#{qGateId}
+ from quality_gate_conditions where qgate_uuid=#{qGateUuid}
order by created_at asc
</select>
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
index 9fbedf68527..00c61babc89 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
@@ -4,11 +4,10 @@
<mapper namespace="org.sonar.db.qualitygate.QualityGateMapper">
<sql id="gateColumns">
- id, name, uuid, is_built_in as isBuiltIn, created_at as createdAt, updated_at as updatedAt
+ uuid, name, is_built_in as isBuiltIn, created_at as createdAt, updated_at as updatedAt
</sql>
<sql id="qateWithOrgColumns">
- qg.id as id,
qg.uuid as uuid,
qg.name as name,
qg.is_built_in as isBuiltIn,
@@ -17,7 +16,7 @@
qg.updated_at as updatedAd
</sql>
- <insert id="insertQualityGate" parameterType="QualityGate" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
+ <insert id="insertQualityGate" parameterType="QualityGate" useGeneratedKeys="false">
insert into quality_gates (uuid, name, is_built_in, created_at, updated_at)
values (#{uuid, jdbcType=VARCHAR}, #{name, jdbcType=VARCHAR}, #{isBuiltIn, jdbcType=BOOLEAN}, #{createdAt, jdbcType=TIMESTAMP}, #{updatedAt, jdbcType=TIMESTAMP})
</insert>
@@ -72,17 +71,6 @@
qg.name = #{name, jdbcType=VARCHAR}
</select>
- <select id="selectByIdAndOrganization" parameterType="Map" resultType="org.sonar.db.qualitygate.QGateWithOrgDto">
- SELECT
- <include refid="qateWithOrgColumns"/>
- FROM
- quality_gates qg
- INNER JOIN
- org_quality_gates oqg ON oqg.quality_gate_uuid = qg.uuid AND oqg.organization_uuid = #{organizationUuid, jdbcType=VARCHAR}
- WHERE
- qg.id = #{id, jdbcType=BIGINT}
- </select>
-
<select id="selectByProjectUuid" parameterType="Map" resultType="org.sonar.db.qualitygate.QualityGateDto">
SELECT
<include refid="gateColumns"/>
@@ -92,13 +80,6 @@
project_qgates pqg ON pqg.quality_gate_uuid = qg.uuid AND pqg.project_uuid = #{projectUuid, jdbcType=VARCHAR}
</select>
- <select id="selectById" parameterType="long" resultType="QualityGate">
- select
- <include refid="gateColumns"/>
- from quality_gates
- where id=#{id, jdbcType=BIGINT}
- </select>
-
<select id="selectBuiltIn" resultType="org.sonar.db.qualitygate.QualityGateDto">
SELECT
<include refid="gateColumns"/>
diff --git a/server/sonar-db-dao/src/schema/schema-sq.ddl b/server/sonar-db-dao/src/schema/schema-sq.ddl
index 4712533869b..62d4ba46945 100644
--- a/server/sonar-db-dao/src/schema/schema-sq.ddl
+++ b/server/sonar-db-dao/src/schema/schema-sq.ddl
@@ -769,7 +769,6 @@ CREATE INDEX "QPROFILE_EDIT_USERS_QPROFILE" ON "QPROFILE_EDIT_USERS"("QPROFILE_U
CREATE UNIQUE INDEX "QPROFILE_EDIT_USERS_UNIQUE" ON "QPROFILE_EDIT_USERS"("USER_ID", "QPROFILE_UUID");
CREATE TABLE "QUALITY_GATE_CONDITIONS"(
- "QGATE_ID" INTEGER,
"PERIOD" INTEGER,
"OPERATOR" VARCHAR(3),
"VALUE_ERROR" VARCHAR(64),
@@ -777,20 +776,19 @@ CREATE TABLE "QUALITY_GATE_CONDITIONS"(
"CREATED_AT" TIMESTAMP,
"UPDATED_AT" TIMESTAMP,
"UUID" VARCHAR(40) NOT NULL,
- "METRIC_UUID" VARCHAR(40) NOT NULL
+ "METRIC_UUID" VARCHAR(40) NOT NULL,
+ "QGATE_UUID" VARCHAR(40) NOT NULL
);
ALTER TABLE "QUALITY_GATE_CONDITIONS" ADD CONSTRAINT "PK_QUALITY_GATE_CONDITIONS" PRIMARY KEY("UUID");
CREATE TABLE "QUALITY_GATES"(
- "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
"UUID" VARCHAR(40) NOT NULL,
"NAME" VARCHAR(100) NOT NULL,
"IS_BUILT_IN" BOOLEAN NOT NULL,
"CREATED_AT" TIMESTAMP,
"UPDATED_AT" TIMESTAMP
);
-ALTER TABLE "QUALITY_GATES" ADD CONSTRAINT "PK_QUALITY_GATES" PRIMARY KEY("ID");
-CREATE UNIQUE INDEX "UNIQ_QUALITY_GATES_UUID" ON "QUALITY_GATES"("UUID");
+ALTER TABLE "QUALITY_GATES" ADD CONSTRAINT "PK_QUALITY_GATES" PRIMARY KEY("UUID");
CREATE TABLE "RULE_REPOSITORIES"(
"KEE" VARCHAR(200) NOT NULL,
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest.java
index bf51a18a519..890b72652cc 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest.java
@@ -57,10 +57,10 @@ public class ProjectQgateAssociationDaoTest {
.build());
assertThat(result)
- .extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getKey, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateId)
+ .extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getKey, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateUuid)
.containsExactlyInAnyOrder(
- tuple(project1.uuid(), project1.getKey(), project1.name(), qualityGate1.getId().toString()),
- tuple(project2.uuid(), project2.getKey(), project2.name(), qualityGate1.getId().toString()),
+ tuple(project1.uuid(), project1.getKey(), project1.name(), qualityGate1.getUuid()),
+ tuple(project2.uuid(), project2.getKey(), project2.name(), qualityGate1.getUuid()),
tuple(project3.uuid(), project3.getKey(), project3.name(), null));
}
@@ -78,16 +78,16 @@ public class ProjectQgateAssociationDaoTest {
.qualityGate(qualityGate)
.membership(ProjectQgateAssociationQuery.IN)
.build()))
- .extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateId)
+ .extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateUuid)
.containsExactlyInAnyOrder(
- tuple(project1.uuid(), project1.name(), qualityGate.getId().toString()),
- tuple(project2.uuid(), project2.name(), qualityGate.getId().toString()));
+ tuple(project1.uuid(), project1.name(), qualityGate.getUuid()),
+ tuple(project2.uuid(), project2.name(), qualityGate.getUuid()));
assertThat(underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate)
.membership(ProjectQgateAssociationQuery.OUT)
.build()))
- .extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateId)
+ .extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateUuid)
.containsExactlyInAnyOrder(tuple(project3.uuid(), project3.name(), null));
}
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDaoTest.java
index 3c94e1d57d3..07acebe1be8 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDaoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDaoTest.java
@@ -44,7 +44,7 @@ public class QualityGateConditionDaoTest {
@Test
public void testInsert() {
- QualityGateConditionDto newCondition = insertQGCondition(1L, "2", "GT", "20");
+ QualityGateConditionDto newCondition = insertQGCondition("1", "2", "GT", "20");
assertThat(newCondition.getUuid()).isNotNull();
QualityGateConditionDto actual = underTest.selectByUuid(newCondition.getUuid(), dbSession);
@@ -53,15 +53,15 @@ public class QualityGateConditionDaoTest {
@Test
public void testSelectForQualityGate() {
- long qg1Id = 1L;
- long qg2Id = 2L;
+ String qg1Uuid = "1";
+ String qg2Uuid = "2";
int qg1Conditions = 2 + new Random().nextInt(5);
int qg2Conditions = 10 + new Random().nextInt(5);
- IntStream.range(0, qg1Conditions).forEach(i -> insertQGCondition(qg1Id));
- IntStream.range(0, qg2Conditions).forEach(i -> insertQGCondition(qg2Id));
+ IntStream.range(0, qg1Conditions).forEach(i -> insertQGCondition(qg1Uuid));
+ IntStream.range(0, qg2Conditions).forEach(i -> insertQGCondition(qg2Uuid));
- Collection<QualityGateConditionDto> conditions = underTest.selectForQualityGate(dbSession, qg1Id);
+ Collection<QualityGateConditionDto> conditions = underTest.selectForQualityGate(dbSession, qg1Uuid);
assertThat(conditions).hasSize(qg1Conditions);
assertThat(conditions)
.extracting("uuid")
@@ -69,7 +69,7 @@ public class QualityGateConditionDaoTest {
.sorted(Comparator.comparing(QualityGateConditionDto::getCreatedAt))
.map(QualityGateConditionDto::getUuid).toArray());
- conditions = underTest.selectForQualityGate(dbSession, qg2Id);
+ conditions = underTest.selectForQualityGate(dbSession, qg2Uuid);
assertThat(conditions).hasSize(qg2Conditions);
assertThat(conditions)
.extracting("uuid")
@@ -78,12 +78,12 @@ public class QualityGateConditionDaoTest {
.map(QualityGateConditionDto::getUuid)
.toArray());
- assertThat(underTest.selectForQualityGate(dbSession, 5)).isEmpty();
+ assertThat(underTest.selectForQualityGate(dbSession, "5")).isEmpty();
}
@Test
public void testSelectByUuid() {
- QualityGateConditionDto condition = insertQGCondition(1L, "2", "GT", "20");
+ QualityGateConditionDto condition = insertQGCondition("1", "2", "GT", "20");
assertEquals(underTest.selectByUuid(condition.getUuid(), dbSession), condition);
assertThat(underTest.selectByUuid("uuid1", dbSession)).isNull();
@@ -91,8 +91,8 @@ public class QualityGateConditionDaoTest {
@Test
public void testDelete() {
- QualityGateConditionDto condition1 = insertQGCondition(2L);
- QualityGateConditionDto condition2 = insertQGCondition(3L);
+ QualityGateConditionDto condition1 = insertQGCondition("2");
+ QualityGateConditionDto condition2 = insertQGCondition("3");
underTest.delete(condition1, dbSession);
dbSession.commit();
@@ -103,12 +103,12 @@ public class QualityGateConditionDaoTest {
@Test
public void testUpdate() {
- QualityGateConditionDto condition1 = insertQGCondition(2L);
- QualityGateConditionDto condition2 = insertQGCondition(3L);
+ QualityGateConditionDto condition1 = insertQGCondition("2");
+ QualityGateConditionDto condition2 = insertQGCondition("3");
QualityGateConditionDto newCondition1 = new QualityGateConditionDto()
.setUuid(condition1.getUuid())
- .setQualityGateId(condition1.getQualityGateId())
+ .setQualityGateUuid(condition1.getQualityGateUuid())
.setMetricUuid("7")
.setOperator(">")
.setErrorThreshold("80");
@@ -124,9 +124,9 @@ public class QualityGateConditionDaoTest {
public void shouldCleanConditions() {
MetricDto enabledMetric = dbTester.measures().insertMetric(t -> t.setEnabled(true));
MetricDto disabledMetric = dbTester.measures().insertMetric(t -> t.setEnabled(false));
- QualityGateConditionDto condition1 = insertQGCondition(1L, enabledMetric.getUuid());
- QualityGateConditionDto condition2 = insertQGCondition(1L, disabledMetric.getUuid());
- QualityGateConditionDto condition3 = insertQGCondition(1L, "299");
+ QualityGateConditionDto condition1 = insertQGCondition("1", enabledMetric.getUuid());
+ QualityGateConditionDto condition2 = insertQGCondition("1", disabledMetric.getUuid());
+ QualityGateConditionDto condition3 = insertQGCondition("1", "299");
underTest.deleteConditionsWithInvalidMetrics(dbTester.getSession());
dbTester.commit();
@@ -137,18 +137,18 @@ public class QualityGateConditionDaoTest {
assertThat(underTest.selectByUuid(condition3.getUuid(), dbSession)).isNull();
}
- private QualityGateConditionDto insertQGCondition(long qualityGateId) {
- return insertQGCondition(qualityGateId, randomAlphabetic(2));
+ private QualityGateConditionDto insertQGCondition(String qualityGateUuid) {
+ return insertQGCondition(qualityGateUuid, randomAlphabetic(2));
}
- private QualityGateConditionDto insertQGCondition(long qualityGateId, String metricUuid) {
- return insertQGCondition(qualityGateId, metricUuid, randomAlphabetic(2), randomAlphabetic(3));
+ private QualityGateConditionDto insertQGCondition(String qualityGateUuid, String metricUuid) {
+ return insertQGCondition(qualityGateUuid, metricUuid, randomAlphabetic(2), randomAlphabetic(3));
}
- private QualityGateConditionDto insertQGCondition(long qualityGateId, String metricUuid, String operator, String threshold) {
+ private QualityGateConditionDto insertQGCondition(String qualityGateUuid, String metricUuid, String operator, String threshold) {
QualityGateConditionDto res = new QualityGateConditionDto()
.setUuid(Uuids.create())
- .setQualityGateId(qualityGateId)
+ .setQualityGateUuid(qualityGateUuid)
.setMetricUuid(metricUuid)
.setOperator(operator)
.setErrorThreshold(threshold);
@@ -158,7 +158,7 @@ public class QualityGateConditionDaoTest {
}
private void assertEquals(QualityGateConditionDto actual, QualityGateConditionDto expected) {
- assertThat(actual.getQualityGateId()).isEqualTo(expected.getQualityGateId());
+ assertThat(actual.getQualityGateUuid()).isEqualTo(expected.getQualityGateUuid());
assertThat(actual.getMetricUuid()).isEqualTo(expected.getMetricUuid());
assertThat(actual.getOperator()).isEqualTo(expected.getOperator());
assertThat(actual.getErrorThreshold()).isEqualTo(expected.getErrorThreshold());
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java
index f9a502dcc6f..c79b7709359 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java
@@ -54,7 +54,7 @@ public class QualityGateDaoTest {
underTest.insert(dbSession, newQgate);
dbSession.commit();
- QualityGateDto reloaded = underTest.selectById(dbSession, newQgate.getId());
+ QualityGateDto reloaded = underTest.selectByUuid(dbSession, newQgate.getUuid());
assertThat(reloaded.getName()).isEqualTo("My Quality Gate");
assertThat(reloaded.getUuid()).isEqualTo(newQgate.getUuid());
assertThat(reloaded.isBuiltIn()).isFalse();
@@ -71,8 +71,8 @@ public class QualityGateDaoTest {
assertThat(underTest.selectByOrganizationAndUuid(dbSession, org, qgate.getUuid())).isNotNull();
assertThat(underTest.selectByOrganizationAndUuid(dbSession, org, qgate.getUuid()))
- .extracting(QGateWithOrgDto::getId, QGateWithOrgDto::getUuid, QGateWithOrgDto::getOrganizationUuid, QGateWithOrgDto::getName)
- .containsExactly(qgate.getId(), qgate.getUuid(), org.getUuid(), qgate.getName());
+ .extracting(QGateWithOrgDto::getUuid, QGateWithOrgDto::getUuid, QGateWithOrgDto::getOrganizationUuid, QGateWithOrgDto::getName)
+ .containsExactly(qgate.getUuid(), qgate.getUuid(), org.getUuid(), qgate.getName());
}
@Test
@@ -107,8 +107,8 @@ public class QualityGateDaoTest {
@Test
public void testSelectById() {
insertQualityGates();
- assertThat(underTest.selectById(dbSession, underTest.selectByName(dbSession, "Very strict").getId()).getName()).isEqualTo("Very strict");
- assertThat(underTest.selectById(dbSession, -1L)).isNull();
+ assertThat(underTest.selectByUuid(dbSession, underTest.selectByName(dbSession, "Very strict").getUuid()).getName()).isEqualTo("Very strict");
+ assertThat(underTest.selectByUuid(dbSession, "-1")).isNull();
}
@Test
@@ -151,9 +151,9 @@ public class QualityGateDaoTest {
OrganizationDto otherOrganization = db.organizations().insert();
QGateWithOrgDto qualityGate3 = db.qualityGates().insertQualityGate(otherOrganization);
- assertThat(underTest.selectByOrganizationAndId(dbSession, organization, qualityGate1.getId()).getUuid()).isEqualTo(qualityGate1.getUuid());
- assertThat(underTest.selectByOrganizationAndId(dbSession, otherOrganization, qualityGate3.getId()).getUuid()).isEqualTo(qualityGate3.getUuid());
- assertThat(underTest.selectByOrganizationAndId(dbSession, organization, 123L)).isNull();
+ assertThat(underTest.selectByOrganizationAndUuid(dbSession, organization, qualityGate1.getUuid()).getUuid()).isEqualTo(qualityGate1.getUuid());
+ assertThat(underTest.selectByOrganizationAndUuid(dbSession, otherOrganization, qualityGate3.getUuid()).getUuid()).isEqualTo(qualityGate3.getUuid());
+ assertThat(underTest.selectByOrganizationAndUuid(dbSession, organization, "123")).isNull();
}
@Test
diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
index 68150491124..7008054b1e1 100644
--- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
+++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
@@ -93,7 +93,7 @@ public class QualityGateDbTester {
@SafeVarargs
public final QualityGateConditionDto addCondition(QualityGateDto qualityGate, MetricDto metric, Consumer<QualityGateConditionDto>... dtoPopulators) {
- QualityGateConditionDto condition = new QualityGateConditionDto().setQualityGateId(qualityGate.getId())
+ QualityGateConditionDto condition = new QualityGateConditionDto().setQualityGateUuid(qualityGate.getUuid())
.setUuid(Uuids.createFast())
.setMetricUuid(metric.getUuid())
.setOperator("GT")