From 14bcb05632756db2e02fc679fbdc254d7b22c537 Mon Sep 17 00:00:00 2001 From: Martin Lowe <martin.lowe@eclipse-foundation.org> Date: Tue, 9 Jul 2024 10:33:00 -0400 Subject: [PATCH] Add basic test for merge group webhook request --- .../resource/GithubWebhooksResourceTest.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/test/java/org/eclipsefoundation/git/eca/resource/GithubWebhooksResourceTest.java b/src/test/java/org/eclipsefoundation/git/eca/resource/GithubWebhooksResourceTest.java index 1c3aa8ad..8f0b76e6 100644 --- a/src/test/java/org/eclipsefoundation/git/eca/resource/GithubWebhooksResourceTest.java +++ b/src/test/java/org/eclipsefoundation/git/eca/resource/GithubWebhooksResourceTest.java @@ -16,6 +16,7 @@ import java.util.Optional; import org.eclipsefoundation.git.eca.api.models.GithubWebhookRequest; import org.eclipsefoundation.git.eca.api.models.GithubWebhookRequest.Installation; +import org.eclipsefoundation.git.eca.api.models.GithubWebhookRequest.MergeGroup; import org.eclipsefoundation.git.eca.api.models.GithubWebhookRequest.PullRequest; import org.eclipsefoundation.git.eca.api.models.GithubWebhookRequest.PullRequestHead; import org.eclipsefoundation.git.eca.api.models.GithubWebhookRequest.Repository; @@ -55,6 +56,17 @@ class GithubWebhooksResourceTest { .run(); } + @Test + void testGHWebhook_success_mergeGroup() { + EndpointTestBuilder + .from(TestCaseHelper + .prepareTestCase(GH_WEBHOOK_BASE_URL, new String[] {}, null) + .setHeaderParams(Optional.of(Map.of(WebhookHeaders.GITHUB_DELIVERY, "id-1", WebhookHeaders.GITHUB_EVENT, "merge_group"))) + .build()) + .doPost(createMergeGroupWebhookBody()) + .run(); + } + private String createGHWebhook() { try { return om.writeValueAsString(GithubWebhookRequest.builder() @@ -75,4 +87,23 @@ class GithubWebhooksResourceTest { throw new ApplicationException("Error converting Hook to JSON"); } } + + private String createMergeGroupWebhookBody() { + try { + return om.writeValueAsString(GithubWebhookRequest.builder() + .setInstallation(Installation.builder().setId("install-id").build()) + .setMergeGroup(MergeGroup + .builder() + .setHeadSha("headsha-123") + .build()) + .setRepository(Repository + .builder() + .setFullName("eclipsefdn/sample") + .setHtmlUrl("http://www.github.com/eclipsefdn/sample") + .build()) + .build()); + } catch (Exception e) { + throw new ApplicationException("Error converting Hook to JSON"); + } + } } -- GitLab