]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-13999 drop completely usage of association between QualityGate and Organization
authorJacek <jacek.poreda@sonarsource.com>
Wed, 16 Dec 2020 09:54:20 +0000 (10:54 +0100)
committersonartech <sonartech@sonarsource.com>
Tue, 22 Dec 2020 20:09:37 +0000 (20:09 +0000)
server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QGateWithOrgDto.java [deleted file]
server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateDao.java
server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateMapper.java
server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java
server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
server/sonar-webserver-auth/src/main/java/org/sonar/server/organization/OrganizationUpdaterImpl.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/QualityGateUpdater.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/metric/ws/DeleteActionTest.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/qualitygate/ws/DestroyActionTest.java

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
deleted file mode 100644 (file)
index 0289a88..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.db.qualitygate;
-
-import java.util.Date;
-
-/**
- * This Dto is a join between QualityGates and Organizations.
- *
- * Tables : QUALITY_GATES joined with ORG_QUALITY_GATES
- */
-public class QGateWithOrgDto extends QualityGateDto {
-  private String organizationUuid;
-
-  public String getOrganizationUuid() {
-    return organizationUuid;
-  }
-
-  public void setOrganizationUuid(String organizationUuid) {
-    this.organizationUuid = organizationUuid;
-  }
-
-  @Override
-  public QGateWithOrgDto setUuid(String uuid) {
-    super.setUuid(uuid);
-    return this;
-  }
-
-  @Override
-  public QGateWithOrgDto setName(String name) {
-    super.setName(name);
-    return this;
-  }
-
-  @Override
-  public QGateWithOrgDto setBuiltIn(boolean builtIn) {
-    super.setBuiltIn(builtIn);
-    return this;
-  }
-
-  @Override
-  public QGateWithOrgDto setCreatedAt(Date createdAt) {
-    super.setCreatedAt(createdAt);
-    return this;
-  }
-
-  @Override
-  public QGateWithOrgDto setUpdatedAt(Date updatedAt) {
-    super.setUpdatedAt(updatedAt);
-    return this;
-  }
-}
index b0d65fe64b74a5b7c6c120ff4f9abb083f1caa40..18307a0b973fa56b1b82e53c5ffbf4be026976e8 100644 (file)
@@ -26,18 +26,13 @@ import org.sonar.core.util.UuidFactory;
 import org.sonar.db.Dao;
 import org.sonar.db.DatabaseUtils;
 import org.sonar.db.DbSession;
-import org.sonar.db.organization.OrganizationDto;
-import org.sonar.db.property.InternalPropertiesDao;
 
 public class QualityGateDao implements Dao {
-  private static final String DEFAULT_ORGANIZATION_PROPERTY_KEY = "organization.default";
 
   private final UuidFactory uuidFactory;
-  private final InternalPropertiesDao internalPropertiesDao;
 
-  public QualityGateDao(UuidFactory uuidFactory, InternalPropertiesDao internalPropertiesDao) {
+  public QualityGateDao(UuidFactory uuidFactory) {
     this.uuidFactory = uuidFactory;
-    this.internalPropertiesDao = internalPropertiesDao;
   }
 
   public QualityGateDto insert(DbSession session, QualityGateDto newQualityGate) {
@@ -47,30 +42,8 @@ public class QualityGateDao implements Dao {
     return newQualityGate;
   }
 
-  /**
-   * @deprecated drop when org are dropped
-   */
-  @Deprecated
-  public void associate(DbSession dbSession, String uuid, OrganizationDto organization, QualityGateDto qualityGate) {
-    mapper(dbSession).insertOrgQualityGate(uuid, organization.getUuid(), qualityGate.getUuid());
-  }
-
-  public void associate(DbSession dbSession, String uuid, QualityGateDto qualityGate) {
-    String defaultOrganizationUuid = getDefaultOrganizationUuid(dbSession);
-    mapper(dbSession).insertOrgQualityGate(uuid, defaultOrganizationUuid, qualityGate.getUuid());
-  }
-
   public Collection<QualityGateDto> selectAll(DbSession session) {
-    String defaultOrganizationUuid = getDefaultOrganizationUuid(session);
-    return selectAll(session, defaultOrganizationUuid);
-  }
-
-  /**
-   * @deprecated drop when org are dropped
-   */
-  @Deprecated
-  public Collection<QualityGateDto> selectAll(DbSession session, String organizationUuid) {
-    return mapper(session).selectAll(organizationUuid);
+    return mapper(session).selectAll();
   }
 
   @CheckForNull
@@ -83,30 +56,8 @@ public class QualityGateDao implements Dao {
     return mapper(session).selectByUuid(uuid);
   }
 
-  @CheckForNull
-  public QGateWithOrgDto selectByDefaultOrganizationAndUuid(DbSession dbSession, String qualityGateUuid) {
-    String defaultOrganizationUuid = getDefaultOrganizationUuid(dbSession);
-    return mapper(dbSession).selectByUuidAndOrganization(qualityGateUuid, defaultOrganizationUuid);
-  }
-
-  /**
-   * @deprecated drop when org are dropped
-   */
-  @CheckForNull
-  @Deprecated
-  public QGateWithOrgDto selectByOrganizationAndUuid(DbSession dbSession, OrganizationDto organization, String qualityGateUuid) {
-    return mapper(dbSession).selectByUuidAndOrganization(qualityGateUuid, organization.getUuid());
-  }
-
-  @CheckForNull
-  public QGateWithOrgDto selectByDefaultOrganizationAndName(DbSession session, String name) {
-    String defaultOrganizationUuid = getDefaultOrganizationUuid(session);
-    return mapper(session).selectByNameAndOrganization(name, defaultOrganizationUuid);
-  }
-
   public void delete(QualityGateDto qGate, DbSession session) {
     mapper(session).delete(qGate.getUuid());
-    mapper(session).deleteOrgQualityGatesByQualityGateUuid(qGate.getUuid());
   }
 
   public void deleteByUuids(DbSession session, Collection<String> uuids) {
@@ -114,10 +65,6 @@ public class QualityGateDao implements Dao {
     DatabaseUtils.executeLargeUpdates(uuids, mapper::deleteByUuids);
   }
 
-  public void deleteOrgQualityGatesByOrganization(DbSession session, OrganizationDto organization) {
-    mapper(session).deleteOrgQualityGatesByOrganization(organization.getUuid());
-  }
-
   public void update(QualityGateDto qGate, DbSession session) {
     mapper(session).update(qGate.setUpdatedAt(new Date()));
   }
@@ -137,9 +84,4 @@ public class QualityGateDao implements Dao {
   public QualityGateDto selectByProjectUuid(DbSession dbSession, String projectUuid) {
     return mapper(dbSession).selectByProjectUuid(projectUuid);
   }
-
-  private String getDefaultOrganizationUuid(DbSession dbSession) {
-    return internalPropertiesDao.selectByKey(dbSession, DEFAULT_ORGANIZATION_PROPERTY_KEY)
-      .orElseThrow(() -> new IllegalStateException("Default organization does not exist."));
-  }
 }
index b30c4c86cc937435e687dab5f370767bd1900c48..12c8657f25dc70e2bfa3148b03a2e475c4dfd51f 100644 (file)
@@ -27,28 +27,16 @@ public interface QualityGateMapper {
 
   void insertQualityGate(QualityGateDto qualityGate);
 
-  void insertOrgQualityGate(@Param("uuid") String uuid, @Param("organizationUuid") String organizationUuid, @Param("qualityGateUuid") String qualityGateUuuid);
-
-  List<QualityGateDto> selectAll(@Param("organizationUuid") String organizationUuid);
+  List<QualityGateDto> selectAll();
 
   QualityGateDto selectByName(String name);
 
-  QGateWithOrgDto selectByUuidAndOrganization(@Param("qualityGateUuid") String qualityGateUuid, @Param("organizationUuid") String organizationUuid);
-
-  QGateWithOrgDto selectByNameAndOrganization(@Param("name") String name, @Param("organizationUuid") String organizationUuid);
-
-  QGateWithOrgDto selectDefault(@Param("organizationUuid") String organizationUuid);
-
   QualityGateDto selectBuiltIn();
 
   void delete(String uuid);
 
   void deleteByUuids(@Param("uuids") Collection<String> uuids);
 
-  void deleteOrgQualityGatesByQualityGateUuid(String uuid);
-
-  void deleteOrgQualityGatesByOrganization(@Param("organizationUuid") String organizationUuid);
-
   void update(QualityGateDto qGate);
 
   void ensureOneBuiltInQualityGate(String builtInQualityName);
index 3668da9ca756cf43bf51cd690033311ad625ed0e..494bccb3f6d6e45639b0ae0c6895c319ad4b013f 100644 (file)
@@ -7,31 +7,15 @@
       uuid, name, is_built_in as isBuiltIn, created_at as createdAt, updated_at as updatedAt
   </sql>
 
-  <sql id="qateWithOrgColumns">
-    qg.uuid as uuid,
-    qg.name as name,
-    qg.is_built_in as isBuiltIn,
-    oqg.organization_uuid as organizationUuid,
-    qg.created_at as createdAt,
-    qg.updated_at as updatedAd
-  </sql>
-
   <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>
 
-  <insert id="insertOrgQualityGate" parameterType="Map">
-    INSERT INTO org_quality_gates (uuid, organization_uuid, quality_gate_uuid)
-    VALUES (#{uuid, jdbcType=VARCHAR}, #{organizationUuid, jdbcType=VARCHAR}, #{qualityGateUuid, jdbcType=VARCHAR})
-  </insert>
-
-  <select id="selectAll" resultType="org.sonar.db.qualitygate.QGateWithOrgDto">
+  <select id="selectAll" resultType="QualityGate">
     SELECT
-      <include refid="qateWithOrgColumns"/>
+    <include refid="gateColumns"/>
     FROM quality_gates qg
-    INNER JOIN
-      org_quality_gates oqg ON oqg.quality_gate_uuid = qg.uuid AND oqg.organization_uuid = #{organizationUuid, jdbcType=VARCHAR}
     ORDER BY qg.name ASC
   </select>
 
     where uuid=#{uuid, jdbcType=VARCHAR}
   </select>
 
-  <select id="selectByUuidAndOrganization" 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.uuid = #{qualityGateUuid, jdbcType=VARCHAR}
-  </select>
-
-  <select id="selectByNameAndOrganization" 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.name = #{name, jdbcType=VARCHAR}
-  </select>
-
   <select id="selectByProjectUuid" parameterType="Map" resultType="org.sonar.db.qualitygate.QualityGateDto">
     SELECT
     <include refid="gateColumns"/>
     <foreach collection="uuids" open="(" close=")" item="uuid" separator=",">#{uuid, jdbcType=VARCHAR}</foreach>
   </update>
 
-  <update id="deleteOrgQualityGatesByQualityGateUuid" parameterType="String">
-    delete from org_quality_gates where quality_gate_uuid=#{uuid}
-  </update>
-
-  <update id="deleteOrgQualityGatesByOrganization" parameterType="String">
-    delete from org_quality_gates
-    where organization_uuid = #{organizationUuid, jdbcType=VARCHAR}
-  </update>
-
   <update id="update" parameterType="QualityGate">
     update quality_gates set
     name=#{name},
index 814adc717e22b8d682e304143072e724f85ebb43..086f29f039aead40b98f1174ef5611631d86255c 100644 (file)
@@ -29,18 +29,17 @@ import org.sonar.db.DbSession;
 import org.sonar.db.DbTester;
 import org.sonar.db.project.ProjectDto;
 
-import static java.lang.String.format;
 import static java.util.Arrays.asList;
 import static org.assertj.core.api.Assertions.assertThat;
 
 public class QualityGateDaoTest {
 
   @Rule
-  public DbTester db = DbTester.create(System2.INSTANCE);
+  public final DbTester db = DbTester.create(System2.INSTANCE);
 
-  private QualityGateDbTester qualityGateDbTester = new QualityGateDbTester(db);
-  private DbSession dbSession = db.getSession();
-  private QualityGateDao underTest = db.getDbClient().qualityGateDao();
+  private final QualityGateDbTester qualityGateDbTester = new QualityGateDbTester(db);
+  private final DbSession dbSession = db.getSession();
+  private final QualityGateDao underTest = db.getDbClient().qualityGateDao();
 
   @Test
   public void insert() {
@@ -61,20 +60,6 @@ public class QualityGateDaoTest {
     assertThat(reloaded.getUpdatedAt()).isNotNull();
   }
 
-  // TODO::
-  // @Test
-  // public void associate() {
-  // QualityGateDto qgate = db.qualityGates().(db.getDefaultOrganization());
-  // OrganizationDto org = db.organizations().insert();
-  //
-  // underTest.associate(dbSession, Uuids.createFast(), org, qgate);
-  //
-  // assertThat(underTest.selectByOrganizationAndUuid(dbSession, org, qgate.getUuid())).isNotNull();
-  // assertThat(underTest.selectByOrganizationAndUuid(dbSession, org, qgate.getUuid()))
-  // .extracting(QualityGateDto::getUuid, QualityGateDto::getUuid, QualityGateDto::getOrganizationUuid, QualityGateDto::getName)
-  // .containsExactly(qgate.getUuid(), qgate.getUuid(), org.getUuid(), qgate.getName());
-  // }
-
   @Test
   public void insert_built_in() {
     underTest.insert(db.getSession(), new QualityGateDto().setName("test").setBuiltIn(true).setUuid(Uuids.createFast()));
@@ -116,28 +101,6 @@ public class QualityGateDaoTest {
     assertThat(underTest.selectByUuid(dbSession, "not-existing-uuid")).isNull();
   }
 
-  @Test
-  public void select_by_organization_and_name() {
-    QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
-    QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate();
-    QualityGateDto qualityGate3 = db.qualityGates().insertQualityGate();
-
-    assertThat(underTest.selectByDefaultOrganizationAndName(dbSession, qualityGate1.getName()).getUuid()).isEqualTo(qualityGate1.getUuid());
-    assertThat(underTest.selectByDefaultOrganizationAndName(dbSession, qualityGate3.getName()).getUuid()).isEqualTo(qualityGate3.getUuid());
-    assertThat(underTest.selectByDefaultOrganizationAndName(dbSession, "Unknown")).isNull();
-  }
-
-  @Test
-  public void select_by_organization_and_id() {
-    QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
-    QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate();
-    QualityGateDto qualityGate3 = db.qualityGates().insertQualityGate();
-
-    assertThat(underTest.selectByDefaultOrganizationAndUuid(dbSession, qualityGate1.getUuid()).getUuid()).isEqualTo(qualityGate1.getUuid());
-    assertThat(underTest.selectByDefaultOrganizationAndUuid(dbSession, qualityGate3.getUuid()).getUuid()).isEqualTo(qualityGate3.getUuid());
-    assertThat(underTest.selectByDefaultOrganizationAndUuid(dbSession, "123")).isNull();
-  }
-
   @Test
   public void select_by_project_uuid() {
     ProjectDto project = db.components().insertPrivateProjectDto();
@@ -161,10 +124,8 @@ public class QualityGateDaoTest {
     underTest.delete(qualityGate, dbSession);
     dbSession.commit();
 
-    assertThat(underTest.selectByDefaultOrganizationAndUuid(dbSession, qualityGate.getUuid())).isNull();
-    assertThat(db.countSql(dbSession, format("select count(*) from org_quality_gates where quality_gate_uuid='%s'", qualityGate.getUuid()))).isZero();
-    assertThat(underTest.selectByDefaultOrganizationAndUuid(dbSession, otherQualityGate.getUuid())).isNotNull();
-    assertThat(db.countSql(dbSession, format("select count(*) from org_quality_gates where quality_gate_uuid='%s'", otherQualityGate.getUuid()))).isEqualTo(1);
+    assertThat(underTest.selectByUuid(dbSession, qualityGate.getUuid())).isNull();
+    assertThat(underTest.selectByUuid(dbSession, otherQualityGate.getUuid())).isNotNull();
   }
 
   @Test
@@ -189,22 +150,6 @@ public class QualityGateDaoTest {
     assertThat(db.countRowsOfTable(dbSession, "quality_gates")).isEqualTo(nbOfQualityGates);
   }
 
-  // TODO::
-  // @Test
-  // public void deleteOrgQualityGatesByOrganization() {
-  // OrganizationDto organization = db.organizations().insert();
-  // qualityGateDbTester.insertQualityGate(organization);
-  // OrganizationDto otherOrganization = db.organizations().insert();
-  // qualityGateDbTester.insertQualityGate(otherOrganization);
-  //
-  // underTest.deleteOrgQualityGatesByOrganization(dbSession, organization);
-  // dbSession.commit();
-  //
-  // assertThat(db.select("select organization_uuid as \"organizationUuid\" from org_quality_gates"))
-  // .extracting(row -> (String) row.get("organizationUuid"))
-  // .containsOnly(otherOrganization.getUuid());
-  // }
-
   @Test
   public void update() {
     QualityGateDto qualityGate = qualityGateDbTester.insertQualityGate(qg -> qg.setName("old name"));
@@ -212,10 +157,38 @@ public class QualityGateDaoTest {
     underTest.update(qualityGate.setName("Not so strict"), dbSession);
     dbSession.commit();
 
-    QualityGateDto reloaded = underTest.selectByDefaultOrganizationAndUuid(dbSession, qualityGate.getUuid());
+    QualityGateDto reloaded = underTest.selectByUuid(dbSession, qualityGate.getUuid());
     assertThat(reloaded.getName()).isEqualTo("Not so strict");
   }
 
+  @Test
+  public void selectBuiltIn() {
+    QualityGateDto builtInQualityGate = qualityGateDbTester.insertQualityGate(qg -> qg.setName("Built in").setBuiltIn(true));
+    QualityGateDto qualityGate = qualityGateDbTester.insertQualityGate(qg -> qg.setName("Random quality gate").setBuiltIn(false));
+    dbSession.commit();
+
+    QualityGateDto result = underTest.selectBuiltIn(dbSession);
+
+    assertThat(result.getUuid()).isEqualTo(builtInQualityGate.getUuid());
+    assertThat(result.getName()).isEqualTo(builtInQualityGate.getName());
+  }
+
+  @Test
+  public void ensureOneBuiltInQualityGate() {
+    String builtInQgName = "Sonar Way";
+    QualityGateDto builtInQualityGate = qualityGateDbTester.insertQualityGate(qg -> qg.setName(builtInQgName).setBuiltIn(true));
+    QualityGateDto qualityGate1 = qualityGateDbTester.insertQualityGate(qg -> qg.setName("QG1").setBuiltIn(true));
+    QualityGateDto qualityGate2 = qualityGateDbTester.insertQualityGate(qg -> qg.setName("QG2"));
+
+    underTest.ensureOneBuiltInQualityGate(dbSession, builtInQgName);
+    dbSession.commit();
+
+    QualityGateDto reloaded = underTest.selectByName(dbSession, builtInQgName);
+    assertThat(reloaded.getUuid()).isEqualTo(builtInQualityGate.getUuid());
+    assertThat(reloaded.getName()).isEqualTo(builtInQualityGate.getName());
+    assertThat(reloaded.isBuiltIn()).isTrue();
+  }
+
   private void insertQualityGates() {
     qualityGateDbTester.insertQualityGate(g -> g.setName("Very strict").setBuiltIn(false));
     qualityGateDbTester.insertQualityGate(g -> g.setName("Balanced").setBuiltIn(false));
index 7717df2cda6eb8cce2e2a502d4e8ed99cbf06b20..e33bf030acab3aceceae1634e2ac37a8d3aa51a4 100644 (file)
@@ -28,7 +28,6 @@ import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.DbTester;
 import org.sonar.db.metric.MetricDto;
-import org.sonar.db.organization.OrganizationDto;
 import org.sonar.db.project.ProjectDto;
 import org.sonar.db.property.PropertyDto;
 
@@ -59,22 +58,15 @@ public class QualityGateDbTester {
   }
 
   @SafeVarargs
-  public final QGateWithOrgDto insertQualityGate(Consumer<QualityGateDto>... dtoPopulators) {
-    return insertQualityGate(db.getDefaultOrganization(), dtoPopulators);
-  }
-
-  @Deprecated
-  @SafeVarargs
-  public final QGateWithOrgDto insertQualityGate(OrganizationDto organization, Consumer<QualityGateDto>... dtoPopulators) {
+  public final QualityGateDto insertQualityGate(Consumer<QualityGateDto>... dtoPopulators) {
     QualityGateDto qualityGate = new QualityGateDto()
       .setName(randomAlphanumeric(30))
       .setUuid(Uuids.createFast())
       .setBuiltIn(false);
     Arrays.stream(dtoPopulators).forEach(dtoPopulator -> dtoPopulator.accept(qualityGate));
     dbClient.qualityGateDao().insert(dbSession, qualityGate);
-    dbClient.qualityGateDao().associate(dbSession, Uuids.createFast(), organization, qualityGate);
     db.commit();
-    return dbClient.qualityGateDao().selectByOrganizationAndUuid(dbSession, organization, qualityGate.getUuid());
+    return dbClient.qualityGateDao().selectByUuid(dbSession, qualityGate.getUuid());
   }
 
   public void associateProjectToQualityGate(ProjectDto project, QualityGateDto qualityGate) {
@@ -82,12 +74,6 @@ public class QualityGateDbTester {
     db.commit();
   }
 
-  @Deprecated
-  public void associateQualityGateToOrganization(QualityGateDto qualityGate, OrganizationDto organization) {
-    dbClient.qualityGateDao().associate(dbSession, Uuids.createFast(), organization, qualityGate);
-    db.commit();
-  }
-
   @SafeVarargs
   public final QualityGateDto createDefaultQualityGate(Consumer<QualityGateDto>... dtoPopulators) {
     QualityGateDto defaultQGate = insertQualityGate(dtoPopulators);
index b16accd3ecbe20be0cd1e282c1a1ba57824da8f2..f321b6be7374061b6eca28d90556922fc312827a 100644 (file)
@@ -97,7 +97,6 @@ public class OrganizationUpdaterImpl implements OrganizationUpdater {
     QualityGateDto builtInQualityGate = dbClient.qualityGateDao().selectBuiltIn(dbSession);
     OrganizationDto organization = insertOrganization(dbSession, newOrganization, builtInQualityGate);
     beforeCommit.accept(organization);
-    dbClient.qualityGateDao().associate(dbSession, uuidFactory.create(), organization, builtInQualityGate);
     GroupDto ownerGroup = insertOwnersGroup(dbSession);
     GroupDto defaultGroup = defaultGroupCreator.create(dbSession);
     insertDefaultTemplateOnGroups(dbSession, organization, ownerGroup, defaultGroup);
index 859adc1203adcfdebc889cbf66366a820974dce6..47d29f0c5a296e3e28d67194444efb758067cebd 100644 (file)
@@ -46,7 +46,6 @@ public class QualityGateUpdater {
       .setBuiltIn(false)
       .setUuid(uuidFactory.create());
     dbClient.qualityGateDao().insert(dbSession, newQualityGate);
-    dbClient.qualityGateDao().associate(dbSession, uuidFactory.create(), newQualityGate);
     return newQualityGate;
   }
 
index dcf914b35073d4041b317bce64db761a86f6bae2..fc2608d79fa0eeea87dec9f18963fe0fdb340474 100644 (file)
@@ -54,8 +54,8 @@ public class DeleteActionTest {
   @Rule
   public DbTester db = DbTester.create(System2.INSTANCE);
 
-  private DbClient dbClient = db.getDbClient();
-  private WsActionTester ws = new WsActionTester(new DeleteAction(dbClient, userSessionRule));
+  private final DbClient dbClient = db.getDbClient();
+  private final WsActionTester ws = new WsActionTester(new DeleteAction(dbClient, userSessionRule));
 
   @Test
   public void verify_definition() {
@@ -126,9 +126,9 @@ public class DeleteActionTest {
     loggedAsSystemAdministrator();
     MetricDto customMetric = insertCustomMetric("custom-key");
     MetricDto nonCustomMetric = insertMetric(newMetricDto().setEnabled(true).setUserManaged(false).setKey("non-custom"));
-    QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate(db.getDefaultOrganization());
+    QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
     db.qualityGates().addCondition(qualityGate1, customMetric);
-    QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate(db.getDefaultOrganization());
+    QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate();
     db.qualityGates().addCondition(qualityGate2, customMetric);
     db.qualityGates().addCondition(qualityGate2, nonCustomMetric);
 
index 08968ed41aa5788a6b8175cb92ab62ca4eba88e2..e7a28074af8b4810e90571fe56ba6017481bf265 100644 (file)
@@ -24,7 +24,6 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.sonar.api.server.ws.WebService;
 import org.sonar.api.utils.System2;
-import org.sonar.core.util.Uuids;
 import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.DbTester;
@@ -118,7 +117,6 @@ public class DestroyActionTest {
   public void does_not_delete_built_in_quality_gate() {
     db.qualityGates().createDefaultQualityGate();
     QualityGateDto builtInQualityGate = db.qualityGates().insertBuiltInQualityGate();
-    db.getDbClient().qualityGateDao().associate(db.getSession(), Uuids.createFast(), builtInQualityGate);
     db.commit();
     userSession.addPermission(ADMINISTER_QUALITY_GATES);