diff options
author | Pierre <pierre.guillot@sonarsource.com> | 2020-04-20 09:53:17 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2020-05-25 20:05:21 +0000 |
commit | ac532a55b9c7ee51b8ad3516103b453f030392d6 (patch) | |
tree | 44c32aa7e245542fc1e105f339890e2b0a08d46d /server/sonar-db-dao | |
parent | 16b2b85fc200856e65175663bbe2477012be9275 (diff) | |
download | sonarqube-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')
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") |