Fix GetBestRootFolderPath tests

(cherry picked from commit 63a911a9a549749b5460c2b9fea48a25e78c52a4)
This commit is contained in:
Mark McDowall 2023-08-03 20:12:33 -07:00 committed by Bogdan
parent b8f06eb97d
commit 00e2933052
2 changed files with 24 additions and 7 deletions

View File

@ -1,8 +1,6 @@
using System.Linq;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Disk;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common;
@ -34,15 +32,34 @@ namespace NzbDrone.Core.Test.RootFolderTests
}
[Test]
public void should_get_parent_path_from_diskProvider_if_matching_root_folder_is_not_found()
public void should_get_parent_path_from_os_path_if_matching_root_folder_is_not_found()
{
var moviePath = @"T:\Test\Movies\Movie Title".AsOsAgnostic();
GivenRootFolders(@"C:\Test\Movies".AsOsAgnostic(), @"D:\Test\Movies".AsOsAgnostic());
Subject.GetBestRootFolderPath(moviePath);
Subject.GetBestRootFolderPath(moviePath).Should().Be(@"T:\Test\Movies".AsOsAgnostic());
}
Mocker.GetMock<IDiskProvider>()
.Verify(v => v.GetParentFolder(moviePath), Times.Once);
[Test]
public void should_get_parent_path_from_os_path_if_matching_root_folder_is_not_found_for_posix_path()
{
WindowsOnly();
var moviePath = "/mnt/movies/Movie Title";
GivenRootFolders(@"C:\Test\Movies".AsOsAgnostic(), @"D:\Test\Movies".AsOsAgnostic());
Subject.GetBestRootFolderPath(moviePath).Should().Be(@"/mnt/movies");
}
[Test]
public void should_get_parent_path_from_os_path_if_matching_root_folder_is_not_found_for_windows_path()
{
PosixOnly();
var moviePath = @"T:\Test\Movies\Movie Title";
GivenRootFolders(@"C:\Test\Movies".AsOsAgnostic(), @"D:\Test\Movies".AsOsAgnostic());
Subject.GetBestRootFolderPath(moviePath).Should().Be(@"T:\Test\Movies");
}
}
}

View File

@ -190,7 +190,7 @@ namespace NzbDrone.Core.RootFolders
{
var osPath = new OsPath(path);
return osPath.Directory.ToString();
return osPath.Directory.ToString().TrimEnd(osPath.IsUnixPath ? '/' : '\\');
}
return possibleRootFolder?.Path;