Organized tests for DiskScan and PostDownload

Added tests for GetVideoFiles and ProcessVideoFile
This commit is contained in:
Mark McDowall 2012-08-29 08:34:51 -07:00
commit cc6011ec87
16 changed files with 921 additions and 433 deletions

View file

@ -50,7 +50,6 @@ namespace NzbDrone.Core.Providers
}
}
//Todo: Process files directly in the drop folder
foreach(var videoFile in _diskScanProvider.GetVideoFiles(dropFolder, false))
{
try
@ -124,6 +123,12 @@ namespace NzbDrone.Core.Providers
public virtual void ProcessVideoFile(string videoFile)
{
if (_diskProvider.GetLastFileWrite(videoFile).AddMinutes(2) > DateTime.UtcNow)
{
Logger.Trace("[{0}] is too fresh. skipping", videoFile);
return;
}
var seriesName = Parser.ParseSeriesName(Path.GetFileNameWithoutExtension(videoFile));
var series = _seriesProvider.FindSeries(seriesName);
@ -133,6 +138,15 @@ namespace NzbDrone.Core.Providers
return;
}
var size = _diskProvider.GetFileSize(videoFile);
var freeSpace = _diskProvider.FreeDiskSpace(new DirectoryInfo(series.Path));
if (Convert.ToUInt64(size) > freeSpace)
{
Logger.Error("Not enough free disk space for series: {0}, {1}", series.Title, series.Path);
return;
}
var episodeFile = _diskScanProvider.ImportFile(series, videoFile);
if (episodeFile != null)
{