From a5a65a2c81c6f44b1eb37d5630bd37ffb46c085a Mon Sep 17 00:00:00 2001 From: Guillaume Jambet Date: Thu, 8 Feb 2018 15:50:43 +0100 Subject: SONAR-10345 Add Webhooks delete ws --- .../src/main/java/org/sonar/db/webhook/WebhookDao.java | 5 ++++- .../src/main/java/org/sonar/db/webhook/WebhookMapper.java | 2 ++ .../src/main/resources/org/sonar/db/webhook/WebhookMapper.xml | 6 ++++++ .../src/test/java/org/sonar/db/webhook/WebhookDaoTest.java | 11 +++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) (limited to 'server/sonar-db-dao') 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 b972edbe665..0711adecf5c 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 @@ -63,8 +63,11 @@ public class WebhookDao implements Dao { mapper(dbSession).update(dto.setUpdatedAt(system2.now())); } + public void delete(DbSession dbSession, String uuid) { + mapper(dbSession).delete(uuid); + } + private static WebhookMapper mapper(DbSession dbSession) { return dbSession.getMapper(WebhookMapper.class); } - } 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 3b5706c62bc..354f0d2de5d 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 @@ -36,4 +36,6 @@ public interface WebhookMapper { void update(WebhookDto dto); + void delete(@Param("uuid") String uuid); + } 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 0eb69994650..33171e72276 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 @@ -63,4 +63,10 @@ where uuid=#{uuid, jdbcType=VARCHAR} + + delete from webhooks + where + uuid = #{uuid,jdbcType=VARCHAR} + + 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 01e8ef62225..2dafd3b90a9 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 @@ -116,6 +116,17 @@ public class WebhookDaoTest { assertThat(new Date(reloaded.getUpdatedAt())).isInSameMinuteWindowAs(new Date(system2.now())); } + @Test + public void delete() { + + OrganizationDto organization = organizationDbTester.insert(); + WebhookDto dto = webhookDbTester.insertForOrganizationUuid(organization.getUuid()); + + underTest.delete(dbSession, dto.getUuid()); + + Optional reloaded = underTest.selectByUuid(dbSession, dto.uuid); + assertThat(reloaded).isEmpty(); + } @Test public void fail_if_webhook_does_not_have_an_organization_nor_a_project() { -- cgit v1.2.3