From ad7284e541e238493fc68f396590a75e1ef7902d Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Thu, 12 Dec 2024 16:10:16 +0100 Subject: [PATCH] Fix webhook tests. (#1149) --- .../Fixtures/WebhookCatcherClient.cs | 30 +++++++++++-------- tools/TestSuite/docker-compose-base.yml | 1 - tools/TestSuite/docker-compose.yml | 3 +- .../webhook-catcher/docker-compose.yml | 3 +- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/tools/TestSuite/TestSuite.Shared/Fixtures/WebhookCatcherClient.cs b/tools/TestSuite/TestSuite.Shared/Fixtures/WebhookCatcherClient.cs index 859a29078..96f427dd3 100644 --- a/tools/TestSuite/TestSuite.Shared/Fixtures/WebhookCatcherClient.cs +++ b/tools/TestSuite/TestSuite.Shared/Fixtures/WebhookCatcherClient.cs @@ -26,14 +26,17 @@ public sealed class WebhookRequest [JsonPropertyName("method")] public string Method { get; set; } - [JsonPropertyName("content_base64")] + [JsonIgnore] public string Content { get; set; } [JsonIgnore] public Dictionary Headers { get; set; } = []; + [JsonPropertyName("request_payload_base64")] + public string EncodedContent { get; set; } + [JsonPropertyName("headers")] - public WebhookHeader[] HeaderValues { get; set; } + public WebhookHeader[] HeaderList { get; set; } } public sealed class WebhookHeader @@ -77,36 +80,37 @@ public sealed class WebhookCatcherClient public async Task<(string, string)> CreateSessionAsync( CancellationToken ct = default) { - var response = await httpClient.PostAsJsonAsync("/api/session", new { }, ct); + var request = new { status_code = 200, }; + var response = await httpClient.PostAsJsonAsync("/api/session", request, ct); response.EnsureSuccessStatusCode(); - var responseObj = await response.Content.ReadFromJsonAsync(ct); - - return ($"http://{EndpointHost}:{EndpointPort}/{responseObj!.Uuid}", responseObj!.Uuid); + var json = await response.Content.ReadFromJsonAsync(ct); + return ($"http://{EndpointHost}:{EndpointPort}/{json!.Uuid}", json!.Uuid); } public async Task GetRequestsAsync(string sessionId, CancellationToken ct = default) { - var responseObj = await httpClient.GetFromJsonAsync($"/api/session/{sessionId}/requests", ct); + var response = await httpClient.GetFromJsonAsync($"/api/session/{sessionId}/requests", ct); - foreach (var request in responseObj!) + foreach (var request in response!) { - if (request.Content != null) + var content = request.EncodedContent; + if (content != null) { - request.Content = Encoding.Default.GetString(Convert.FromBase64String(request.Content)); + request.Content = Encoding.Default.GetString(Convert.FromBase64String(content)); } - if (request.HeaderValues != null) + if (request.HeaderList != null) { - foreach (var header in request.HeaderValues) + foreach (var header in request.HeaderList) { request.Headers[header.Name] = header.Value; } } } - return responseObj; + return response; } } diff --git a/tools/TestSuite/docker-compose-base.yml b/tools/TestSuite/docker-compose-base.yml index f17d23a77..4da68b290 100644 --- a/tools/TestSuite/docker-compose-base.yml +++ b/tools/TestSuite/docker-compose-base.yml @@ -1,4 +1,3 @@ -version: '3' services: # Base configuration squidex_base: diff --git a/tools/TestSuite/docker-compose.yml b/tools/TestSuite/docker-compose.yml index b9dfc0544..66a9d4a22 100644 --- a/tools/TestSuite/docker-compose.yml +++ b/tools/TestSuite/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3' services: mongo: image: mongo:latest @@ -75,7 +74,7 @@ services: - mongo webhookcatcher: - image: tarampampam/webhook-tester + image: tarampampam/webhook-tester:2 command: serve --port 1026 ports: - "1026:1026" diff --git a/tools/TestSuite/webhook-catcher/docker-compose.yml b/tools/TestSuite/webhook-catcher/docker-compose.yml index 54ec99e6d..9415a7685 100644 --- a/tools/TestSuite/webhook-catcher/docker-compose.yml +++ b/tools/TestSuite/webhook-catcher/docker-compose.yml @@ -1,7 +1,6 @@ -version: '3' services: webhookcatcher: - image: tarampampam/webhook-tester + image: tarampampam/webhook-tester:2 command: serve --port 1026 ports: - "1026:1026"