From d8496614ac480e62c6be5537da4f0da147fa237a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20H=C3=B6rner?= Date: Sun, 19 Apr 2026 09:21:04 +0200 Subject: [PATCH] Adapter --- .../TurnierplanAdapterTest.cs | 4 ++-- src/Turnierplan.Adapter/TurnierplanClient.cs | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Turnierplan.Adapter.Test.Functional/TurnierplanAdapterTest.cs b/src/Turnierplan.Adapter.Test.Functional/TurnierplanAdapterTest.cs index d2b79e60..20bc4754 100644 --- a/src/Turnierplan.Adapter.Test.Functional/TurnierplanAdapterTest.cs +++ b/src/Turnierplan.Adapter.Test.Functional/TurnierplanAdapterTest.cs @@ -330,11 +330,11 @@ public async Task Turnierplan_Client_Throws_Exception_When_Version_Does_Not_Matc using var httpClient = new HttpClient(new MockHttpMessageHandler(_ => { var response = new HttpResponseMessage(); - response.StatusCode = HttpStatusCode.Unauthorized; + response.StatusCode = HttpStatusCode.OK; if (sendHeader) { - response.Headers.Add("x-turnierplan-version", "2024.0.0"); // old version that does not exist + response.Headers.Add("X-Turnierplan-Version", "2024.0.0"); // old version that does not exist } return response; diff --git a/src/Turnierplan.Adapter/TurnierplanClient.cs b/src/Turnierplan.Adapter/TurnierplanClient.cs index d3913dc0..9931c9a5 100644 --- a/src/Turnierplan.Adapter/TurnierplanClient.cs +++ b/src/Turnierplan.Adapter/TurnierplanClient.cs @@ -76,6 +76,7 @@ public async Task GetTournament(string tournamentId) var request = new HttpRequestMessage(HttpMethod.Get, $"/api/tournaments/{tournamentId}"); var response = await _httpClient.SendAsync(request).ConfigureAwait(false); + EnsureSuccessResponse(response); VerifyServerVersion(response); return await Deserialize(response).ConfigureAwait(false); @@ -99,6 +100,7 @@ public async Task> GetTournaments(string folderId) var request = new HttpRequestMessage(HttpMethod.Get, $"/api/tournaments{query}"); var response = await _httpClient.SendAsync(request).ConfigureAwait(false); + EnsureSuccessResponse(response); VerifyServerVersion(response); return await Deserialize>(response).ConfigureAwait(false); @@ -153,13 +155,16 @@ private static void VerifyServerVersion(HttpResponseMessage response) } } - private static async Task Deserialize(HttpResponseMessage response) + private static void EnsureSuccessResponse(HttpResponseMessage response) { if (response.StatusCode != HttpStatusCode.OK) { throw new TurnierplanClientException($"API returned unexpected status code: {response.StatusCode}"); } + } + private static async Task Deserialize(HttpResponseMessage response) + { var data = await response.Content.ReadFromJsonAsync(__serializerOptions).ConfigureAwait(false); return data ?? throw new TurnierplanClientException($"Failed to deserialize API response of type '{typeof(T).Name}'.");