1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-20 21:55:03 -04:00

Root folder improvements

Fixed: Prevent non-writeable root folder from being added
Fixed: Errors getting free space/subfolders for root folder won't prevent the UI from loading
This commit is contained in:
Mark McDowall
2015-02-09 16:42:26 -08:00
parent d3c1deb203
commit 573c2b8f60
2 changed files with 53 additions and 7 deletions
@@ -4,6 +4,7 @@ using System.IO;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Disk;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common;
@@ -21,6 +22,10 @@ namespace NzbDrone.Core.Test.RootFolderTests
.Setup(m => m.FolderExists(It.IsAny<string>()))
.Returns(true);
Mocker.GetMock<IDiskProvider>()
.Setup(m => m.FolderWritable(It.IsAny<string>()))
.Returns(true);
Mocker.GetMock<IRootFolderRepository>()
.Setup(s => s.All())
.Returns(new List<RootFolder>());
@@ -77,6 +82,26 @@ namespace NzbDrone.Core.Test.RootFolderTests
Assert.Throws<InvalidOperationException>(() => Subject.Add(new RootFolder { Path = @"C:\TV".AsOsAgnostic() }));
}
[Test]
public void should_throw_when_adding_not_writable_folder()
{
Mocker.GetMock<IDiskProvider>()
.Setup(m => m.FolderWritable(It.IsAny<string>()))
.Returns(false);
Assert.Throws<UnauthorizedAccessException>(() => Subject.Add(new RootFolder { Path = @"C:\TV".AsOsAgnostic() }));
}
[Test]
public void should_throw_when_same_path_as_drone_factory()
{
var path = @"C:\TV".AsOsAgnostic();
Mocker.GetMock<IConfigService>()
.SetupGet(s => s.DownloadedEpisodesFolder)
.Returns(path);
Assert.Throws<InvalidOperationException>(() => Subject.Add(new RootFolder { Path = path }));
}
}
}