diff options
author | Michal Duda <michal.duda@sonarsource.com> | 2020-12-09 20:13:25 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2020-12-22 20:09:35 +0000 |
commit | c73de56d4b6ab4c9fdb34a32f5f740bed672b586 (patch) | |
tree | c41d4e4a511c7acfa40bb7b098cff6801ebdd77a /server/sonar-server-common | |
parent | 5141fc088089cdd155e8623e2d2f989e93c4fff4 (diff) | |
download | sonarqube-c73de56d4b6ab4c9fdb34a32f5f740bed672b586.tar.gz sonarqube-c73de56d4b6ab4c9fdb34a32f5f740bed672b586.zip |
SONAR-13999 remove orgs webhook WS
Diffstat (limited to 'server/sonar-server-common')
3 files changed, 34 insertions, 39 deletions
diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProvider.java b/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProvider.java index ef38cbc769b..0e39bedb909 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProvider.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProvider.java @@ -19,6 +19,8 @@ */ package org.sonar.server.organization; +//TODO remove +@Deprecated public interface DefaultOrganizationProvider { /** * @throws IllegalStateException if there is no default organization diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/webhook/AsynchronousWebHooksImplTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/webhook/AsynchronousWebHooksImplTest.java index 8e49efce690..40a7c770588 100644 --- a/server/sonar-server-common/src/test/java/org/sonar/server/webhook/AsynchronousWebHooksImplTest.java +++ b/server/sonar-server-common/src/test/java/org/sonar/server/webhook/AsynchronousWebHooksImplTest.java @@ -39,18 +39,18 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoInteractions; import static org.sonar.db.DbTester.create; -import static org.sonar.db.webhook.WebhookTesting.newWebhook; +import static org.sonar.db.webhook.WebhookTesting.newGlobalWebhook; public class AsynchronousWebHooksImplTest { - private System2 system2 = mock(System2.class); + private final System2 system2 = mock(System2.class); @Rule public DbTester db = create(system2); - private WebhookDbTester webhookDbTester = db.webhooks(); - private ComponentDbTester componentDbTester = db.components(); + private final WebhookDbTester webhookDbTester = db.webhooks(); + private final ComponentDbTester componentDbTester = db.components(); private static final long NOW = 1_500_000_000_000L; @@ -66,8 +66,8 @@ public class AsynchronousWebHooksImplTest { OrganizationDto organizationDto = db.getDefaultOrganization(); ComponentDto project = componentDbTester.insertPrivateProject(componentDto -> componentDto.setOrganizationUuid(organizationDto.getUuid())); - webhookDbTester.insert(newWebhook(organizationDto).setName("First").setUrl("http://url1")); - webhookDbTester.insert(newWebhook(organizationDto).setName("Second").setUrl("http://url2")); + webhookDbTester.insert(newGlobalWebhook().setName("First").setUrl("http://url1")); + webhookDbTester.insert(newGlobalWebhook().setName("Second").setUrl("http://url2")); caller.enqueueSuccess(NOW, 200, 1_234); caller.enqueueFailure(NOW, new IOException("Fail to connect")); @@ -75,7 +75,7 @@ public class AsynchronousWebHooksImplTest { underTest.sendProjectAnalysisUpdate(new WebHooks.Analysis(project.uuid(), "1", "#1"), () -> mock, mock(LogStatistics.class)); assertThat(caller.countSent()).isZero(); - verifyZeroInteractions(deliveryStorage); + verifyNoInteractions(deliveryStorage); asyncExecution.executeRecorded(); diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/webhook/SynchronousWebHooksImplTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/webhook/SynchronousWebHooksImplTest.java index b4f52fd565b..0ef8b26e748 100644 --- a/server/sonar-server-common/src/test/java/org/sonar/server/webhook/SynchronousWebHooksImplTest.java +++ b/server/sonar-server-common/src/test/java/org/sonar/server/webhook/SynchronousWebHooksImplTest.java @@ -29,23 +29,21 @@ import org.sonar.db.DbClient; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDbTester; import org.sonar.db.component.ComponentDto; -import org.sonar.db.organization.OrganizationDto; import org.sonar.db.project.ProjectDto; import org.sonar.db.webhook.WebhookDbTester; import org.sonar.server.async.AsyncExecution; -import org.sonar.server.organization.DefaultOrganizationProvider; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.verifyZeroInteractions; import static org.sonar.api.utils.log.LoggerLevel.DEBUG; import static org.sonar.db.DbTester.create; +import static org.sonar.db.webhook.WebhookTesting.newGlobalWebhook; import static org.sonar.db.webhook.WebhookTesting.newWebhook; -import static org.sonar.server.organization.TestDefaultOrganizationProvider.from; public class SynchronousWebHooksImplTest { @@ -56,12 +54,10 @@ public class SynchronousWebHooksImplTest { @Rule public DbTester db = create(); - private DbClient dbClient = db.getDbClient(); - - private WebhookDbTester webhookDbTester = db.webhooks(); - private ComponentDbTester componentDbTester = db.components(); - private DefaultOrganizationProvider defaultOrganizationProvider = from(db); + private final DbClient dbClient = db.getDbClient(); + private final WebhookDbTester webhookDbTester = db.webhooks(); + private final ComponentDbTester componentDbTester = db.components(); private final TestWebhookCaller caller = new TestWebhookCaller(); private final WebhookDeliveryStorage deliveryStorage = mock(WebhookDeliveryStorage.class); private final WebhookPayload mock = mock(WebhookPayload.class); @@ -85,8 +81,7 @@ public class SynchronousWebHooksImplTest { @Test public void isEnabled_returns_true_if_one_valid_project_webhook() { - String organizationUuid = defaultOrganizationProvider.get().getUuid(); - ProjectDto projectDto = componentDbTester.insertPrivateProjectDto().setOrganizationUuid(organizationUuid); + ProjectDto projectDto = componentDbTester.insertPrivateProjectDto(); webhookDbTester.insert(newWebhook(projectDto).setName("First").setUrl("http://url1")); assertThat(underTest.isEnabled(projectDto)).isTrue(); @@ -94,33 +89,32 @@ public class SynchronousWebHooksImplTest { @Test public void do_nothing_if_no_webhooks() { - ComponentDto componentDto = componentDbTester.insertPrivateProject().setOrganizationUuid(defaultOrganizationProvider.get().getUuid()); + ComponentDto componentDto = componentDbTester.insertPrivateProject(); underTest.sendProjectAnalysisUpdate(new WebHooks.Analysis(componentDto.uuid(), "1", "#1"), () -> mock); assertThat(caller.countSent()).isZero(); assertThat(logTester.logs(DEBUG)).isEmpty(); - verifyZeroInteractions(deliveryStorage); + verifyNoInteractions(deliveryStorage); } @Test public void populates_log_statistics_even_if_no_webhooks() { - ComponentDto componentDto = componentDbTester.insertPrivateProject().setOrganizationUuid(defaultOrganizationProvider.get().getUuid()); + ComponentDto componentDto = componentDbTester.insertPrivateProject(); underTest.sendProjectAnalysisUpdate(new WebHooks.Analysis(componentDto.uuid(), "1", "#1"), () -> mock, taskStatistics); assertThat(caller.countSent()).isZero(); assertThat(logTester.logs(DEBUG)).isEmpty(); - verifyZeroInteractions(deliveryStorage); + verifyNoInteractions(deliveryStorage); verifyLogStatistics(0, 0); } @Test public void send_global_webhooks() { - OrganizationDto organizationDto = db.organizations().insert(); - ComponentDto componentDto = componentDbTester.insertPrivateProject(organizationDto); - webhookDbTester.insert(newWebhook(organizationDto).setName("First").setUrl("http://url1")); - webhookDbTester.insert(newWebhook(organizationDto).setName("Second").setUrl("http://url2")); + ComponentDto componentDto = componentDbTester.insertPrivateProject(); + webhookDbTester.insert(newGlobalWebhook().setName("First").setUrl("http://url1")); + webhookDbTester.insert(newGlobalWebhook().setName("Second").setUrl("http://url2")); caller.enqueueSuccess(NOW, 200, 1_234); caller.enqueueFailure(NOW, new IOException("Fail to connect")); @@ -136,8 +130,7 @@ public class SynchronousWebHooksImplTest { @Test public void send_project_webhooks() { - String organizationUuid = defaultOrganizationProvider.get().getUuid(); - ProjectDto projectDto = componentDbTester.insertPrivateProjectDto().setOrganizationUuid(organizationUuid); + ProjectDto projectDto = componentDbTester.insertPrivateProjectDto(); webhookDbTester.insert(newWebhook(projectDto).setName("First").setUrl("http://url1")); caller.enqueueSuccess(NOW, 200, 1_234); @@ -152,13 +145,12 @@ public class SynchronousWebHooksImplTest { @Test public void send_global_and_project_webhooks() { - OrganizationDto organizationDto = db.organizations().insert(); - ProjectDto projectDto = componentDbTester.insertPrivateProjectDto(organizationDto); + ProjectDto projectDto = componentDbTester.insertPrivateProjectDto(); webhookDbTester.insert(newWebhook(projectDto).setName("1First").setUrl("http://url1")); webhookDbTester.insert(newWebhook(projectDto).setName("2Second").setUrl("http://url2")); - webhookDbTester.insert(newWebhook(organizationDto).setName("3Third").setUrl("http://url3")); - webhookDbTester.insert(newWebhook(organizationDto).setName("4Fourth").setUrl("http://url4")); - webhookDbTester.insert(newWebhook(organizationDto).setName("5Fifth").setUrl("http://url5")); + webhookDbTester.insert(newGlobalWebhook().setName("3Third").setUrl("http://url3")); + webhookDbTester.insert(newGlobalWebhook().setName("4Fourth").setUrl("http://url4")); + webhookDbTester.insert(newGlobalWebhook().setName("5Fifth").setUrl("http://url5")); caller.enqueueSuccess(NOW, 200, 1_234); caller.enqueueFailure(NOW, new IOException("Fail to connect 1")); caller.enqueueFailure(NOW, new IOException("Fail to connect 2")); @@ -169,11 +161,12 @@ public class SynchronousWebHooksImplTest { assertThat(caller.countSent()).isEqualTo(5); List<String> debugLogs = logTester.logs(DEBUG); - assertThat(debugLogs).contains("Sent webhook '1First' | url=http://url1 | time=1234ms | status=200"); - assertThat(debugLogs).contains("Failed to send webhook '2Second' | url=http://url2 | message=Fail to connect 1"); - assertThat(debugLogs).contains("Failed to send webhook '3Third' | url=http://url3 | message=Fail to connect 2"); - assertThat(debugLogs).contains("Sent webhook '4Fourth' | url=http://url4 | time=5678ms | status=200"); - assertThat(debugLogs).contains("Sent webhook '5Fifth' | url=http://url5 | time=9256ms | status=200"); + assertThat(debugLogs) + .contains("Sent webhook '1First' | url=http://url1 | time=1234ms | status=200") + .contains("Failed to send webhook '2Second' | url=http://url2 | message=Fail to connect 1") + .contains("Failed to send webhook '3Third' | url=http://url3 | message=Fail to connect 2") + .contains("Sent webhook '4Fourth' | url=http://url4 | time=5678ms | status=200") + .contains("Sent webhook '5Fifth' | url=http://url5 | time=9256ms | status=200"); verify(deliveryStorage, times(5)).persist(any(WebhookDelivery.class)); verify(deliveryStorage).purge(projectDto.getUuid()); verifyLogStatistics(3, 2); |