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:
Qstick
2017-10-16 21:40:31 -04:00
committed by GitHub
parent 4016d359ac
commit 38cbb2114f
43 changed files with 985 additions and 841 deletions
@@ -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))
@@ -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();
@@ -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);
}
}
}