|
|
@ -342,5 +342,109 @@ namespace NzbDrone.Core.Test
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
Assert.AreEqual(0, result.Count);
|
|
|
|
Assert.AreEqual(0, result.Count);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
|
|
[Description("Verifies that a new download will not import successfully, episode is sample under 40MB")]
|
|
|
|
|
|
|
|
public void import_new_download_not_imported_episode_sample_under_40MB()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//Alternate Setup
|
|
|
|
|
|
|
|
episodeFile2.Episodes.Add(episode2);
|
|
|
|
|
|
|
|
episode2.EpisodeFile = episodeFile2;
|
|
|
|
|
|
|
|
episodeFile2.Quality = QualityTypes.Bluray720p;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Mocks
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var diskProvider = mocker.GetMock<DiskProvider>();
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetFiles(It.IsAny<string>(), "*.*", SearchOption.AllDirectories)).Returns(new string[] { @"C:\Test\30 Rock - 1x05x06 - Episode Title\30.Rock.S01E05.Gibberish.x264-sample.avi" });
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetSize(It.IsAny<string>())).Returns(30000000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
|
|
|
|
var result = mocker.Resolve<MediaFileProvider>().ImportNewFiles(@"C:\Test\30 Rock - 1x05x06 - Episode Title", series);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Assert
|
|
|
|
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
|
|
|
|
Assert.AreEqual(0, result.Count);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
|
|
[Description("Verifies that a new download will import successfully, even though the episode title contains Sample")]
|
|
|
|
|
|
|
|
public void import_new_download_imported_contains_sample_over_40MB()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//Mocks
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var diskProvider = mocker.GetMock<DiskProvider>();
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetFiles(It.IsAny<string>(), "*.*", SearchOption.AllDirectories)).Returns(new string[] { @"C:\Test\30 Rock - 1x05 - Episode Title\30.Rock.S01E05.Fourty.Samples.Gibberish.XviD.avi" });
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetSize(It.IsAny<string>())).Returns(90000000000);
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.CreateDirectory(It.IsAny<string>())).Returns("ok");
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.RenameFile(It.IsAny<string>(), It.IsAny<string>()));
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetExtension(It.IsAny<string>())).Returns(".avi");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var episodeProvider = mocker.GetMock<EpisodeProvider>();
|
|
|
|
|
|
|
|
episodeProvider.Setup(e => e.GetEpisodes(It.IsAny<EpisodeParseResult>())).Returns(new List<Episode> { episode });
|
|
|
|
|
|
|
|
episodeProvider.Setup(e => e.GetEpisode(series.SeriesId, 1, 5)).Returns(episode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var configProvider = mocker.GetMock<ConfigProvider>();
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.UseSeasonFolder).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.SeasonFolderFormat).Returns(@"Season %0s");
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.SeriesName).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.EpisodeName).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.AppendQuality).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.SeparatorStyle).Returns(0);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.NumberStyle).Returns(2);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.ReplaceSpaces).Returns(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var repo = mocker.GetMock<IRepository>();
|
|
|
|
|
|
|
|
repo.Setup(r => r.Exists(It.IsAny<Expression<Func<EpisodeFile, Boolean>>>())).Returns(false).Verifiable();
|
|
|
|
|
|
|
|
repo.Setup(r => r.Add<EpisodeFile>(It.IsAny<EpisodeFile>())).Returns(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
|
|
|
|
var result = mocker.Resolve<MediaFileProvider>().ImportNewFiles(@"C:\Test\30 Rock - 1x05 - Fourty Samples", series);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Assert
|
|
|
|
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
|
|
|
|
Assert.AreEqual(1, result.Count);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
|
|
[Description("Verifies that a new download will import successfully, even though the efile size is under 40MB")]
|
|
|
|
|
|
|
|
public void import_new_download_imported_under_40MB()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//Mocks
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var diskProvider = mocker.GetMock<DiskProvider>();
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetFiles(It.IsAny<string>(), "*.*", SearchOption.AllDirectories)).Returns(new string[] { @"C:\Test\30 Rock - 1x05 - Episode Title\30.Rock.S01E05.Gibberish.XviD.avi" });
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetSize(It.IsAny<string>())).Returns(30000000);
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.CreateDirectory(It.IsAny<string>())).Returns("ok");
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.RenameFile(It.IsAny<string>(), It.IsAny<string>()));
|
|
|
|
|
|
|
|
diskProvider.Setup(d => d.GetExtension(It.IsAny<string>())).Returns(".avi");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var episodeProvider = mocker.GetMock<EpisodeProvider>();
|
|
|
|
|
|
|
|
episodeProvider.Setup(e => e.GetEpisodes(It.IsAny<EpisodeParseResult>())).Returns(new List<Episode> { episode });
|
|
|
|
|
|
|
|
episodeProvider.Setup(e => e.GetEpisode(series.SeriesId, 1, 5)).Returns(episode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var configProvider = mocker.GetMock<ConfigProvider>();
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.UseSeasonFolder).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.SeasonFolderFormat).Returns(@"Season %0s");
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.SeriesName).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.EpisodeName).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.AppendQuality).Returns(true);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.SeparatorStyle).Returns(0);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.NumberStyle).Returns(2);
|
|
|
|
|
|
|
|
configProvider.SetupGet(c => c.ReplaceSpaces).Returns(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var repo = mocker.GetMock<IRepository>();
|
|
|
|
|
|
|
|
repo.Setup(r => r.Exists(It.IsAny<Expression<Func<EpisodeFile, Boolean>>>())).Returns(false).Verifiable();
|
|
|
|
|
|
|
|
repo.Setup(r => r.Add<EpisodeFile>(It.IsAny<EpisodeFile>())).Returns(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
|
|
|
|
var result = mocker.Resolve<MediaFileProvider>().ImportNewFiles(@"C:\Test\30 Rock - 1x05 - Episode Title", series);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Assert
|
|
|
|
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
|
|
|
|
Assert.AreEqual(1, result.Count);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|