|
|
@ -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 AuthHeaderName = "Authorization";
|
|
|
|
public const string DummyAuthHeader = "MediaBrowser Client=\"Jellyfin.Server Integration Tests\", DeviceId=\"69420\", Device=\"Apple II\", Version=\"10.8.0\"";
|
|
|
|
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);
|
|
|
|