using System.Threading.Tasks; using FluentAssertions; using NUnit.Framework; using NzbDrone.Core.MetadataSource.SkyHook; using NzbDrone.Core.Test.Framework; using NzbDrone.Test.Common; using NzbDrone.Test.Common.Categories; namespace NzbDrone.Core.Test.MetadataSource.SkyHook { [TestFixture] [IntegrationTest] public class SkyHookProxySearchFixture : CoreTest { [SetUp] public void Setup() { UseRealHttp(); } [TestCase("Prometheus", "Prometheus")] // TODO: TMDB Doesn't like when we clean periods from this // [TestCase("The Man from U.N.C.L.E.", "The Man from U.N.C.L.E.")] [TestCase("imdb:tt2527336", "Star Wars: The Last Jedi")] [TestCase("imdb:tt2798920", "Annihilation")] public async Task successful_search(string title, string expected) { var result = await Subject.SearchForNewMovie(title); result.Should().NotBeEmpty(); result[0].Title.Should().Be(expected); ExceptionVerification.IgnoreWarns(); } [TestCase("tmdbid:")] [TestCase("tmdbid: 99999999999999999999")] [TestCase("tmdbid: 0")] [TestCase("tmdbid: -12")] [TestCase("tmdbid:1")] [TestCase("adjalkwdjkalwdjklawjdlKAJD;EF")] [TestCase("imdb: tt9805708")] public async Task no_search_result(string term) { var result = await Subject.SearchForNewMovie(term); result.Should().BeEmpty(); ExceptionVerification.IgnoreWarns(); } } }