Skipping free space check when importing existing episodes

This commit is contained in:
Mark McDowall 2013-09-13 11:41:21 -07:00
parent 6850d77dd2
commit 89d603d71c
2 changed files with 22 additions and 4 deletions

View File

@ -39,7 +39,7 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport.Specifications
_localEpisode = new LocalEpisode
{
Path = @"C:\Test\30 Rock\30.rock.s01e01.avi",
Path = @"C:\Test\Unsorted\30 Rock\30.rock.s01e01.avi".AsOsAgnostic(),
Episodes = episodes,
Series = _series
};
@ -98,7 +98,6 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport.Specifications
.Verify(v => v.GetAvailableSpace(_rootFolder), Times.Once());
}
[Test]
public void should_pass_if_free_space_is_null()
{
@ -114,11 +113,24 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport.Specifications
GivenFileSize(100.Megabytes());
Mocker.GetMock<IDiskProvider>()
.Setup(s => s.GetAvailableSpace(It.IsAny<String>()))
.Throws(new TestException());
.Setup(s => s.GetAvailableSpace(It.IsAny<String>()))
.Throws(new TestException());
Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue();
ExceptionVerification.ExpectedErrors(1);
}
[Test]
public void should_skip_check_for_files_under_series_folder()
{
Mocker.GetMock<IDiskProvider>()
.Setup(s => s.IsParent(It.IsAny<String>(), It.IsAny<String>()))
.Returns(true);
Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue();
Mocker.GetMock<IDiskProvider>()
.Verify(s => s.GetAvailableSpace(It.IsAny<String>()), Times.Never());
}
}
}

View File

@ -23,6 +23,12 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
{
try
{
if (_diskProvider.IsParent(localEpisode.Series.Path, localEpisode.Path))
{
_logger.Trace("Skipping free space check for existing episode");
return true;
}
var path = Directory.GetParent(localEpisode.Series.Path);
var freeSpace = _diskProvider.GetAvailableSpace(path.FullName);