diff --git a/NzbDrone.Core.Test/JobTests/DiskScanJobTest.cs b/NzbDrone.Core.Test/JobTests/DiskScanJobTest.cs index 6af7ed6255..4017bc35b1 100644 --- a/NzbDrone.Core.Test/JobTests/DiskScanJobTest.cs +++ b/NzbDrone.Core.Test/JobTests/DiskScanJobTest.cs @@ -75,11 +75,11 @@ public void failed_scan_should_not_terminated_job() .Setup(p => p.All()) .Returns(series); - Mocker.GetMock() + Mocker.GetMock() .Setup(s => s.Scan(series[0])) .Throws(new InvalidOperationException("Bad Job")); - Mocker.GetMock() + Mocker.GetMock() .Setup(s => s.Scan(series[1])) .Throws(new InvalidOperationException("Bad Job")); @@ -105,7 +105,7 @@ public void job_with_no_target_should_scan_series_with_episodes() Mocker.Resolve().Start(new ProgressNotification("Test"), null); Mocker.VerifyAllMocks(); - Mocker.GetMock().Verify(s => s.Scan(It.IsAny()), Times.Exactly(2)); + Mocker.GetMock().Verify(s => s.Scan(It.IsAny()), Times.Exactly(2)); } } } \ No newline at end of file diff --git a/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/GetVideoFilesFixture.cs b/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/GetVideoFilesFixture.cs index 69f51be6cd..09b9d565b0 100644 --- a/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/GetVideoFilesFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/GetVideoFilesFixture.cs @@ -44,7 +44,7 @@ public void should_check_all_directories() { var path = @"C:\Test\"; - Mocker.Resolve().GetVideoFiles(path); + Mocker.Resolve().GetVideoFiles(path); Mocker.GetMock().Verify(s => s.GetFiles(path, SearchOption.AllDirectories), Times.Once()); Mocker.GetMock().Verify(s => s.GetFiles(path, SearchOption.TopDirectoryOnly), Times.Never()); @@ -55,7 +55,7 @@ public void should_check_all_directories_when_allDirectories_is_true() { var path = @"C:\Test\"; - Mocker.Resolve().GetVideoFiles(path, true); + Mocker.Resolve().GetVideoFiles(path, true); Mocker.GetMock().Verify(s => s.GetFiles(path, SearchOption.AllDirectories), Times.Once()); Mocker.GetMock().Verify(s => s.GetFiles(path, SearchOption.TopDirectoryOnly), Times.Never()); @@ -66,7 +66,7 @@ public void should_check_top_level_directory_only_when_allDirectories_is_false() { var path = @"C:\Test\"; - Mocker.Resolve().GetVideoFiles(path, false); + Mocker.Resolve().GetVideoFiles(path, false); Mocker.GetMock().Verify(s => s.GetFiles(path, SearchOption.AllDirectories), Times.Never()); Mocker.GetMock().Verify(s => s.GetFiles(path, SearchOption.TopDirectoryOnly), Times.Once()); @@ -77,7 +77,7 @@ public void should_return_video_files_only() { var path = @"C:\Test\"; - Mocker.Resolve().GetVideoFiles(path).Should().HaveCount(4); + Mocker.Resolve().GetVideoFiles(path).Should().HaveCount(4); } } } diff --git a/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs b/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs index 2cd8f919c7..5deb2f0bb2 100644 --- a/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/DiskScanProviderTests/ImportFileFixture.cs @@ -17,7 +17,7 @@ namespace NzbDrone.Core.Test.ProviderTests.DiskScanProviderTests { - public class ImportFileFixture : CoreTest + public class ImportFileFixture : CoreTest { diff --git a/NzbDrone.Core.Test/ProviderTests/PostDownloadProviderTests/DropFolderImportServiceFixture.cs b/NzbDrone.Core.Test/ProviderTests/PostDownloadProviderTests/DropFolderImportServiceFixture.cs index 9fb92ddd69..014ae729c1 100644 --- a/NzbDrone.Core.Test/ProviderTests/PostDownloadProviderTests/DropFolderImportServiceFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/PostDownloadProviderTests/DropFolderImportServiceFixture.cs @@ -26,7 +26,7 @@ public void Setup() _fakeEpisodeFile = Builder.CreateNew().Build(); - Mocker.GetMock().Setup(c => c.GetVideoFiles(It.IsAny(), It.IsAny())) + Mocker.GetMock().Setup(c => c.GetVideoFiles(It.IsAny(), It.IsAny())) .Returns(_videoFiles); Mocker.GetMock().Setup(c => c.GetDirectories(It.IsAny())) @@ -96,7 +96,7 @@ public void should_search_for_series_using_file_name() [Test] public void all_imported_files_should_be_moved() { - Mocker.GetMock().Setup(c => c.ImportFile(It.IsAny(), It.IsAny())) + Mocker.GetMock().Setup(c => c.ImportFile(It.IsAny(), It.IsAny())) .Returns(_fakeEpisodeFile); Subject.ProcessDropFolder("c:\\drop\\"); @@ -107,7 +107,7 @@ public void all_imported_files_should_be_moved() [Test] public void should_not_attempt_move_if_nothing_is_imported() { - Mocker.GetMock().Setup(c => c.ImportFile(It.IsAny(), It.IsAny())) + Mocker.GetMock().Setup(c => c.ImportFile(It.IsAny(), It.IsAny())) .Returns(null); Subject.ProcessDropFolder("c:\\drop\\"); @@ -131,14 +131,14 @@ public void should_skip_if_folder_is_in_use_by_another_process() private void VerifyNoImport() { - Mocker.GetMock().Verify(c => c.ImportFile(It.IsAny(), It.IsAny()), + Mocker.GetMock().Verify(c => c.ImportFile(It.IsAny(), It.IsAny()), Times.Never()); } private void VerifyImport() { - Mocker.GetMock().Verify(c => c.ImportFile(It.IsAny(), It.IsAny()), + Mocker.GetMock().Verify(c => c.ImportFile(It.IsAny(), It.IsAny()), Times.Once()); } } diff --git a/NzbDrone.Core/Jobs/Implementations/DiskScanJob.cs b/NzbDrone.Core/Jobs/Implementations/DiskScanJob.cs index 47294f5c11..addc282b45 100644 --- a/NzbDrone.Core/Jobs/Implementations/DiskScanJob.cs +++ b/NzbDrone.Core/Jobs/Implementations/DiskScanJob.cs @@ -12,15 +12,15 @@ namespace NzbDrone.Core.Jobs.Implementations { public class DiskScanJob : IJob { - private readonly DiskScanProvider _diskScanProvider; + private readonly IDiskScanService _diskScanService; private readonly IConfigService _configService; private readonly ISeriesRepository _seriesRepository; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public DiskScanJob(DiskScanProvider diskScanProvider, + public DiskScanJob(IDiskScanService diskScanService, IConfigService configService, ISeriesRepository seriesRepository) { - _diskScanProvider = diskScanProvider; + _diskScanService = diskScanService; _configService = configService; _seriesRepository = seriesRepository; } @@ -60,7 +60,7 @@ public virtual void Start(ProgressNotification notification, dynamic options) try { notification.CurrentMessage = string.Format("Scanning disk for '{0}'", series.Title); - _diskScanProvider.Scan(series); + _diskScanService.Scan(series); notification.CurrentMessage = string.Format("Disk Scan completed for '{0}'", series.Title); } catch (Exception e) diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index dec99946ad..21554709d1 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -415,7 +415,7 @@ Code - + Code diff --git a/NzbDrone.Core/Providers/DropfolderImportService.cs b/NzbDrone.Core/Providers/DropfolderImportService.cs index c453baf2ae..e490c4e200 100644 --- a/NzbDrone.Core/Providers/DropfolderImportService.cs +++ b/NzbDrone.Core/Providers/DropfolderImportService.cs @@ -16,21 +16,21 @@ public interface IDropFolderImportService public class DropFolderImportService : IDropFolderImportService { private readonly DiskProvider _diskProvider; - private readonly DiskScanProvider _diskScanProvider; + private readonly IDiskScanService _diskScanService; private readonly ISeriesService _seriesService; private readonly IMoveEpisodeFiles _episodeFileMover; private readonly IParsingService _parsingService; private readonly Logger _logger; public DropFolderImportService(DiskProvider diskProvider, - DiskScanProvider diskScanProvider, + IDiskScanService diskScanService, ISeriesService seriesService, IMoveEpisodeFiles episodeFileMover, IParsingService parsingService, Logger logger) { _diskProvider = diskProvider; - _diskScanProvider = diskScanProvider; + _diskScanService = diskScanService; _seriesService = seriesService; _episodeFileMover = episodeFileMover; _parsingService = parsingService; @@ -54,7 +54,7 @@ public virtual void ProcessDropFolder(string dropFolder) } } - foreach (var videoFile in _diskScanProvider.GetVideoFiles(dropFolder, false)) + foreach (var videoFile in _diskScanService.GetVideoFiles(dropFolder, false)) { try { @@ -86,7 +86,7 @@ public void ProcessSubFolder(DirectoryInfo subfolderInfo) return; } - var files = _diskScanProvider.GetVideoFiles(subfolderInfo.FullName); + var files = _diskScanService.GetVideoFiles(subfolderInfo.FullName); foreach (var file in files) { @@ -109,7 +109,7 @@ public void ProcessVideoFile(string videoFile, Series series) return; } - var episodeFile = _diskScanProvider.ImportFile(series, videoFile); + var episodeFile = _diskScanService.ImportFile(series, videoFile); if (episodeFile != null) { diff --git a/NzbDrone.Core/Providers/DiskScanProvider.cs b/NzbDrone.Core/Providers/IDiskScanService.cs similarity index 91% rename from NzbDrone.Core/Providers/DiskScanProvider.cs rename to NzbDrone.Core/Providers/IDiskScanService.cs index b65501ec60..d9446554c3 100644 --- a/NzbDrone.Core/Providers/DiskScanProvider.cs +++ b/NzbDrone.Core/Providers/IDiskScanService.cs @@ -10,7 +10,14 @@ namespace NzbDrone.Core.Providers { - public class DiskScanProvider + public interface IDiskScanService + { + void Scan(Series series); + EpisodeFile ImportFile(Series series, string filePath); + string[] GetVideoFiles(string path, bool allDirectories = true); + } + + public class DiskScanService : IDiskScanService { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly string[] MediaExtensions = new[] { ".mkv", ".avi", ".wmv", ".mp4", ".mpg", ".mpeg", ".xvid", ".flv", ".mov", ".rm", ".rmvb", ".divx", ".dvr-ms", ".ts", ".ogm", ".m4v", ".strm" }; @@ -20,7 +27,7 @@ public class DiskScanProvider private readonly IVideoFileInfoReader _videoFileInfoReader; private readonly IParsingService _parsingService; - public DiskScanProvider(DiskProvider diskProvider, ICleanGhostFiles ghostFileCleaner, IMediaFileService mediaFileService, IVideoFileInfoReader videoFileInfoReader, + public DiskScanService(DiskProvider diskProvider, ICleanGhostFiles ghostFileCleaner, IMediaFileService mediaFileService, IVideoFileInfoReader videoFileInfoReader, IParsingService parsingService) { _diskProvider = diskProvider;