aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2020-08-10 16:03:27 -0500
committersonartech <sonartech@sonarsource.com>2020-08-14 20:16:19 +0000
commite7c1b404c31bef278240fab976784ab391d952a9 (patch)
tree17008675f581a52fe9be98c7768675a7fa45f5b6 /server/sonar-db-dao
parentcc10a68715444305f7a8d8e1181b39b5a79a2343 (diff)
downloadsonarqube-e7c1b404c31bef278240fab976784ab391d952a9.tar.gz
sonarqube-e7c1b404c31bef278240fab976784ab391d952a9.zip
SONAR-13696 drop PROJECT_ALM_BINDINGS table
Diffstat (limited to 'server/sonar-db-dao')
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java2
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java7
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDao.java97
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDto.java62
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingMapper.java45
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentMapper.java3
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeCommands.java7
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java1
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeMapper.java2
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/alm/ProjectAlmBindingMapper.xml105
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml11
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml4
-rw-r--r--server/sonar-db-dao/src/schema/schema-sq.ddl14
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/alm/ProjectAlmBindingDaoTest.java406
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java17
-rw-r--r--server/sonar-db-dao/src/testFixtures/java/org/sonar/db/alm/AlmDbTester.java7
18 files changed, 0 insertions, 798 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java
index aa3ffa7667d..9a89ca6b267 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java
@@ -25,7 +25,6 @@ import java.util.List;
import org.sonar.core.platform.Module;
import org.sonar.db.alm.AlmAppInstallDao;
import org.sonar.db.alm.OrganizationAlmBindingDao;
-import org.sonar.db.alm.ProjectAlmBindingDao;
import org.sonar.db.alm.pat.AlmPatDao;
import org.sonar.db.alm.setting.AlmSettingDao;
import org.sonar.db.alm.setting.ProjectAlmSettingDao;
@@ -124,7 +123,6 @@ public class DaoModule extends Module {
AlmSettingDao.class,
AlmPatDao.class,
ProjectAlmSettingDao.class,
- ProjectAlmBindingDao.class,
InternalComponentPropertiesDao.class,
InternalPropertiesDao.class,
IssueChangeDao.class,
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java
index 24718f69174..022e0c4dc39 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java
@@ -23,7 +23,6 @@ import java.util.IdentityHashMap;
import java.util.Map;
import org.sonar.db.alm.AlmAppInstallDao;
import org.sonar.db.alm.OrganizationAlmBindingDao;
-import org.sonar.db.alm.ProjectAlmBindingDao;
import org.sonar.db.alm.pat.AlmPatDao;
import org.sonar.db.alm.setting.AlmSettingDao;
import org.sonar.db.alm.setting.ProjectAlmSettingDao;
@@ -108,7 +107,6 @@ public class DbClient {
private final AlmSettingDao almSettingDao;
private final AlmPatDao almPatDao;
private final ProjectAlmSettingDao projectAlmSettingDao;
- private final ProjectAlmBindingDao projectAlmBindingDao;
private final InternalComponentPropertiesDao internalComponentPropertiesDao;
private final InternalPropertiesDao internalPropertiesDao;
private final SnapshotDao snapshotDao;
@@ -180,7 +178,6 @@ public class DbClient {
almSettingDao = getDao(map, AlmSettingDao.class);
almPatDao = getDao(map, AlmPatDao.class);
projectAlmSettingDao = getDao(map, ProjectAlmSettingDao.class);
- projectAlmBindingDao = getDao(map, ProjectAlmBindingDao.class);
schemaMigrationDao = getDao(map, SchemaMigrationDao.class);
authorizationDao = getDao(map, AuthorizationDao.class);
organizationDao = getDao(map, OrganizationDao.class);
@@ -271,10 +268,6 @@ public class DbClient {
return projectAlmSettingDao;
}
- public ProjectAlmBindingDao projectAlmBindingsDao() {
- return projectAlmBindingDao;
- }
-
public SchemaMigrationDao schemaMigrationDao() {
return schemaMigrationDao;
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java b/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java
index 8d31e0f9735..bc390ff1fb1 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java
@@ -36,8 +36,6 @@ import org.apache.ibatis.session.TransactionIsolationLevel;
import org.sonar.api.Startable;
import org.sonar.db.alm.AlmAppInstallMapper;
import org.sonar.db.alm.OrganizationAlmBindingMapper;
-import org.sonar.db.alm.ProjectAlmBindingDto;
-import org.sonar.db.alm.ProjectAlmBindingMapper;
import org.sonar.db.alm.pat.AlmPatMapper;
import org.sonar.db.alm.setting.AlmSettingMapper;
import org.sonar.db.alm.setting.ProjectAlmSettingMapper;
@@ -203,7 +201,6 @@ public class MyBatis implements Startable {
confBuilder.loadAlias("PermissionTemplateUser", PermissionTemplateUserDto.class);
confBuilder.loadAlias("Plugin", PluginDto.class);
confBuilder.loadAlias("PrIssue", PrIssueDto.class);
- confBuilder.loadAlias("ProjectAlmBinding", ProjectAlmBindingDto.class);
confBuilder.loadAlias("ProjectQgateAssociation", ProjectQgateAssociationDto.class);
confBuilder.loadAlias("Project", ProjectDto.class);
confBuilder.loadAlias("ProjectMapping", ProjectMappingDto.class);
@@ -269,7 +266,6 @@ public class MyBatis implements Startable {
PermissionTemplateCharacteristicMapper.class,
PermissionTemplateMapper.class,
PluginMapper.class,
- ProjectAlmBindingMapper.class,
ProjectAlmSettingMapper.class,
ProjectLinkMapper.class,
ProjectMapper.class,
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDao.java
deleted file mode 100644
index c0d20447c3d..00000000000
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDao.java
+++ /dev/null
@@ -1,97 +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.alm;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import javax.annotation.Nullable;
-import org.sonar.api.utils.System2;
-import org.sonar.core.util.UuidFactory;
-import org.sonar.db.Dao;
-import org.sonar.db.DbSession;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.commons.lang.StringUtils.isNotEmpty;
-import static org.sonar.db.DatabaseUtils.executeLargeInputs;
-
-public class ProjectAlmBindingDao implements Dao {
-
- private final System2 system2;
- private final UuidFactory uuidFactory;
-
- public ProjectAlmBindingDao(System2 system2, UuidFactory uuidFactory) {
- this.system2 = system2;
- this.uuidFactory = uuidFactory;
- }
-
- public void insertOrUpdate(DbSession dbSession, ALM alm, String repoId, String projectUuid, @Nullable String githubSlug, String url) {
- checkAlm(alm);
- checkRepoId(repoId);
- checkArgument(isNotEmpty(projectUuid), "projectUuid can't be null nor empty");
- checkArgument(isNotEmpty(url), "url can't be null nor empty");
-
- ProjectAlmBindingMapper mapper = getMapper(dbSession);
- long now = system2.now();
-
- if (mapper.update(alm.getId(), repoId, projectUuid, githubSlug, url, now) == 0) {
- mapper.insert(uuidFactory.create(), alm.getId(), repoId, projectUuid, githubSlug, url, now);
- }
- }
-
- public Optional<ProjectAlmBindingDto> selectByProjectUuid(DbSession session, String projectUuid) {
- return Optional.ofNullable(getMapper(session).selectByProjectUuid(projectUuid));
- }
-
- /**
- * Gets a list of bindings by their repo_id. The result does NOT contain {@code null} values for bindings not found, so
- * the size of result may be less than the number of ids.
- * <p>Results may be in a different order as input ids.</p>
- */
- public List<ProjectAlmBindingDto> selectByRepoIds(final DbSession session, ALM alm, Collection<String> repoIds) {
- return executeLargeInputs(repoIds, partitionedIds -> getMapper(session).selectByRepoIds(alm.getId(), partitionedIds));
- }
-
- public Optional<ProjectAlmBindingDto> selectByRepoId(final DbSession session, ALM alm, String repoId) {
- return Optional.ofNullable(getMapper(session).selectByRepoId(alm.getId(), repoId));
- }
-
- public Optional<String> findProjectKey(DbSession dbSession, ALM alm, String repoId) {
- checkAlm(alm);
- checkRepoId(repoId);
-
- ProjectAlmBindingMapper mapper = getMapper(dbSession);
- return Optional.ofNullable(mapper.selectProjectKey(alm.getId(), repoId));
- }
-
- private static void checkAlm(@Nullable ALM alm) {
- Objects.requireNonNull(alm, "alm can't be null");
- }
-
- private static void checkRepoId(@Nullable String repoId) {
- checkArgument(isNotEmpty(repoId), "repoId can't be null nor empty");
- }
-
- private static ProjectAlmBindingMapper getMapper(DbSession dbSession) {
- return dbSession.getMapper(ProjectAlmBindingMapper.class);
- }
-
-}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDto.java
deleted file mode 100644
index ce9f2e1ee24..00000000000
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingDto.java
+++ /dev/null
@@ -1,62 +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.alm;
-
-import java.util.Arrays;
-
-/**
- * DTO is used only for select, hence no setters (MyBatis populates field by reflection).
- */
-public class ProjectAlmBindingDto {
- private String uuid;
- private String rawAlmId;
- private String repoId;
- private String projectUuid;
- private String githubSlug;
- private String url;
-
- public ALM getAlm() {
- return Arrays.stream(ALM.values())
- .filter(a -> a.getId().equals(rawAlmId))
- .findAny()
- .orElseThrow(() -> new IllegalStateException("ALM id " + rawAlmId + " is invalid"));
- }
-
- public String getRepoId() {
- return repoId;
- }
-
- public String getProjectUuid() {
- return projectUuid;
- }
-
- public String getGithubSlug() {
- return githubSlug;
- }
-
- public String getUrl() {
- return url;
- }
-
- public String getUuid() {
- return uuid;
- }
-
-}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingMapper.java
deleted file mode 100644
index ddf722a0bfa..00000000000
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/alm/ProjectAlmBindingMapper.java
+++ /dev/null
@@ -1,45 +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.alm;
-
-import java.util.List;
-import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-import org.apache.ibatis.annotations.Param;
-
-public interface ProjectAlmBindingMapper {
-
- int bindingCount(@Param("almId") String almId, @Param("repoId") String repoId);
-
- void insert(@Param("uuid") String uuid, @Param("almId") String almId, @Param("repoId") String repoId, @Param("projectUuid") String projectUuid,
- @Nullable @Param("githubSlug") String githubSlug, @Param("url") String url, @Param("now") long now);
-
- int update(@Param("almId") String almId, @Param("repoId") String repoId, @Param("projectUuid") String projectUuid,
- @Nullable @Param("githubSlug") String githubSlug, @Param("url") String url, @Param("now") long now);
-
- List<ProjectAlmBindingDto> selectByRepoIds(@Param("almId") String almId, @Param("repoIds") List<String> repoIds);
-
- ProjectAlmBindingDto selectByRepoId(@Param("almId") String almId, @Param("repoId") String repoId);
-
- ProjectAlmBindingDto selectByProjectUuid(@Param("projectUuid") String projectUuid);
-
- @CheckForNull
- String selectProjectKey(@Param("almId") String almId, @Param("repoId") String repoId);
-}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java
index e4426e519b7..03e1b31e89d 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java
@@ -392,10 +392,6 @@ public class ComponentDao implements Dao {
return mapper(dbSession).selectPrivateProjectsWithNcloc(organizationUuid);
}
- public Optional<ComponentDto> selectByAlmIdAndAlmRepositoryId(DbSession dbSession, String almId, String almRepositoryId) {
- return Optional.ofNullable(mapper(dbSession).selectByAlmIdAndAlmRepositoryId(almId, almRepositoryId));
- }
-
public boolean existAnyOfComponentsWithQualifiers(DbSession session, Collection<String> componentKeys, Set<String> qualifiers) {
if (!componentKeys.isEmpty()) {
List<Boolean> result = new LinkedList<>();
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentMapper.java
index 3081461ed4c..3604655853d 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentMapper.java
@@ -42,9 +42,6 @@ public interface ComponentMapper {
@CheckForNull
ComponentDto selectByUuid(String uuid);
- @CheckForNull
- ComponentDto selectByAlmIdAndAlmRepositoryId(@Param("almId") String almId, @Param("almRepositoryId") String almRepositoryId);
-
/**
* Return sub project of component keys
*/
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeCommands.java b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeCommands.java
index cba1d524e1d..3d28191d9b1 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeCommands.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeCommands.java
@@ -399,13 +399,6 @@ class PurgeCommands {
profiler.stop();
}
- void deleteProjectAlmBindings(String rootUuid) {
- profiler.start("deleteProjectAlmBindings (project_alm_bindings)");
- purgeMapper.deleteProjectAlmBindingsByProjectUuid(rootUuid);
- session.commit();
- profiler.stop();
- }
-
public void deleteProjectAlmSettings(String rootUuid) {
profiler.start("deleteProjectAlmSettings (project_alm_settings)");
purgeMapper.deleteProjectAlmSettingsByProjectUuid(rootUuid);
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java
index 3b51bd337f1..16d0df3ffc6 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java
@@ -202,7 +202,6 @@ public class PurgeDao implements Dao {
commands.deleteWebhookDeliveries(rootUuid);
commands.deleteLiveMeasures(rootUuid);
commands.deleteProjectMappings(rootUuid);
- commands.deleteProjectAlmBindings(rootUuid);
commands.deleteProjectAlmSettings(rootUuid);
commands.deletePermissions(rootUuid);
commands.deleteNewCodePeriods(rootUuid);
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeMapper.java
index 1ce7f336a0b..5e068e4cac9 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeMapper.java
@@ -139,8 +139,6 @@ public interface PurgeMapper {
void deleteProjectMappingsByProjectUuid(@Param("projectUuid") String projectUuid);
- void deleteProjectAlmBindingsByProjectUuid(@Param("projectUuid") String projectUuid);
-
void deleteBranchByUuid(@Param("uuid") String uuid);
void deleteLiveMeasuresByProjectUuid(@Param("projectUuid") String projectUuid);
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/alm/ProjectAlmBindingMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/alm/ProjectAlmBindingMapper.xml
deleted file mode 100644
index 0f4d89be46b..00000000000
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/alm/ProjectAlmBindingMapper.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd">
-
-<mapper namespace="org.sonar.db.alm.ProjectAlmBindingMapper">
-
- <sql id="columns">
- uuid,
- alm_id as rawAlmId,
- repo_id as repoId,
- project_uuid as projectUuid,
- github_slug as githubSlug,
- url
- </sql>
-
- <select id="bindingCount" parameterType="Map" resultType="int">
- select
- count(*) as count
- from
- project_alm_bindings
- where
- alm_id = #{almId, jdbcType=VARCHAR}
- and repo_id = #{repoId, jdbcType=VARCHAR}
- </select>
-
- <insert id="insert" parameterType="Map" useGeneratedKeys="false">
- insert into project_alm_bindings
- (
- uuid,
- alm_id,
- repo_id,
- project_uuid,
- github_slug,
- url,
- created_at,
- updated_at
- )
- values (
- #{uuid, jdbcType=VARCHAR},
- #{almId, jdbcType=VARCHAR},
- #{repoId, jdbcType=VARCHAR},
- #{projectUuid, jdbcType=VARCHAR},
- #{githubSlug, jdbcType=VARCHAR},
- #{url, jdbcType=VARCHAR},
- #{now, jdbcType=BIGINT},
- #{now, jdbcType=BIGINT}
- )
- </insert>
-
- <update id="update" parameterType="map">
- update project_alm_bindings
- set
- project_uuid = #{projectUuid, jdbcType=VARCHAR},
- github_slug = #{githubSlug, jdbcType=VARCHAR},
- url = #{url, jdbcType=VARCHAR},
- updated_at = #{now, jdbcType=BIGINT}
- where
- alm_id = #{almId, jdbcType=VARCHAR}
- and repo_id = #{repoId, jdbcType=VARCHAR}
- </update>
-
- <select id="selectByRepoIds" parameterType="map" resultType="ProjectAlmBinding">
- select
- <include refid="columns"/>
- from
- project_alm_bindings
- where
- alm_id = #{almId, jdbcType=VARCHAR}
- and repo_id in
- <foreach collection="repoIds" open="(" close=")" item="repoId" separator=",">
- #{repoId,jdbcType=VARCHAR}
- </foreach>
- </select>
-
- <select id="selectByRepoId" parameterType="map" resultType="ProjectAlmBinding">
- select
- <include refid="columns"/>
- from
- project_alm_bindings
- where
- alm_id = #{almId, jdbcType=VARCHAR}
- and repo_id = #{repoId, jdbcType=VARCHAR}
- </select>
-
- <select id="selectByProjectUuid" parameterType="map" resultType="ProjectAlmBinding">
- select
- <include refid="columns"/>
- from
- project_alm_bindings
- where
- project_uuid = #{projectUuid, jdbcType=VARCHAR}
- </select>
-
- <select id="selectProjectKey" parameterType="Map" resultType="String">
- select
- p.kee as projectKey
- from
- project_alm_bindings b
- inner join projects p
- on b.project_uuid = p.uuid
- where
- alm_id = #{almId, jdbcType=VARCHAR}
- and repo_id = #{repoId, jdbcType=VARCHAR}
- </select>
-
-</mapper>
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml
index 1694f814ea0..89de3576586 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml
@@ -63,17 +63,6 @@
p.uuid=#{uuid,jdbcType=VARCHAR}
</select>
- <select id="selectByAlmIdAndAlmRepositoryId" resultType="Component">
- select
- <include refid="componentColumns"/>
- from
- components p
- inner join
- project_alm_bindings pab on pab.project_uuid = p.uuid
- where
- pab.alm_id = #{almId,jdbcType=VARCHAR} and pab.repo_id = #{almRepositoryId,jdbcType=VARCHAR}
- </select>
-
<select id="selectByProjectUuid" parameterType="string" resultType="Component">
select
<include refid="componentColumns"/>
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
index 478aa74c9ab..7172ba7bba9 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
@@ -498,10 +498,6 @@
delete from project_alm_settings where project_uuid=#{projectUuid,jdbcType=VARCHAR}
</delete>
- <delete id="deleteProjectAlmBindingsByProjectUuid">
- delete from project_alm_bindings where project_uuid=#{projectUuid,jdbcType=VARCHAR}
- </delete>
-
<delete id="deleteBranchByUuid">
delete from project_branches where uuid=#{uuid,jdbcType=VARCHAR}
</delete>
diff --git a/server/sonar-db-dao/src/schema/schema-sq.ddl b/server/sonar-db-dao/src/schema/schema-sq.ddl
index 594cb26a21f..edcf04907a7 100644
--- a/server/sonar-db-dao/src/schema/schema-sq.ddl
+++ b/server/sonar-db-dao/src/schema/schema-sq.ddl
@@ -605,20 +605,6 @@ CREATE TABLE "PLUGINS"(
ALTER TABLE "PLUGINS" ADD CONSTRAINT "PK_PLUGINS" PRIMARY KEY("UUID");
CREATE UNIQUE INDEX "PLUGINS_KEY" ON "PLUGINS"("KEE");
-CREATE TABLE "PROJECT_ALM_BINDINGS"(
- "UUID" VARCHAR(40) NOT NULL,
- "ALM_ID" VARCHAR(40) NOT NULL,
- "REPO_ID" VARCHAR(256) NOT NULL,
- "PROJECT_UUID" VARCHAR(40) NOT NULL,
- "GITHUB_SLUG" VARCHAR(256),
- "URL" VARCHAR(2000) NOT NULL,
- "CREATED_AT" BIGINT NOT NULL,
- "UPDATED_AT" BIGINT NOT NULL
-);
-ALTER TABLE "PROJECT_ALM_BINDINGS" ADD CONSTRAINT "PK_PROJECT_ALM_BINDINGS" PRIMARY KEY("UUID");
-CREATE UNIQUE INDEX "PROJECT_ALM_BINDINGS_ALM_REPO" ON "PROJECT_ALM_BINDINGS"("ALM_ID", "REPO_ID");
-CREATE UNIQUE INDEX "PROJECT_ALM_BINDINGS_PROJECT" ON "PROJECT_ALM_BINDINGS"("PROJECT_UUID");
-
CREATE TABLE "PROJECT_ALM_SETTINGS"(
"UUID" VARCHAR(40) NOT NULL,
"ALM_SETTING_UUID" VARCHAR(40) NOT NULL,
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/alm/ProjectAlmBindingDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/alm/ProjectAlmBindingDaoTest.java
deleted file mode 100644
index 61a28c3bacb..00000000000
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/alm/ProjectAlmBindingDaoTest.java
+++ /dev/null
@@ -1,406 +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.alm;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import javax.annotation.Nullable;
-import org.assertj.core.api.AbstractAssert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.sonar.api.utils.System2;
-import org.sonar.core.util.UuidFactory;
-import org.sonar.db.DbClient;
-import org.sonar.db.DbSession;
-import org.sonar.db.DbTester;
-import org.sonar.db.component.ComponentDto;
-import org.sonar.db.project.ProjectDto;
-
-import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.tuple;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.sonar.db.alm.ALM.BITBUCKETCLOUD;
-import static org.sonar.db.alm.ALM.GITHUB;
-
-public class ProjectAlmBindingDaoTest {
-
- private static final String A_UUID = "abcde1234";
- private static final String ANOTHER_UUID = "xyz789";
- private static final String EMPTY_STRING = "";
-
- private static final String A_REPO = "my_repo";
- private static final String ANOTHER_REPO = "another_repo";
-
- private static final String A_GITHUB_SLUG = null;
- private static final String ANOTHER_GITHUB_SLUG = "example/foo";
-
- private static final String A_URL = "foo url";
- private static final String ANOTHER_URL = "bar url";
-
- private static final long DATE = 1_600_000_000_000L;
- private static final long DATE_LATER = 1_700_000_000_000L;
-
- private System2 system2 = mock(System2.class);
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
- @Rule
- public DbTester dbTester = DbTester.create(system2);
- private DbClient dbClient = dbTester.getDbClient();
- private DbSession dbSession = dbTester.getSession();
-
- private UuidFactory uuidFactory = mock(UuidFactory.class);
- private ProjectAlmBindingDao underTest = new ProjectAlmBindingDao(system2, uuidFactory);
-
- @Test
- public void insert_throws_NPE_if_alm_is_null() {
- expectAlmNPE();
-
- underTest.insertOrUpdate(dbSession, null, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
- }
-
- @Test
- public void insert_throws_IAE_if_repo_id_is_null() {
- expectRepoIdNullOrEmptyIAE();
-
- underTest.insertOrUpdate(dbSession, GITHUB, null, A_UUID, A_GITHUB_SLUG, A_URL);
- }
-
- @Test
- public void insert_throws_IAE_if_repo_id_is_empty() {
- expectRepoIdNullOrEmptyIAE();
-
- underTest.insertOrUpdate(dbSession, GITHUB, EMPTY_STRING, A_UUID, A_GITHUB_SLUG, A_URL);
- }
-
- @Test
- public void insert_throws_IAE_if_project_uuid_is_null() {
- expectProjectUuidNullOrEmptyIAE();
-
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, null, A_GITHUB_SLUG, A_URL);
- }
-
- @Test
- public void insert_throws_IAE_if_project_uuid_is_empty() {
- expectProjectUuidNullOrEmptyIAE();
-
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, EMPTY_STRING, A_GITHUB_SLUG, A_URL);
- }
-
- @Test
- public void insert_throws_IAE_if_url_is_null() {
- expectUrlNullOrEmptyIAE();
-
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, null);
- }
-
- @Test
- public void insert_throws_IAE_if_url_is_empty() {
- expectUrlNullOrEmptyIAE();
-
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, EMPTY_STRING);
- }
-
- @Test
- public void insert() {
- when(system2.now()).thenReturn(DATE);
- when(uuidFactory.create()).thenReturn("uuid1");
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
-
- assertThatProjectAlmBinding(GITHUB, A_REPO)
- .hasProjectUuid(A_UUID)
- .hasGithubSlug(A_GITHUB_SLUG)
- .hasUrl(A_URL)
- .hasCreatedAt(DATE)
- .hasUpdatedAt(DATE);
- }
-
- @Test
- public void update() {
- when(system2.now()).thenReturn(DATE);
- when(uuidFactory.create()).thenReturn("uuid1");
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
-
- when(system2.now()).thenReturn(DATE_LATER);
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, ANOTHER_UUID, ANOTHER_GITHUB_SLUG, ANOTHER_URL);
-
- assertThatProjectAlmBinding(GITHUB, A_REPO)
- .hasProjectUuid(ANOTHER_UUID)
- .hasGithubSlug(ANOTHER_GITHUB_SLUG)
- .hasUrl(ANOTHER_URL)
- .hasCreatedAt(DATE)
- .hasUpdatedAt(DATE_LATER);
- }
-
- @Test
- public void insert_multiple() {
- when(system2.now()).thenReturn(DATE);
- when(uuidFactory.create()).thenReturn("uuid1").thenReturn("uuid2");
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
- underTest.insertOrUpdate(dbSession, GITHUB, ANOTHER_REPO, ANOTHER_UUID, ANOTHER_GITHUB_SLUG, ANOTHER_URL);
-
- assertThatProjectAlmBinding(GITHUB, A_REPO)
- .hasProjectUuid(A_UUID)
- .hasGithubSlug(A_GITHUB_SLUG)
- .hasUrl(A_URL)
- .hasCreatedAt(DATE)
- .hasUpdatedAt(DATE);
-
- assertThatProjectAlmBinding(GITHUB, ANOTHER_REPO)
- .hasProjectUuid(ANOTHER_UUID)
- .hasGithubSlug(ANOTHER_GITHUB_SLUG)
- .hasUrl(ANOTHER_URL)
- .hasCreatedAt(DATE)
- .hasUpdatedAt(DATE);
- }
-
- @Test
- public void select_by_repo_id() {
- when(system2.now()).thenReturn(DATE);
- when(uuidFactory.create())
- .thenReturn("uuid1")
- .thenReturn("uuid2")
- .thenReturn("uuid3");
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
- underTest.insertOrUpdate(dbSession, GITHUB, ANOTHER_REPO, ANOTHER_UUID, null, ANOTHER_URL);
- underTest.insertOrUpdate(dbSession, BITBUCKETCLOUD, ANOTHER_REPO, "foo", null, "http://foo");
-
- assertThat(underTest.selectByRepoId(dbSession, GITHUB, "foo")).isNotPresent();
-
- Optional<ProjectAlmBindingDto> dto = underTest.selectByRepoId(dbSession, GITHUB, A_REPO);
- assertThat(dto).isPresent();
- assertThat(dto.get().getUuid()).isEqualTo("uuid1");
- assertThat(dto.get().getAlm()).isEqualTo(GITHUB);
- assertThat(dto.get().getRepoId()).isEqualTo(A_REPO);
- assertThat(dto.get().getProjectUuid()).isEqualTo(A_UUID);
- assertThat(dto.get().getUrl()).isEqualTo(A_URL);
- assertThat(dto.get().getGithubSlug()).isEqualTo(A_GITHUB_SLUG);
- }
-
- @Test
- public void select_by_project_uuid() {
- when(system2.now()).thenReturn(DATE);
- when(uuidFactory.create())
- .thenReturn("uuid1")
- .thenReturn("uuid2")
- .thenReturn("uuid3");
- underTest.insertOrUpdate(dbSession, BITBUCKETCLOUD, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
- underTest.insertOrUpdate(dbSession, BITBUCKETCLOUD, ANOTHER_REPO, ANOTHER_UUID, null, ANOTHER_URL);
- underTest.insertOrUpdate(dbSession, GITHUB, ANOTHER_REPO, "foo", null, "http://foo");
-
- assertThat(underTest.selectByProjectUuid(dbSession, "missing")).isNotPresent();
-
- Optional<ProjectAlmBindingDto> dto = underTest.selectByProjectUuid(dbSession, A_UUID);
- assertThat(dto).isPresent();
- assertThat(dto.get().getUuid()).isEqualTo("uuid1");
- assertThat(dto.get().getAlm()).isEqualTo(BITBUCKETCLOUD);
- assertThat(dto.get().getRepoId()).isEqualTo(A_REPO);
- assertThat(dto.get().getProjectUuid()).isEqualTo(A_UUID);
- assertThat(dto.get().getUrl()).isEqualTo(A_URL);
- assertThat(dto.get().getGithubSlug()).isEqualTo(A_GITHUB_SLUG);
- }
-
- @Test
- public void select_by_repo_ids() {
- when(system2.now()).thenReturn(DATE);
- when(uuidFactory.create())
- .thenReturn("uuid1")
- .thenReturn("uuid2")
- .thenReturn("uuid3");
-
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, A_UUID, A_GITHUB_SLUG, A_URL);
- underTest.insertOrUpdate(dbSession, GITHUB, ANOTHER_REPO, ANOTHER_UUID, null, ANOTHER_URL);
- underTest.insertOrUpdate(dbSession, BITBUCKETCLOUD, ANOTHER_REPO, "foo", null, "http://foo");
-
- assertThat(underTest.selectByRepoIds(dbSession, GITHUB, Arrays.asList(A_REPO, ANOTHER_REPO, "foo")))
- .extracting(ProjectAlmBindingDto::getUuid, ProjectAlmBindingDto::getAlm, ProjectAlmBindingDto::getRepoId, ProjectAlmBindingDto::getProjectUuid,
- ProjectAlmBindingDto::getUrl, ProjectAlmBindingDto::getGithubSlug)
- .containsExactlyInAnyOrder(
- tuple("uuid1", GITHUB, A_REPO, A_UUID, A_URL, A_GITHUB_SLUG),
- tuple("uuid2", GITHUB, ANOTHER_REPO, ANOTHER_UUID, ANOTHER_URL, null));
- }
-
- @Test
- public void findProjectKey_throws_NPE_when_alm_is_null() {
- expectAlmNPE();
-
- underTest.findProjectKey(dbSession, null, A_REPO);
- }
-
- @Test
- public void findProjectKey_throws_IAE_when_repo_id_is_null() {
- expectRepoIdNullOrEmptyIAE();
-
- underTest.findProjectKey(dbSession, GITHUB, null);
- }
-
- @Test
- public void findProjectKey_throws_IAE_when_repo_id_is_empty() {
- expectRepoIdNullOrEmptyIAE();
-
- underTest.findProjectKey(dbSession, GITHUB, EMPTY_STRING);
- }
-
- @Test
- public void findProjectKey_returns_empty_when_entry_does_not_exist_in_DB() {
- assertThat(underTest.findProjectKey(dbSession, GITHUB, A_REPO)).isEmpty();
- }
-
- @Test
- public void findProjectKey_returns_projectKey_when_entry_exists() {
- String projectKey = randomAlphabetic(10);
- ProjectDto project = createProject(projectKey);
- when(uuidFactory.create()).thenReturn("uuid1");
- underTest.insertOrUpdate(dbSession, GITHUB, A_REPO, project.getUuid(), A_GITHUB_SLUG, A_URL);
-
- assertThat(underTest.findProjectKey(dbSession, GITHUB, A_REPO)).contains(projectKey);
- }
-
- private void expectAlmNPE() {
- expectedException.expect(NullPointerException.class);
- expectedException.expectMessage("alm can't be null");
- }
-
- private void expectRepoIdNullOrEmptyIAE() {
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("repoId can't be null nor empty");
- }
-
- private void expectProjectUuidNullOrEmptyIAE() {
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("projectUuid can't be null nor empty");
- }
-
- private void expectUrlNullOrEmptyIAE() {
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("url can't be null nor empty");
- }
-
- private ProjectAlmBindingAssert assertThatProjectAlmBinding(ALM alm, String repoId) {
- return new ProjectAlmBindingAssert(dbTester, dbSession, alm, repoId);
- }
-
- private static class ProjectAlmBindingAssert extends AbstractAssert<ProjectAlmBindingAssert, ProjectAlmBinding> {
-
- private ProjectAlmBindingAssert(DbTester dbTester, DbSession dbSession, ALM alm, String repoId) {
- super(asProjectAlmBinding(dbTester, dbSession, alm, repoId), ProjectAlmBindingAssert.class);
- }
-
- private static ProjectAlmBinding asProjectAlmBinding(DbTester dbTester, DbSession dbSession, ALM alm, String repoId) {
- List<Map<String, Object>> rows = dbTester.select(
- dbSession,
- "select" +
- " project_uuid as \"projectUuid\", github_slug as \"githubSlug\", url as \"url\", " +
- " created_at as \"createdAt\", updated_at as \"updatedAt\"" +
- " from project_alm_bindings" +
- " where alm_id='" + alm.getId() + "' and repo_id='" + repoId + "'");
- if (rows.isEmpty()) {
- return null;
- }
- if (rows.size() > 1) {
- throw new IllegalStateException("Unique index violation");
- }
- return new ProjectAlmBinding(
- (String) rows.get(0).get("projectUuid"),
- (String) rows.get(0).get("githubSlug"),
- (String) rows.get(0).get("url"),
- (Long) rows.get(0).get("createdAt"),
- (Long) rows.get(0).get("updatedAt"));
- }
-
- public void doesNotExist() {
- isNull();
- }
-
- ProjectAlmBindingAssert hasProjectUuid(String expected) {
- isNotNull();
-
- if (!Objects.equals(actual.projectUuid, expected)) {
- failWithMessage("Expected Project ALM Binding to have column PROJECT_UUID to be <%s> but was <%s>", expected, actual.projectUuid);
- }
- return this;
- }
-
- ProjectAlmBindingAssert hasGithubSlug(String expected) {
- isNotNull();
-
- if (!Objects.equals(actual.githubSlug, expected)) {
- failWithMessage("Expected Project ALM Binding to have column GITHUB_SLUG to be <%s> but was <%s>", expected, actual.githubSlug);
- }
- return this;
- }
-
- ProjectAlmBindingAssert hasUrl(String expected) {
- isNotNull();
-
- if (!Objects.equals(actual.url, expected)) {
- failWithMessage("Expected Project ALM Binding to have column URL to be <%s> but was <%s>", expected, actual.url);
- }
- return this;
- }
-
- ProjectAlmBindingAssert hasCreatedAt(long expected) {
- isNotNull();
-
- if (!Objects.equals(actual.createdAt, expected)) {
- failWithMessage("Expected Project ALM Binding to have column CREATED_AT to be <%s> but was <%s>", expected, actual.createdAt);
- }
-
- return this;
- }
-
- ProjectAlmBindingAssert hasUpdatedAt(long expected) {
- isNotNull();
-
- if (!Objects.equals(actual.updatedAt, expected)) {
- failWithMessage("Expected Project ALM Binding to have column UPDATED_AT to be <%s> but was <%s>", expected, actual.updatedAt);
- }
-
- return this;
- }
-
- }
-
- private static final class ProjectAlmBinding {
- private final String projectUuid;
- private final String githubSlug;
- private final String url;
- private final Long createdAt;
- private final Long updatedAt;
-
- ProjectAlmBinding(@Nullable String projectUuid, @Nullable String githubSlug, @Nullable String url, @Nullable Long createdAt, @Nullable Long updatedAt) {
- this.projectUuid = projectUuid;
- this.githubSlug = githubSlug;
- this.url = url;
- this.createdAt = createdAt;
- this.updatedAt = updatedAt;
- }
- }
-
- private ProjectDto createProject(String projectKey) {
- return dbTester.components().insertPrivateProjectDto(c -> c.setDbKey(projectKey));
- }
-}
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java
index 4bc0fa7c1c7..e6a9ef93314 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeDaoTest.java
@@ -1227,23 +1227,6 @@ public class PurgeDaoTest {
}
@Test
- public void deleteProject_deletes_project_alm_bindings() {
- ALM alm = ALM.GITHUB;
- String repoId = "123";
- String otherRepoId = repoId + "-foo";
-
- ComponentDto project = db.components().insertPublicProject();
- ComponentDto otherProject = db.components().insertPublicProject();
- dbClient.projectAlmBindingsDao().insertOrUpdate(dbSession, alm, repoId, project.uuid(), null, "foo");
- dbClient.projectAlmBindingsDao().insertOrUpdate(dbSession, alm, otherRepoId, otherProject.uuid(), null, "bar");
-
- underTest.deleteProject(dbSession, project.uuid());
-
- assertThat(dbClient.projectAlmBindingsDao().findProjectKey(dbSession, alm, repoId)).isEmpty();
- assertThat(dbClient.projectAlmBindingsDao().findProjectKey(dbSession, alm, otherRepoId)).isNotEmpty();
- }
-
- @Test
public void deleteProject_deletes_project_alm_settings() {
ProjectDto project = db.components().insertPublicProjectDto();
ProjectDto otherProject = db.components().insertPublicProjectDto();
diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/alm/AlmDbTester.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/alm/AlmDbTester.java
index 4605e5e83a0..596e0c44611 100644
--- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/alm/AlmDbTester.java
+++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/alm/AlmDbTester.java
@@ -46,13 +46,6 @@ public class AlmDbTester {
return db.getDbClient().organizationAlmBindingDao().selectByOrganization(db.getSession(), organization).get();
}
- public ProjectAlmBindingDto insertProjectAlmBinding(ALM alm, ComponentDto componentDto, String repositoryUuid) {
- db.getDbClient().projectAlmBindingsDao().insertOrUpdate(db.getSession(), alm, repositoryUuid, componentDto.uuid(),
- "some_org/some_repo", "http://alm/some_org_some_repo");
- db.commit();
- return db.getDbClient().projectAlmBindingsDao().selectByProjectUuid(db.getSession(), componentDto.uuid()).get();
- }
-
@SafeVarargs
public final AlmAppInstallDto insertAlmAppInstall(Consumer<AlmAppInstallDto>... dtoPopulators) {
AlmAppInstallDto dto = new AlmAppInstallDto()