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 NzbDrone.Common.Disk;
using NzbDrone.Core.DiskSpace;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Tv;
using NzbDrone.Test.Common;
@ -16,14 +17,14 @@ namespace NzbDrone.Core.Test.DiskSpace
{
private string _seriesFolder;
private string _seriesFolder2;
private string _droneFactoryFolder;
private string _rootFolder;
[SetUp]
public void SetUp()
{
_seriesFolder = @"G:\fasdlfsdf\series".AsOsAgnostic();
_seriesFolder2 = @"G:\fasdlfsdf\series2".AsOsAgnostic();
_droneFactoryFolder = @"G:\dronefactory".AsOsAgnostic();
_rootFolder = @"G:\fasdlfsdf".AsOsAgnostic();
Mocker.GetMock<IDiskProvider>()
.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))));
}
private void GivenRootFolder(string seriesPath, string rootFolderPath)
{
Mocker.GetMock<IRootFolderService>()
.Setup(v => v.GetBestRootFolderPath(seriesPath))
.Returns(rootFolderPath);
}
private void GivenExistingFolder(string folder)
{
Mocker.GetMock<IDiskProvider>()
@ -62,8 +70,8 @@ namespace NzbDrone.Core.Test.DiskSpace
public void should_check_diskspace_for_series_folders()
{
GivenSeries(_seriesFolder);
GivenExistingFolder(_seriesFolder);
GivenRootFolder(_seriesFolder, _rootFolder);
GivenExistingFolder(_rootFolder);
var freeSpace = Subject.GetFreeSpace();
@ -74,9 +82,9 @@ namespace NzbDrone.Core.Test.DiskSpace
public void should_check_diskspace_for_same_root_folder_only_once()
{
GivenSeries(_seriesFolder, _seriesFolder2);
GivenExistingFolder(_seriesFolder);
GivenExistingFolder(_seriesFolder2);
GivenRootFolder(_seriesFolder, _rootFolder);
GivenRootFolder(_seriesFolder2, _rootFolder);
GivenExistingFolder(_rootFolder);
var freeSpace = Subject.GetFreeSpace();
@ -87,9 +95,10 @@ namespace NzbDrone.Core.Test.DiskSpace
}
[Test]
public void should_not_check_diskspace_for_missing_series_folders()
public void should_not_check_diskspace_for_missing_series_root_folders()
{
GivenSeries(_seriesFolder);
GivenRootFolder(_seriesFolder, _rootFolder);
var freeSpace = Subject.GetFreeSpace();

View File

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