diff options
author | Pierre <pierre.guillot@sonarsource.com> | 2021-06-29 13:40:49 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2021-06-29 20:03:18 +0000 |
commit | 4bd2d9de2cdd806ed2cb3685f8367285ebc30e29 (patch) | |
tree | b1a147ba5a96f33d2fb49007c8a37d445b3f6630 | |
parent | 7a28ace3fb4822542c21c33565ae0cb27ba17110 (diff) | |
download | sonarqube-4bd2d9de2cdd806ed2cb3685f8367285ebc30e29.tar.gz sonarqube-4bd2d9de2cdd806ed2cb3685f8367285ebc30e29.zip |
SONAR-15109 exclude project-specific webhooks from global webhook list
6 files changed, 5 insertions, 34 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookDao.java index 8c892304793..4baa61f2ce9 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookDao.java @@ -34,10 +34,6 @@ public class WebhookDao implements Dao { this.system2 = system2; } - public List<WebhookDto> selectAll(DbSession dbSession) { - return mapper(dbSession).selectAllOrderedByName(); - } - public List<WebhookDto> selectGlobalWebhooks(DbSession dbSession) { return mapper(dbSession).selectGlobalWebhooksOrderedByName(); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookMapper.java index d1d48898429..dbf24214302 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/webhook/WebhookMapper.java @@ -28,8 +28,6 @@ public interface WebhookMapper { @CheckForNull WebhookDto selectByUuid(@Param("webhookUuid") String webhookUuid); - List<WebhookDto> selectAllOrderedByName(); - List<WebhookDto> selectGlobalWebhooksOrderedByName(); List<WebhookDto> selectForProjectUuidOrderedByName(@Param("projectUuid") String projectUuid); diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/webhook/WebhookMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/webhook/WebhookMapper.xml index 7459d2b11e9..8978cdfb74f 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/webhook/WebhookMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/webhook/WebhookMapper.xml @@ -20,12 +20,6 @@ where uuid = #{webhookUuid,jdbcType=VARCHAR} </select> - <select id="selectAllOrderedByName" parameterType="String" resultType="org.sonar.db.webhook.WebhookDto"> - select <include refid="sqlColumns" /> - from webhooks - order by name asc - </select> - <select id="selectGlobalWebhooksOrderedByName" parameterType="String" resultType="org.sonar.db.webhook.WebhookDto"> select <include refid="sqlColumns" /> from webhooks diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/webhook/WebhookDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/webhook/WebhookDaoTest.java index c9484b6a205..54161f2a626 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/webhook/WebhookDaoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/webhook/WebhookDaoTest.java @@ -51,26 +51,6 @@ public class WebhookDaoTest { } @Test - public void select_all_webhooks() { - ProjectDto projectDto = componentDbTester.insertPrivateProjectDto(); - webhookDbTester.insertGlobalWebhook(); - webhookDbTester.insertGlobalWebhook(); - webhookDbTester.insertWebhook(projectDto); - webhookDbTester.insertWebhook(projectDto); - - List<WebhookDto> results = underTest.selectAll(dbSession); - - assertThat(results).hasSize(4); - } - - @Test - public void select_all_webhooks_returns_empty_list_if_there_are_no_webhooks() { - List<WebhookDto> results = underTest.selectAll(dbSession); - - assertThat(results).isEmpty(); - } - - @Test public void select_global_webhooks() { ProjectDto projectDto = componentDbTester.insertPrivateProjectDto(); webhookDbTester.insertGlobalWebhook(); diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/webhook/ws/ListAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/webhook/ws/ListAction.java index 6fd2dd5f17b..b0c4e88d982 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/webhook/ws/ListAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/webhook/ws/ListAction.java @@ -101,7 +101,7 @@ public class ListAction implements WebhooksWsAction { return dbClient.webhookDao().selectByProject(dbSession, projectDto); } else { webhookSupport.checkPermission(); - return dbClient.webhookDao().selectAll(dbSession); + return dbClient.webhookDao().selectGlobalWebhooks(dbSession); } } diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/webhook/ws/ListActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/webhook/ws/ListActionTest.java index 0ca1bd2984c..1c3b06850c4 100644 --- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/webhook/ws/ListActionTest.java +++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/webhook/ws/ListActionTest.java @@ -168,6 +168,9 @@ public class ListActionTest { public void list_global_webhooks() { WebhookDto dto1 = webhookDbTester.insertGlobalWebhook(); WebhookDto dto2 = webhookDbTester.insertGlobalWebhook(); + // insert a project-specific webhook, that should not be returned when listing global webhooks + webhookDbTester.insertWebhook(componentDbTester.insertPrivateProjectDto()); + userSession.logIn().addPermission(ADMINISTER); ListResponse response = wsActionTester.newRequest() @@ -175,7 +178,7 @@ public class ListActionTest { assertThat(response.getWebhooksList()) .extracting(Webhooks.ListResponseElement::getName, Webhooks.ListResponseElement::getUrl) - .contains(tuple(dto1.getName(), dto1.getUrl()), + .containsExactlyInAnyOrder(tuple(dto1.getName(), dto1.getUrl()), tuple(dto2.getName(), dto2.getUrl())); } |