diff options
| -rw-r--r-- | Jellyfin.Api/Controllers/LibraryStructureController.cs | 11 | ||||
| -rw-r--r-- | tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs | 4 |
2 files changed, 5 insertions, 10 deletions
diff --git a/Jellyfin.Api/Controllers/LibraryStructureController.cs b/Jellyfin.Api/Controllers/LibraryStructureController.cs index 7838c2f61..55000fc91 100644 --- a/Jellyfin.Api/Controllers/LibraryStructureController.cs +++ b/Jellyfin.Api/Controllers/LibraryStructureController.cs @@ -88,14 +88,7 @@ public class LibraryStructureController : BaseJellyfinApiController libraryOptions.PathInfos = Array.ConvertAll(paths, i => new MediaPathInfo(i)); } - try - { - await _libraryManager.AddVirtualFolder(name, collectionType, libraryOptions, refreshLibrary).ConfigureAwait(false); - } - catch (System.Exception ex) - { - return BadRequest(ex.ToString()); - } + await _libraryManager.AddVirtualFolder(name, collectionType, libraryOptions, refreshLibrary).ConfigureAwait(false); return NoContent(); } @@ -106,6 +99,7 @@ public class LibraryStructureController : BaseJellyfinApiController /// <param name="name">The name of the folder.</param> /// <param name="refreshLibrary">Whether to refresh the library.</param> /// <response code="204">Folder removed.</response> + /// <response code="404">Folder not found.</response> /// <returns>A <see cref="NoContentResult"/>.</returns> [HttpDelete] [ProducesResponseType(StatusCodes.Status204NoContent)] @@ -113,6 +107,7 @@ public class LibraryStructureController : BaseJellyfinApiController [FromQuery] string name, [FromQuery] bool refreshLibrary = false) { + // TODO: refactor! this relies on an FileNotFound exception to return NotFound when attempting to remove a library that does not exist. await _libraryManager.RemoveVirtualFolder(name, refreshLibrary).ConfigureAwait(false); return NoContent(); diff --git a/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs b/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs index 6b749f0a8..0376f57cc 100644 --- a/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs +++ b/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs @@ -77,7 +77,7 @@ public sealed class LibraryStructureControllerTests : IClassFixture<JellyfinAppl }; using var createResponse = await client.PostAsJsonAsync("Library/VirtualFolders?name=test&refreshLibrary=true", createBody, _jsonOptions); - Assert.True(createResponse.StatusCode == HttpStatusCode.NoContent, $"Error: {await createResponse.Content.ReadAsStringAsync()}"); + Assert.Equal(HttpStatusCode.NoContent, createResponse.StatusCode); using var response = await client.GetAsync("Library/VirtualFolders"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); @@ -120,6 +120,6 @@ public sealed class LibraryStructureControllerTests : IClassFixture<JellyfinAppl client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client)); using var response = await client.DeleteAsync("Library/VirtualFolders?name=test&refreshLibrary=true"); - Assert.True(response.StatusCode == HttpStatusCode.NoContent, "DeleteFailed: " + await response.Content.ReadAsStringAsync()); + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); } } |
