mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-25 22:36:59 -04:00
Refactor ExtraFile/MetadataFile Services (#104)
* Preliminary Work for Extras for Music * DB Migration for ExtraFiles, Other Cleanup * More Extras Work, Add Album Metadata Type * Update Housekeeps for Music Extras * Fix HouseKeeper and add new Tests * Final round of Cleanup
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -11,7 +11,7 @@ using NzbDrone.Core.Extras.Metadata;
|
||||
using NzbDrone.Core.Extras.Metadata.Files;
|
||||
using NzbDrone.Core.Housekeeping.Housekeepers;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Music;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
@@ -20,27 +20,27 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
public class DeleteBadMediaCoversFixture : CoreTest<DeleteBadMediaCovers>
|
||||
{
|
||||
private List<MetadataFile> _metadata;
|
||||
private List<Series> _series;
|
||||
private List<Artist> _artist;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_series = Builder<Series>.CreateListOfSize(1)
|
||||
_artist = Builder<Artist>.CreateListOfSize(1)
|
||||
.All()
|
||||
.With(c => c.Path = "C:\\TV\\".AsOsAgnostic())
|
||||
.With(c => c.Path = "C:\\Music\\".AsOsAgnostic())
|
||||
.Build().ToList();
|
||||
|
||||
|
||||
_metadata = Builder<MetadataFile>.CreateListOfSize(1)
|
||||
.Build().ToList();
|
||||
|
||||
Mocker.GetMock<ISeriesService>()
|
||||
.Setup(c => c.GetAllSeries())
|
||||
.Returns(_series);
|
||||
Mocker.GetMock<IArtistService>()
|
||||
.Setup(c => c.GetAllArtists())
|
||||
.Returns(_artist);
|
||||
|
||||
|
||||
Mocker.GetMock<IMetadataFileService>()
|
||||
.Setup(c => c.GetFilesBySeries(_series.First().Id))
|
||||
.Setup(c => c.GetFilesByArtist(_artist.First().Id))
|
||||
.Returns(_metadata);
|
||||
|
||||
|
||||
@@ -51,8 +51,8 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
[Test]
|
||||
public void should_not_process_non_image_files()
|
||||
{
|
||||
_metadata.First().RelativePath = "season\\file.xml".AsOsAgnostic();
|
||||
_metadata.First().Type = MetadataType.EpisodeMetadata;
|
||||
_metadata.First().RelativePath = "album\\file.xml".AsOsAgnostic();
|
||||
_metadata.First().Type = MetadataType.TrackMetadata;
|
||||
|
||||
Subject.Clean();
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
Subject.Clean();
|
||||
|
||||
Mocker.GetMock<IConfigService>().VerifySet(c => c.CleanupMetadataImages = true, Times.Never());
|
||||
Mocker.GetMock<ISeriesService>().Verify(c => c.GetAllSeries(), Times.Never());
|
||||
Mocker.GetMock<IArtistService>().Verify(c => c.GetAllArtists(), Times.Never());
|
||||
|
||||
AssertImageWasNotRemoved();
|
||||
}
|
||||
@@ -101,10 +101,10 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
public void should_delete_html_images()
|
||||
{
|
||||
|
||||
var imagePath = "C:\\TV\\Season\\image.jpg".AsOsAgnostic();
|
||||
var imagePath = "C:\\Music\\Album\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().LastUpdated = new DateTime(2014, 12, 29);
|
||||
_metadata.First().RelativePath = "Season\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().Type = MetadataType.SeriesImage;
|
||||
_metadata.First().RelativePath = "Album\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().Type = MetadataType.ArtistImage;
|
||||
|
||||
Mocker.GetMock<IDiskProvider>()
|
||||
.Setup(c => c.OpenReadStream(imagePath))
|
||||
@@ -123,10 +123,10 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
public void should_delete_empty_images()
|
||||
{
|
||||
|
||||
var imagePath = "C:\\TV\\Season\\image.jpg".AsOsAgnostic();
|
||||
var imagePath = "C:\\Music\\Album\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().LastUpdated = new DateTime(2014, 12, 29);
|
||||
_metadata.First().Type = MetadataType.SeasonImage;
|
||||
_metadata.First().RelativePath = "Season\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().Type = MetadataType.AlbumImage;
|
||||
_metadata.First().RelativePath = "Album\\image.jpg".AsOsAgnostic();
|
||||
|
||||
Mocker.GetMock<IDiskProvider>()
|
||||
.Setup(c => c.OpenReadStream(imagePath))
|
||||
@@ -144,9 +144,9 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
public void should_not_delete_non_html_files()
|
||||
{
|
||||
|
||||
var imagePath = "C:\\TV\\Season\\image.jpg".AsOsAgnostic();
|
||||
var imagePath = "C:\\Music\\Album\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().LastUpdated = new DateTime(2014, 12, 29);
|
||||
_metadata.First().RelativePath = "Season\\image.jpg".AsOsAgnostic();
|
||||
_metadata.First().RelativePath = "Album\\image.jpg".AsOsAgnostic();
|
||||
|
||||
Mocker.GetMock<IDiskProvider>()
|
||||
.Setup(c => c.OpenReadStream(imagePath))
|
||||
|
||||
+28
-28
@@ -1,4 +1,4 @@
|
||||
using FizzWare.NBuilder;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Extras.Metadata;
|
||||
@@ -12,12 +12,12 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
public class CleanupDuplicateMetadataFilesFixture : DbTest<CleanupDuplicateMetadataFiles, MetadataFile>
|
||||
{
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_when_they_are_for_the_same_series_but_different_consumers()
|
||||
public void should_not_delete_metadata_files_when_they_are_for_the_same_artist_but_different_consumers()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.SeriesMetadata)
|
||||
.With(m => m.SeriesId = 1)
|
||||
.With(m => m.Type = MetadataType.ArtistMetadata)
|
||||
.With(m => m.ArtistId = 1)
|
||||
.BuildListOfNew();
|
||||
|
||||
Db.InsertMany(files);
|
||||
@@ -26,11 +26,11 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_for_different_series()
|
||||
public void should_not_delete_metadata_files_for_different_artist()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.SeriesMetadata)
|
||||
.With(m => m.Type = MetadataType.ArtistMetadata)
|
||||
.With(m => m.Consumer = "XbmcMetadata")
|
||||
.BuildListOfNew();
|
||||
|
||||
@@ -40,12 +40,12 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_metadata_files_when_they_are_for_the_same_series_and_consumer()
|
||||
public void should_delete_metadata_files_when_they_are_for_the_same_artist_and_consumer()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.SeriesMetadata)
|
||||
.With(m => m.SeriesId = 1)
|
||||
.With(m => m.Type = MetadataType.ArtistMetadata)
|
||||
.With(m => m.ArtistId = 1)
|
||||
.With(m => m.Consumer = "XbmcMetadata")
|
||||
.BuildListOfNew();
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_when_there_is_only_one_for_that_series_and_consumer()
|
||||
public void should_not_delete_metadata_files_when_there_is_only_one_for_that_artist_and_consumer()
|
||||
{
|
||||
var file = Builder<MetadataFile>.CreateNew()
|
||||
.BuildNew();
|
||||
@@ -66,12 +66,12 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_when_they_are_for_the_same_episode_but_different_consumers()
|
||||
public void should_not_delete_metadata_files_when_they_are_for_the_same_track_but_different_consumers()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.EpisodeMetadata)
|
||||
.With(m => m.EpisodeFileId = 1)
|
||||
.With(m => m.Type = MetadataType.TrackMetadata)
|
||||
.With(m => m.TrackFileId = 1)
|
||||
.BuildListOfNew();
|
||||
|
||||
Db.InsertMany(files);
|
||||
@@ -80,11 +80,11 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_for_different_episode()
|
||||
public void should_not_delete_metadata_files_for_different_track()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.EpisodeMetadata)
|
||||
.With(m => m.Type = MetadataType.TrackMetadata)
|
||||
.With(m => m.Consumer = "XbmcMetadata")
|
||||
.BuildListOfNew();
|
||||
|
||||
@@ -94,12 +94,12 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_metadata_files_when_they_are_for_the_same_episode_and_consumer()
|
||||
public void should_delete_metadata_files_when_they_are_for_the_same_track_and_consumer()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.EpisodeMetadata)
|
||||
.With(m => m.EpisodeFileId = 1)
|
||||
.With(m => m.Type = MetadataType.TrackMetadata)
|
||||
.With(m => m.TrackFileId = 1)
|
||||
.With(m => m.Consumer = "XbmcMetadata")
|
||||
.BuildListOfNew();
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_when_there_is_only_one_for_that_episode_and_consumer()
|
||||
public void should_not_delete_metadata_files_when_there_is_only_one_for_that_track_and_consumer()
|
||||
{
|
||||
var file = Builder<MetadataFile>.CreateNew()
|
||||
.BuildNew();
|
||||
@@ -120,12 +120,12 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_image_when_they_are_for_the_same_episode_but_different_consumers()
|
||||
public void should_not_delete_image_when_they_are_for_the_same_track_but_different_consumers()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.EpisodeImage)
|
||||
.With(m => m.EpisodeFileId = 1)
|
||||
.With(m => m.Type = MetadataType.TrackImage)
|
||||
.With(m => m.TrackFileId = 1)
|
||||
.BuildListOfNew();
|
||||
|
||||
Db.InsertMany(files);
|
||||
@@ -134,11 +134,11 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_image_for_different_episode()
|
||||
public void should_not_delete_image_for_different_track()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.EpisodeImage)
|
||||
.With(m => m.Type = MetadataType.TrackImage)
|
||||
.With(m => m.Consumer = "XbmcMetadata")
|
||||
.BuildListOfNew();
|
||||
|
||||
@@ -148,12 +148,12 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_image_when_they_are_for_the_same_episode_and_consumer()
|
||||
public void should_delete_image_when_they_are_for_the_same_track_and_consumer()
|
||||
{
|
||||
var files = Builder<MetadataFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(m => m.Type = MetadataType.EpisodeImage)
|
||||
.With(m => m.EpisodeFileId = 1)
|
||||
.With(m => m.Type = MetadataType.TrackImage)
|
||||
.With(m => m.TrackFileId = 1)
|
||||
.With(m => m.Consumer = "XbmcMetadata")
|
||||
.BuildListOfNew();
|
||||
|
||||
@@ -163,7 +163,7 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_image_when_there_is_only_one_for_that_episode_and_consumer()
|
||||
public void should_not_delete_image_when_there_is_only_one_for_that_track_and_consumer()
|
||||
{
|
||||
var file = Builder<MetadataFile>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
+81
-33
@@ -1,4 +1,4 @@
|
||||
using FizzWare.NBuilder;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Extras.Metadata;
|
||||
@@ -7,7 +7,7 @@ using NzbDrone.Core.Housekeeping.Housekeepers;
|
||||
using NzbDrone.Core.MediaFiles;
|
||||
using NzbDrone.Core.Qualities;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Music;
|
||||
|
||||
namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
{
|
||||
@@ -15,10 +15,10 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
public class CleanupOrphanedMetadataFilesFixture : DbTest<CleanupOrphanedMetadataFiles, MetadataFile>
|
||||
{
|
||||
[Test]
|
||||
public void should_delete_metadata_files_that_dont_have_a_coresponding_series()
|
||||
public void should_delete_metadata_files_that_dont_have_a_coresponding_artist()
|
||||
{
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.EpisodeFileId = null)
|
||||
.With(m => m.TrackFileId = null)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
@@ -27,16 +27,59 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_that_have_a_coresponding_series()
|
||||
public void should_delete_metadata_files_that_dont_have_a_coresponding_album()
|
||||
{
|
||||
var series = Builder<Series>.CreateNew()
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(series);
|
||||
Db.Insert(artist);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.SeriesId = series.Id)
|
||||
.With(m => m.EpisodeFileId = null)
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.TrackFileId = null)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
Subject.Clean();
|
||||
AllStoredModels.Should().BeEmpty();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_that_have_a_coresponding_artist()
|
||||
{
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(artist);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.AlbumId = null)
|
||||
.With(m => m.TrackFileId = null)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
var countMods = AllStoredModels.Count;
|
||||
Subject.Clean();
|
||||
AllStoredModels.Should().HaveCount(1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_that_have_a_coresponding_album()
|
||||
{
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
var album = Builder<Album>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(artist);
|
||||
Db.Insert(album);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.AlbumId = album.Id)
|
||||
.With(m => m.TrackFileId = null)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
@@ -45,16 +88,16 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_metadata_files_that_dont_have_a_coresponding_episode_file()
|
||||
public void should_delete_metadata_files_that_dont_have_a_coresponding_track_file()
|
||||
{
|
||||
var series = Builder<Series>.CreateNew()
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(series);
|
||||
Db.Insert(artist);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.SeriesId = series.Id)
|
||||
.With(m => m.EpisodeFileId = 10)
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.TrackFileId = 10)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
@@ -63,21 +106,26 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_delete_metadata_files_that_have_a_coresponding_episode_file()
|
||||
public void should_not_delete_metadata_files_that_have_a_coresponding_track_file()
|
||||
{
|
||||
var series = Builder<Series>.CreateNew()
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
var episodeFile = Builder<EpisodeFile>.CreateNew()
|
||||
var album = Builder<Album>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
var trackFile = Builder<TrackFile>.CreateNew()
|
||||
.With(h => h.Quality = new QualityModel())
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(series);
|
||||
Db.Insert(episodeFile);
|
||||
Db.Insert(artist);
|
||||
Db.Insert(album);
|
||||
Db.Insert(trackFile);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.SeriesId = series.Id)
|
||||
.With(m => m.EpisodeFileId = episodeFile.Id)
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.AlbumId = album.Id)
|
||||
.With(m => m.TrackFileId = trackFile.Id)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
@@ -86,17 +134,17 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_episode_metadata_files_that_have_episodefileid_of_zero()
|
||||
public void should_delete_track_metadata_files_that_have_trackfileid_of_zero()
|
||||
{
|
||||
var series = Builder<Series>.CreateNew()
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(series);
|
||||
Db.Insert(artist);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.SeriesId = series.Id)
|
||||
.With(m => m.Type = MetadataType.EpisodeMetadata)
|
||||
.With(m => m.EpisodeFileId = 0)
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.Type = MetadataType.TrackMetadata)
|
||||
.With(m => m.TrackFileId = 0)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
@@ -105,17 +153,17 @@ namespace NzbDrone.Core.Test.Housekeeping.Housekeepers
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_episode_image_files_that_have_episodefileid_of_zero()
|
||||
public void should_delete_track_image_files_that_have_trackfileid_of_zero()
|
||||
{
|
||||
var series = Builder<Series>.CreateNew()
|
||||
var artist = Builder<Artist>.CreateNew()
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(series);
|
||||
Db.Insert(artist);
|
||||
|
||||
var metadataFile = Builder<MetadataFile>.CreateNew()
|
||||
.With(m => m.SeriesId = series.Id)
|
||||
.With(m => m.Type = MetadataType.EpisodeImage)
|
||||
.With(m => m.EpisodeFileId = 0)
|
||||
.With(m => m.ArtistId = artist.Id)
|
||||
.With(m => m.Type = MetadataType.TrackImage)
|
||||
.With(m => m.TrackFileId = 0)
|
||||
.BuildNew();
|
||||
|
||||
Db.Insert(metadataFile);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using FizzWare.NBuilder;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.MediaFiles;
|
||||
@@ -11,7 +11,7 @@ namespace NzbDrone.Core.Test.MediaFiles
|
||||
public class MediaFileRepositoryFixture : DbTest<MediaFileRepository, TrackFile>
|
||||
{
|
||||
[Test]
|
||||
public void get_files_by_series()
|
||||
public void get_files_by_artist()
|
||||
{
|
||||
var files = Builder<TrackFile>.CreateListOfSize(10)
|
||||
.All()
|
||||
@@ -24,11 +24,11 @@ namespace NzbDrone.Core.Test.MediaFiles
|
||||
|
||||
Db.InsertMany(files);
|
||||
|
||||
var seriesFiles = Subject.GetFilesByArtist(12);
|
||||
var artistFiles = Subject.GetFilesByArtist(12);
|
||||
|
||||
seriesFiles.Should().HaveCount(4);
|
||||
seriesFiles.Should().OnlyContain(c => c.ArtistId == 12);
|
||||
artistFiles.Should().HaveCount(4);
|
||||
artistFiles.Should().OnlyContain(c => c.ArtistId == 12);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
using FizzWare.NBuilder;
|
||||
@@ -88,7 +88,7 @@ namespace NzbDrone.Core.Test.MediaFiles
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_delete_files_that_dont_belong_to_any_episodes()
|
||||
public void should_delete_files_that_dont_belong_to_any_tracks()
|
||||
{
|
||||
var trackFiles = Builder<TrackFile>.CreateListOfSize(10)
|
||||
.Random(10)
|
||||
@@ -104,7 +104,7 @@ namespace NzbDrone.Core.Test.MediaFiles
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_unlink_episode_when_episodeFile_does_not_exist()
|
||||
public void should_unlink_track_when_trackFile_does_not_exist()
|
||||
{
|
||||
GivenTrackFiles(new List<TrackFile>());
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using System.IO;
|
||||
using System.IO;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Extras.Metadata;
|
||||
using NzbDrone.Core.Extras.Metadata.Consumers.Roksbox;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Music;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test.Metadata.Consumers.Roksbox
|
||||
@@ -13,12 +13,12 @@ namespace NzbDrone.Core.Test.Metadata.Consumers.Roksbox
|
||||
[TestFixture]
|
||||
public class FindMetadataFileFixture : CoreTest<RoksboxMetadata>
|
||||
{
|
||||
private Series _series;
|
||||
private Artist _series;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_series = Builder<Series>.CreateNew()
|
||||
_series = Builder<Artist>.CreateNew()
|
||||
.With(s => s.Path = @"C:\Test\TV\The.Series".AsOsAgnostic())
|
||||
.Build();
|
||||
}
|
||||
@@ -38,11 +38,11 @@ namespace NzbDrone.Core.Test.Metadata.Consumers.Roksbox
|
||||
{
|
||||
var path = Path.Combine(_series.Path, folder, folder + ".jpg");
|
||||
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.SeasonImage);
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.AlbumImage);
|
||||
}
|
||||
|
||||
[TestCase(".xml", MetadataType.EpisodeMetadata)]
|
||||
[TestCase(".jpg", MetadataType.EpisodeImage)]
|
||||
[TestCase(".xml", MetadataType.TrackMetadata)]
|
||||
[TestCase(".jpg", MetadataType.TrackImage)]
|
||||
public void should_return_metadata_for_episode_if_valid_file_for_episode(string extension, MetadataType type)
|
||||
{
|
||||
var path = Path.Combine(_series.Path, "the.series.s01e01.episode" + extension);
|
||||
@@ -72,7 +72,7 @@ namespace NzbDrone.Core.Test.Metadata.Consumers.Roksbox
|
||||
{
|
||||
var path = Path.Combine(_series.Path, new DirectoryInfo(_series.Path).Name + ".jpg");
|
||||
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.SeriesImage);
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.ArtistImage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using System.IO;
|
||||
using System.IO;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Extras.Metadata;
|
||||
using NzbDrone.Core.Extras.Metadata.Consumers.Wdtv;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Music;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test.Metadata.Consumers.Wdtv
|
||||
@@ -13,12 +13,12 @@ namespace NzbDrone.Core.Test.Metadata.Consumers.Wdtv
|
||||
[TestFixture]
|
||||
public class FindMetadataFileFixture : CoreTest<WdtvMetadata>
|
||||
{
|
||||
private Series _series;
|
||||
private Artist _series;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_series = Builder<Series>.CreateNew()
|
||||
_series = Builder<Artist>.CreateNew()
|
||||
.With(s => s.Path = @"C:\Test\TV\The.Series".AsOsAgnostic())
|
||||
.Build();
|
||||
}
|
||||
@@ -38,11 +38,11 @@ namespace NzbDrone.Core.Test.Metadata.Consumers.Wdtv
|
||||
{
|
||||
var path = Path.Combine(_series.Path, folder, "folder.jpg");
|
||||
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.SeasonImage);
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.AlbumImage);
|
||||
}
|
||||
|
||||
[TestCase(".xml", MetadataType.EpisodeMetadata)]
|
||||
[TestCase(".metathumb", MetadataType.EpisodeImage)]
|
||||
[TestCase(".xml", MetadataType.TrackMetadata)]
|
||||
[TestCase(".metathumb", MetadataType.TrackImage)]
|
||||
public void should_return_metadata_for_episode_if_valid_file_for_episode(string extension, MetadataType type)
|
||||
{
|
||||
var path = Path.Combine(_series.Path, "the.series.s01e01.episode" + extension);
|
||||
@@ -64,7 +64,7 @@ namespace NzbDrone.Core.Test.Metadata.Consumers.Wdtv
|
||||
{
|
||||
var path = Path.Combine(_series.Path, "folder.jpg");
|
||||
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.SeriesImage);
|
||||
Subject.FindMetadataFile(_series, path).Type.Should().Be(MetadataType.ArtistImage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user