diff --git a/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs b/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs index 21b9acf69..6e017569c 100644 --- a/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs @@ -393,6 +393,26 @@ namespace NzbDrone.Core.Test.ProviderTests.DiskScanProviderTests Mocker.GetMock().Verify(p => p.DeleteFile(It.IsAny()), Times.Never()); } + [Test] + public void should_return_null_if_file_size_is_under_40MB() + { + var series = Builder + .CreateNew() + .Build(); + + const string path = @"C:\Test\TV\30.rock.s01e01.pilot.avi"; + + Mocker.GetMock() + .Setup(m => m.Exists(path)) + .Returns(false); + + Mocker.GetMock() + .Setup(d => d.GetFileSize(path)) + .Returns(20.Megabytes()); + + Mocker.Resolve().ImportFile(series, path).Should().BeNull(); + } + private static void VerifyFileImport(EpisodeFile result, AutoMoqer Mocker, Episode fakeEpisode, int size) { Mocker.VerifyAllMocks(); diff --git a/NzbDrone.Core/Providers/DiskScanProvider.cs b/NzbDrone.Core/Providers/DiskScanProvider.cs index bf9e2db24..5d29e6429 100644 --- a/NzbDrone.Core/Providers/DiskScanProvider.cs +++ b/NzbDrone.Core/Providers/DiskScanProvider.cs @@ -110,8 +110,8 @@ namespace NzbDrone.Core.Providers long size = _diskProvider.GetSize(filePath); - //If Size is less than 40MB and contains sample. Check for Size to ensure its not an episode with sample in the title - if (size < Constants.IgnoreFileSize && filePath.ToLower().Contains("sample")) + //Skip any file under 40MB - New samples don't even have sample in the name... + if (size < Constants.IgnoreFileSize) { Logger.Trace("[{0}] appears to be a sample. skipping.", filePath); return null;