fixup! Cache root folders and improve getting disk space for series path roots

This commit is contained in:
Mark McDowall 2024-07-25 16:17:01 -07:00
parent d05df97821
commit 2af5cc491c
2 changed files with 18 additions and 9 deletions

View File

@ -5,6 +5,7 @@ using Moq;
using NUnit.Framework; using NUnit.Framework;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Core.DiskSpace; using NzbDrone.Core.DiskSpace;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.Test.Framework; using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Tv; using NzbDrone.Core.Tv;
using NzbDrone.Test.Common; using NzbDrone.Test.Common;
@ -16,14 +17,14 @@ namespace NzbDrone.Core.Test.DiskSpace
{ {
private string _seriesFolder; private string _seriesFolder;
private string _seriesFolder2; private string _seriesFolder2;
private string _droneFactoryFolder; private string _rootFolder;
[SetUp] [SetUp]
public void SetUp() public void SetUp()
{ {
_seriesFolder = @"G:\fasdlfsdf\series".AsOsAgnostic(); _seriesFolder = @"G:\fasdlfsdf\series".AsOsAgnostic();
_seriesFolder2 = @"G:\fasdlfsdf\series2".AsOsAgnostic(); _seriesFolder2 = @"G:\fasdlfsdf\series2".AsOsAgnostic();
_droneFactoryFolder = @"G:\dronefactory".AsOsAgnostic(); _rootFolder = @"G:\fasdlfsdf".AsOsAgnostic();
Mocker.GetMock<IDiskProvider>() Mocker.GetMock<IDiskProvider>()
.Setup(v => v.GetMounts()) .Setup(v => v.GetMounts())
@ -51,6 +52,13 @@ namespace NzbDrone.Core.Test.DiskSpace
.Returns(new Dictionary<int, string>(seriesPaths.Select((value, i) => new KeyValuePair<int, string>(i, value)))); .Returns(new Dictionary<int, string>(seriesPaths.Select((value, i) => new KeyValuePair<int, string>(i, value))));
} }
private void GivenRootFolder(string seriesPath, string rootFolderPath)
{
Mocker.GetMock<IRootFolderService>()
.Setup(v => v.GetBestRootFolderPath(seriesPath))
.Returns(rootFolderPath);
}
private void GivenExistingFolder(string folder) private void GivenExistingFolder(string folder)
{ {
Mocker.GetMock<IDiskProvider>() Mocker.GetMock<IDiskProvider>()
@ -62,8 +70,8 @@ namespace NzbDrone.Core.Test.DiskSpace
public void should_check_diskspace_for_series_folders() public void should_check_diskspace_for_series_folders()
{ {
GivenSeries(_seriesFolder); GivenSeries(_seriesFolder);
GivenRootFolder(_seriesFolder, _rootFolder);
GivenExistingFolder(_seriesFolder); GivenExistingFolder(_rootFolder);
var freeSpace = Subject.GetFreeSpace(); var freeSpace = Subject.GetFreeSpace();
@ -74,9 +82,9 @@ namespace NzbDrone.Core.Test.DiskSpace
public void should_check_diskspace_for_same_root_folder_only_once() public void should_check_diskspace_for_same_root_folder_only_once()
{ {
GivenSeries(_seriesFolder, _seriesFolder2); GivenSeries(_seriesFolder, _seriesFolder2);
GivenRootFolder(_seriesFolder, _rootFolder);
GivenExistingFolder(_seriesFolder); GivenRootFolder(_seriesFolder2, _rootFolder);
GivenExistingFolder(_seriesFolder2); GivenExistingFolder(_rootFolder);
var freeSpace = Subject.GetFreeSpace(); var freeSpace = Subject.GetFreeSpace();
@ -87,9 +95,10 @@ namespace NzbDrone.Core.Test.DiskSpace
} }
[Test] [Test]
public void should_not_check_diskspace_for_missing_series_folders() public void should_not_check_diskspace_for_missing_series_root_folders()
{ {
GivenSeries(_seriesFolder); GivenSeries(_seriesFolder);
GivenRootFolder(_seriesFolder, _rootFolder);
var freeSpace = Subject.GetFreeSpace(); var freeSpace = Subject.GetFreeSpace();

View File

@ -130,8 +130,8 @@ namespace NzbDrone.Core.RootFolders
public void Remove(int id) public void Remove(int id)
{ {
_cache.Clear();
_rootFolderRepository.Delete(id); _rootFolderRepository.Delete(id);
_cache.Clear();
} }
private List<UnmappedFolder> GetUnmappedFolders(string path, Dictionary<int, string> seriesPaths) private List<UnmappedFolder> GetUnmappedFolders(string path, Dictionary<int, string> seriesPaths)