Fixed: Misc Extra File Improvements (This changes mapping of backdrop images to Fanart instead of Banner) (#2642)

Fixes #2556
Fixes #2639
Fixes #2547
This commit is contained in:
Qstick
2018-04-01 15:48:22 -04:00
committed by Leonardo Galli
parent 0f6c5533f1
commit 39346b6127
25 changed files with 346 additions and 98 deletions
@@ -0,0 +1,68 @@
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.Movies;
using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.Extras.Metadata.Consumers.Roksbox
{
[TestFixture]
public class FindMetadataFileFixture : CoreTest<RoksboxMetadata>
{
private Movie _movie;
[SetUp]
public void Setup()
{
_movie = Builder<Movie>.CreateNew()
.With(s => s.Path = @"C:\Test\Movies\The.Movie.2011".AsOsAgnostic())
.Build();
}
[Test]
public void should_return_null_if_filename_is_not_handled()
{
var path = Path.Combine(_movie.Path, "file.jpg");
Subject.FindMetadataFile(_movie, path).Should().BeNull();
}
[TestCase(".xml", MetadataType.MovieMetadata)]
[TestCase(".jpg", MetadataType.MovieImage)]
public void should_return_metadata_for_movie_if_valid_file_for_movie(string extension, MetadataType type)
{
var path = Path.Combine(_movie.Path, "the.movie.2011" + extension);
Subject.FindMetadataFile(_movie, path).Type.Should().Be(type);
}
[TestCase(".xml")]
[TestCase(".jpg")]
public void should_return_null_if_not_valid_file_for_movie(string extension)
{
var path = Path.Combine(_movie.Path, "the.movie.here" + extension);
Subject.FindMetadataFile(_movie, path).Should().BeNull();
}
[Test]
public void should_not_return_metadata_if_image_file_is_a_thumb()
{
var path = Path.Combine(_movie.Path, "the.movie.2011-thumb.jpg");
Subject.FindMetadataFile(_movie, path).Should().BeNull();
}
[Test]
public void should_return_movie_image_for_folder_jpg_in_movie_folder()
{
var path = Path.Combine(_movie.Path, new DirectoryInfo(_movie.Path).Name + ".jpg");
Subject.FindMetadataFile(_movie, path).Type.Should().Be(MetadataType.MovieImage);
}
}
}
@@ -0,0 +1,60 @@
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.Movies;
using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.Extras.Metadata.Consumers.Wdtv
{
[TestFixture]
public class FindMetadataFileFixture : CoreTest<WdtvMetadata>
{
private Movie _movie;
[SetUp]
public void Setup()
{
_movie = Builder<Movie>.CreateNew()
.With(s => s.Path = @"C:\Test\Movies\The.Movie".AsOsAgnostic())
.Build();
}
[Test]
public void should_return_null_if_filename_is_not_handled()
{
var path = Path.Combine(_movie.Path, "file.jpg");
Subject.FindMetadataFile(_movie, path).Should().BeNull();
}
[TestCase(".xml", MetadataType.MovieMetadata)]
[TestCase(".metathumb", MetadataType.MovieImage)]
public void should_return_metadata_for_movie_if_valid_file_for_movie(string extension, MetadataType type)
{
var path = Path.Combine(_movie.Path, "the.movie.2011" + extension);
Subject.FindMetadataFile(_movie, path).Type.Should().Be(type);
}
[TestCase(".xml")]
[TestCase(".metathumb")]
public void should_return_null_if_not_valid_file_for_movie(string extension)
{
var path = Path.Combine(_movie.Path, "the.movie" + extension);
Subject.FindMetadataFile(_movie, path).Should().BeNull();
}
[Test]
public void should_return_movie_image_for_folder_jpg_in_movie_folder()
{
var path = Path.Combine(_movie.Path, "folder.jpg");
Subject.FindMetadataFile(_movie, path).Type.Should().Be(MetadataType.MovieImage);
}
}
}
@@ -0,0 +1,65 @@
using System.IO;
using FizzWare.NBuilder;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Core.Extras.Metadata;
using NzbDrone.Core.Extras.Metadata.Consumers.Xbmc;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Movies;
using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.Extras.Metadata.Consumers.Xbmc
{
[TestFixture]
public class FindMetadataFileFixture : CoreTest<XbmcMetadata>
{
private Movie _movie;
[SetUp]
public void Setup()
{
_movie = Builder<Movie>.CreateNew()
.With(s => s.Path = @"C:\Test\Movies\The.Movie".AsOsAgnostic())
.Build();
}
[Test]
public void should_return_null_if_filename_is_not_handled()
{
var path = Path.Combine(_movie.Path, "file.jpg");
Subject.FindMetadataFile(_movie, path).Should().BeNull();
}
[Test]
public void should_return_metadata_for_xbmc_nfo()
{
var path = Path.Combine(_movie.Path, "the.movie.2017.nfo");
Mocker.GetMock<IDetectXbmcNfo>()
.Setup(v => v.IsXbmcNfoFile(path))
.Returns(true);
Subject.FindMetadataFile(_movie, path).Type.Should().Be(MetadataType.MovieMetadata);
Mocker.GetMock<IDetectXbmcNfo>()
.Verify(v => v.IsXbmcNfoFile(It.IsAny<string>()), Times.Once());
}
[Test]
public void should_return_null_for_scene_nfo()
{
var path = Path.Combine(_movie.Path, "the.movie.2017.nfo");
Mocker.GetMock<IDetectXbmcNfo>()
.Setup(v => v.IsXbmcNfoFile(path))
.Returns(false);
Subject.FindMetadataFile(_movie, path).Should().BeNull();
Mocker.GetMock<IDetectXbmcNfo>()
.Verify(v => v.IsXbmcNfoFile(It.IsAny<string>()), Times.Once());
}
}
}