Kaynağa Gözat

Use Authorization header in integration tests

instead of X-Emby-Authorization

And ensure the response has a successful status code
Bond_009 1 yıl önce
ebeveyn
işleme
6f2c165cc3

+ 8 - 5
tests/Jellyfin.Server.Integration.Tests/AuthHelper.cs

@@ -15,8 +15,8 @@ namespace Jellyfin.Server.Integration.Tests
 {
 {
     public static class AuthHelper
     public static class AuthHelper
     {
     {
-        public const string AuthHeaderName = "X-Emby-Authorization";
-        public const string DummyAuthHeader = "MediaBrowser Client=\"Jellyfin.Server Integration Tests\", DeviceId=\"69420\", Device=\"Apple II\", Version=\"10.8.0\"";
+        public const string AuthHeaderName = "Authorization";
+        public const string DummyAuthHeader = "MediaBrowser Client=\"Jellyfin.Server%20Integration%20Tests\", DeviceId=\"69420\", Device=\"Apple%20II\", Version=\"10.8.0\"";
 
 
         public static async Task<string> CompleteStartupAsync(HttpClient client)
         public static async Task<string> CompleteStartupAsync(HttpClient client)
         {
         {
@@ -27,16 +27,19 @@ namespace Jellyfin.Server.Integration.Tests
             using var completeResponse = await client.PostAsync("/Startup/Complete", new ByteArrayContent(Array.Empty<byte>()));
             using var completeResponse = await client.PostAsync("/Startup/Complete", new ByteArrayContent(Array.Empty<byte>()));
             Assert.Equal(HttpStatusCode.NoContent, completeResponse.StatusCode);
             Assert.Equal(HttpStatusCode.NoContent, completeResponse.StatusCode);
 
 
-            using var content = JsonContent.Create(
+            using var httpRequest = new HttpRequestMessage(HttpMethod.Post, "/Users/AuthenticateByName");
+            httpRequest.Headers.TryAddWithoutValidation(AuthHeaderName, DummyAuthHeader);
+            httpRequest.Content = JsonContent.Create(
                 new AuthenticateUserByName()
                 new AuthenticateUserByName()
                 {
                 {
                     Username = user!.Name,
                     Username = user!.Name,
                     Pw = user.Password,
                     Pw = user.Password,
                 },
                 },
                 options: jsonOptions);
                 options: jsonOptions);
-            content.Headers.Add("X-Emby-Authorization", DummyAuthHeader);
 
 
-            using var authResponse = await client.PostAsync("/Users/AuthenticateByName", content);
+            using var authResponse = await client.SendAsync(httpRequest);
+            authResponse.EnsureSuccessStatusCode();
+
             var auth = await JsonSerializer.DeserializeAsync<AuthenticationResultDto>(
             var auth = await JsonSerializer.DeserializeAsync<AuthenticationResultDto>(
                 await authResponse.Content.ReadAsStreamAsync(),
                 await authResponse.Content.ReadAsStreamAsync(),
                 jsonOptions);
                 jsonOptions);