diff --git a/src/NzbDrone.Automation.Test/PageModel/PageBase.cs b/src/NzbDrone.Automation.Test/PageModel/PageBase.cs index a85ca9efa..f4eb98180 100644 --- a/src/NzbDrone.Automation.Test/PageModel/PageBase.cs +++ b/src/NzbDrone.Automation.Test/PageModel/PageBase.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Threading; using OpenQA.Selenium; using OpenQA.Selenium.Remote; @@ -47,11 +47,7 @@ namespace NzbDrone.Automation.Test.PageModel }); } - public IWebElement MovieNavIcon => Find(By.LinkText("Movies")); - - public IWebElement CalendarNavIcon => Find(By.LinkText("Calendar")); - - public IWebElement ActivityNavIcon => Find(By.LinkText("Activity")); + public IWebElement MovieNavIcon => Find(By.LinkText("Indexers")); public IWebElement SettingNavIcon => Find(By.LinkText("Settings")); diff --git a/src/NzbDrone.Common.Test/EnvironmentInfo/BuildInfoFixture.cs b/src/NzbDrone.Common.Test/EnvironmentInfo/BuildInfoFixture.cs index 40d2012a7..8987502cb 100644 --- a/src/NzbDrone.Common.Test/EnvironmentInfo/BuildInfoFixture.cs +++ b/src/NzbDrone.Common.Test/EnvironmentInfo/BuildInfoFixture.cs @@ -10,7 +10,7 @@ namespace NzbDrone.Common.Test.EnvironmentInfo [Test] public void should_return_version() { - BuildInfo.Version.Major.Should().BeOneOf(3, 10); + BuildInfo.Version.Major.Should().BeOneOf(0, 1, 10); } [Test] diff --git a/src/NzbDrone.Common.Test/Http/HttpClientFixture.cs b/src/NzbDrone.Common.Test/Http/HttpClientFixture.cs index 93526c2f4..e23879191 100644 --- a/src/NzbDrone.Common.Test/Http/HttpClientFixture.cs +++ b/src/NzbDrone.Common.Test/Http/HttpClientFixture.cs @@ -235,14 +235,14 @@ namespace NzbDrone.Common.Test.Http } var request = new HttpRequestBuilder($"https://{_httpBinHost}/redirect-to") - .AddQueryParam("url", $"https://prowlarr.video/") + .AddQueryParam("url", $"https://radarr.video/") .Build(); request.AllowAutoRedirect = true; var response = Subject.Get(request); response.StatusCode.Should().Be(HttpStatusCode.OK); - response.Content.Should().Contain("Prowlarr"); + response.Content.Should().Contain("Radarr"); ExceptionVerification.ExpectedErrors(0); } @@ -288,7 +288,7 @@ namespace NzbDrone.Common.Test.Http { var file = GetTempFilePath(); - var url = "https://prowlarr.video/img/slider/moviedetails.png"; + var url = "https://radarr.video/img/slider/moviedetails.png"; Subject.DownloadFile(url, file); @@ -303,7 +303,7 @@ namespace NzbDrone.Common.Test.Http var file = GetTempFilePath(); var request = new HttpRequestBuilder($"https://{_httpBinHost}/redirect-to") - .AddQueryParam("url", $"https://prowlarr.video/img/slider/moviedetails.png") + .AddQueryParam("url", $"https://radarr.video/img/slider/moviedetails.png") .Build(); Subject.DownloadFile(request.Url.FullUri, file); diff --git a/src/NzbDrone.Core.Test/Datastore/BasicRepositoryFixture.cs b/src/NzbDrone.Core.Test/Datastore/BasicRepositoryFixture.cs index 4618026e5..9f0cf4b92 100644 --- a/src/NzbDrone.Core.Test/Datastore/BasicRepositoryFixture.cs +++ b/src/NzbDrone.Core.Test/Datastore/BasicRepositoryFixture.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using FizzWare.NBuilder; @@ -18,6 +18,12 @@ namespace NzbDrone.Core.Test.Datastore [SetUp] public void Setup() { + AssertionOptions.AssertEquivalencyUsing(options => + { + options.Using(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation.ToUniversalTime())).WhenTypeIs(); + return options; + }); + _basicList = Builder .CreateListOfSize(5) .All() diff --git a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs index 60d73fbd4..b0d3a3176 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs @@ -34,7 +34,7 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.GET))) .Returns(r => new HttpResponse(r, new HttpHeader(), recentFeed)); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(4); releases.First().Should().BeOfType(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs index de5a24c9f..1e31f4e48 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs @@ -24,7 +24,8 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests _movieSearchCriteria = new MovieSearchCriteria { - SearchTerm = "Star Wars" + SearchTerm = "Star Wars", + Categories = new int[] { 2000 } }; } @@ -36,7 +37,7 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests [Test] public void should_use_categories_for_feed() { - var results = Subject.GetSearchRequests(new MovieSearchCriteria()); + var results = Subject.GetSearchRequests(new MovieSearchCriteria { Categories = new int[] { 1, 2 } }); results.GetAllTiers().Should().HaveCount(1); @@ -48,6 +49,7 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests [Test] public void should_not_search_by_imdbid_if_not_supported() { + _movieSearchCriteria.ImdbId = "tt0076759"; var results = Subject.GetSearchRequests(_movieSearchCriteria); results.GetAllTiers().Should().HaveCount(1); @@ -70,7 +72,7 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests var page = results.GetAllTiers().First().First(); page.Url.Query.Should().Contain("type=name"); - page.Url.Query.Should().Contain("query=Star+Wars+1977"); + page.Url.Query.Should().Contain("query=Star Wars"); } } } diff --git a/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs index 7d2a794c3..7b865c6c2 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs @@ -18,6 +18,8 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests [TestFixture] public class HDBitsFixture : CoreTest { + private MovieSearchCriteria _movieSearchCriteria; + [SetUp] public void Setup() { @@ -26,6 +28,12 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests Name = "HdBits", Settings = new HDBitsSettings() { ApiKey = "fakekey" } }; + + _movieSearchCriteria = new MovieSearchCriteria + { + Categories = new int[] { 2000, 2010 }, + ImdbId = "tt0076759" + }; } [TestCase("Files/Indexers/HdBits/RecentFeedLongIDs.json")] @@ -38,7 +46,7 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.POST))) .Returns(r => new HttpResponse(r, new HttpHeader(), responseJson)); - var torrents = Subject.Fetch(new MovieSearchCriteria()); + var torrents = Subject.Fetch(_movieSearchCriteria); torrents.Should().HaveCount(2); torrents.First().Should().BeOfType(); @@ -67,7 +75,7 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests .Setup(v => v.Execute(It.IsAny())) .Returns(r => new HttpResponse(r, new HttpHeader(), Encoding.UTF8.GetBytes(responseJson))); - var torrents = Subject.Fetch(new MovieSearchCriteria()); + var torrents = Subject.Fetch(_movieSearchCriteria); torrents.Should().BeEmpty(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsRequestGeneratorFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsRequestGeneratorFixture.cs index e5b46d9f6..ed8b2d486 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsRequestGeneratorFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsRequestGeneratorFixture.cs @@ -25,6 +25,8 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests _movieSearchCriteria = new MovieSearchCriteria { + Categories = new int[] { 2000, 2010 }, + ImdbId = "tt0076759" }; } diff --git a/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs index cdda95731..3bd362ba6 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs @@ -92,7 +92,7 @@ namespace NzbDrone.Core.Test.IndexerTests.IPTorrentsTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.GET))) .Returns(r => new HttpResponse(r, new HttpHeader(), recentFeed)); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(5); releases.First().Should().BeOfType(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs index 2ef5f3e81..3ea4e843e 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs @@ -44,7 +44,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.GET))) .Returns(r => new HttpResponse(r, new HttpHeader(), recentFeed)); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 }, Limit = 100, Offset = 0 }); releases.Should().HaveCount(100); diff --git a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs index 29a80099f..63be78c4c 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs @@ -26,7 +26,8 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests _movieSearchCriteria = new MovieSearchCriteria { - SearchTerm = "Star Wars" + SearchTerm = "Star Wars", + Categories = new int[] { 2000 } }; _capabilities = new IndexerCapabilities(); @@ -39,15 +40,14 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests [Test] public void should_return_subsequent_pages() { + _movieSearchCriteria.Offset = 0; var results = Subject.GetSearchRequests(_movieSearchCriteria); - results.GetAllTiers().Should().HaveCount(2); + results.GetAllTiers().Should().HaveCount(1); var pages = results.GetAllTiers().First().Take(3).ToList(); - pages[0].Url.FullUri.Should().Contain("&offset=0&"); - pages[1].Url.FullUri.Should().Contain("&offset=100&"); - pages[2].Url.FullUri.Should().Contain("&offset=200&"); + pages[0].Url.FullUri.Should().Contain("&offset=0"); } [Test] @@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests { var results = Subject.GetSearchRequests(_movieSearchCriteria); - results.GetAllTiers().Should().HaveCount(2); + results.GetAllTiers().Should().HaveCount(1); var pages = results.GetAllTiers().First().Take(500).ToList(); @@ -80,6 +80,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests [Test] public void should_search_by_imdbid_if_supported() { + _movieSearchCriteria.ImdbId = "0076759"; _capabilities.MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId }; var results = Subject.GetSearchRequests(_movieSearchCriteria); @@ -93,6 +94,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests [Test] public void should_search_by_tmdbid_if_supported() { + _movieSearchCriteria.TmdbId = 11; _capabilities.MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.TmdbId }; var results = Subject.GetSearchRequests(_movieSearchCriteria); @@ -106,6 +108,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests [Test] public void should_prefer_search_by_tmdbid_if_rid_supported() { + _movieSearchCriteria.TmdbId = 11; _capabilities.MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId }; var results = Subject.GetSearchRequests(_movieSearchCriteria); @@ -120,6 +123,8 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests [Test] public void should_use_aggregrated_id_search_if_supported() { + _movieSearchCriteria.ImdbId = "0076759"; + _movieSearchCriteria.TmdbId = 11; _capabilities.MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId }; var results = Subject.GetSearchRequests(_movieSearchCriteria); @@ -165,9 +170,9 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests _capabilities.MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId }; var results = Subject.GetSearchRequests(_movieSearchCriteria); - results.Tiers.Should().Be(2); + results.Tiers.Should().Be(1); - var pageTier2 = results.GetTier(1).First().First(); + var pageTier2 = results.GetTier(0).First().First(); pageTier2.Url.Query.Should().NotContain("tmdbid=11"); pageTier2.Url.Query.Should().NotContain("imdbid=0076759"); diff --git a/src/NzbDrone.Core.Test/IndexerTests/RarbgTests/RarbgFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/RarbgTests/RarbgFixture.cs index 8b1f93c09..5b00fe62f 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/RarbgTests/RarbgFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/RarbgTests/RarbgFixture.cs @@ -39,7 +39,7 @@ namespace NzbDrone.Core.Test.IndexerTests.RarbgTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.GET))) .Returns(r => new HttpResponse(r, new HttpHeader(), recentFeed)); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(4); releases.First().Should().BeOfType(); @@ -66,7 +66,7 @@ namespace NzbDrone.Core.Test.IndexerTests.RarbgTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.GET))) .Returns(r => new HttpResponse(r, new HttpHeader(), "{ error_code: 20, error: \"some message\" }")); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(0); } @@ -78,7 +78,7 @@ namespace NzbDrone.Core.Test.IndexerTests.RarbgTests .Setup(o => o.Execute(It.Is(v => v.Method == HttpMethod.GET))) .Returns(r => new HttpResponse(r, new HttpHeader(), "{ error_code: 25, error: \"some message\" }")); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(0); diff --git a/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs index 240dad580..cecd1fcfc 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs @@ -45,7 +45,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/ImmortalSeed.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(50); releases.First().Should().BeOfType(); @@ -71,7 +71,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/Ezrss.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(3); releases.First().Should().BeOfType(); @@ -99,7 +99,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests GivenRecentFeedResponse("TorrentRss/ShowRSS.info.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(5); releases.First().Should().BeOfType(); @@ -127,7 +127,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests GivenRecentFeedResponse("TorrentRss/Doki.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(5); releases.First().Should().BeOfType(); @@ -153,7 +153,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/ExtraTorrents.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(5); releases.First().Should().BeOfType(); @@ -179,7 +179,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/LimeTorrents.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(5); releases.First().Should().BeOfType(); @@ -205,7 +205,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/AnimeTosho_NoSize.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(2); releases.First().Should().BeOfType(); @@ -231,7 +231,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/AnimeTosho_NoSize.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(2); releases.Last().Should().BeOfType(); @@ -248,7 +248,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/AlphaRatio.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(2); releases.Last().Should().BeOfType(); @@ -266,7 +266,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests Subject.Definition.Settings.As().AllowZeroSize = true; GivenRecentFeedResponse("TorrentRss/EvolutionWorld.xml"); - var releases = Subject.Fetch(new MovieSearchCriteria()); + var releases = Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }); releases.Should().HaveCount(2); releases.First().Should().BeOfType(); @@ -292,7 +292,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentRssIndexerTests { GivenRecentFeedResponse("TorrentRss/invalid/TorrentDay_NoPubDate.xml"); - Subject.Fetch(new MovieSearchCriteria()).Should().BeEmpty(); + Subject.Fetch(new MovieSearchCriteria { Categories = new int[] { 2000 } }).Should().BeEmpty(); Mocker.GetMock() .Verify(v => v.RecordFailure(It.IsAny(), TimeSpan.Zero), Times.Once()); diff --git a/src/NzbDrone.Core.Test/UpdateTests/UpdatePackageProviderFixture.cs b/src/NzbDrone.Core.Test/UpdateTests/UpdatePackageProviderFixture.cs index d34898a21..3189935ed 100644 --- a/src/NzbDrone.Core.Test/UpdateTests/UpdatePackageProviderFixture.cs +++ b/src/NzbDrone.Core.Test/UpdateTests/UpdatePackageProviderFixture.cs @@ -25,6 +25,7 @@ namespace NzbDrone.Core.Test.UpdateTests } [Test] + [Ignore("TODO No Updates On Server")] [Platform(Exclude = "NetCore")] public void finds_update_when_version_lower() { @@ -41,6 +42,7 @@ namespace NzbDrone.Core.Test.UpdateTests } [Test] + [Ignore("TODO No Updates On Server")] public void should_get_recent_updates() { const string branch = "develop"; diff --git a/src/NzbDrone.Core/Datastore/Migration/001_initial_setup.cs b/src/NzbDrone.Core/Datastore/Migration/001_initial_setup.cs index d84c9170c..757417481 100644 --- a/src/NzbDrone.Core/Datastore/Migration/001_initial_setup.cs +++ b/src/NzbDrone.Core/Datastore/Migration/001_initial_setup.cs @@ -21,14 +21,12 @@ namespace NzbDrone.Core.Datastore.Migration Create.TableForModel("Notifications") .WithColumn("Name").AsString() - .WithColumn("OnGrab").AsBoolean() - .WithColumn("OnDownload").AsBoolean() .WithColumn("Settings").AsString() .WithColumn("Implementation").AsString() .WithColumn("ConfigContract").AsString().Nullable() - .WithColumn("OnUpgrade").AsBoolean().Nullable() .WithColumn("Tags").AsString().Nullable() - .WithColumn("OnRename").AsBoolean().NotNullable(); + .WithColumn("OnHealthIssue").AsBoolean().NotNullable() + .WithColumn("IncludeHealthWarnings").AsBoolean().NotNullable(); Create.TableForModel("ScheduledTasks") .WithColumn("TypeName").AsString().Unique() diff --git a/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs b/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs index 35fea9357..7bba13ad1 100644 --- a/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs +++ b/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs @@ -121,7 +121,7 @@ namespace NzbDrone.Core.IndexerVersions } else { - //Do some things here to get it from server if we don't have it local + return GetHttpDefinition(fileKey); } throw new ArgumentOutOfRangeException(nameof(fileKey)); diff --git a/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsRequestGenerator.cs index 0a4e1e66e..5fb60237a 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsRequestGenerator.cs @@ -38,6 +38,9 @@ namespace NzbDrone.Core.Indexers.HDBits { query.ImdbInfo = query.ImdbInfo ?? new ImdbInfo(); query.ImdbInfo.Id = imdbId; + + //TODO Map Categories + query.Category = searchCriteria.Categories; return true; } @@ -62,7 +65,7 @@ namespace NzbDrone.Core.Indexers.HDBits query.Passkey = Settings.ApiKey; //TODO Add from searchCriteria - // query.Category = Settings.Categories.ToArray(); + query.Category = query.Category.ToArray(); query.Codec = Settings.Codecs.ToArray(); query.Medium = Settings.Mediums.ToArray(); diff --git a/src/NzbDrone.Core/Indexers/Definitions/IPTorrents/IPTorrentsRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/IPTorrents/IPTorrentsRequestGenerator.cs index eea397476..5789c8e58 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/IPTorrents/IPTorrentsRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/IPTorrents/IPTorrentsRequestGenerator.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.IndexerSearch.Definitions; @@ -9,20 +10,18 @@ namespace NzbDrone.Core.Indexers.IPTorrents { public IPTorrentsSettings Settings { get; set; } - public virtual IndexerPageableRequestChain GetRecentRequests() + public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria) { var pageableRequests = new IndexerPageableRequestChain(); - pageableRequests.Add(GetRssRequests()); + if (searchCriteria.SearchTerm.IsNullOrWhiteSpace()) + { + pageableRequests.Add(GetRssRequests()); + } return pageableRequests; } - public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria) - { - return new IndexerPageableRequestChain(); - } - private IEnumerable GetRssRequests() { yield return new IndexerRequest(Settings.BaseUrl, HttpAccept.Rss); diff --git a/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRssParser.cs b/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRssParser.cs index 446e4f238..c814479e3 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRssParser.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRssParser.cs @@ -105,7 +105,7 @@ namespace NzbDrone.Core.Indexers.Newznab { if (int.TryParse(cat, out var intCategory)) { - var indexerCat = _settings.Categories.FirstOrDefault(c => c.Id == intCategory); + var indexerCat = _settings.Categories?.FirstOrDefault(c => c.Id == intCategory) ?? null; if (indexerCat != null) { diff --git a/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssIndexerRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssIndexerRequestGenerator.cs index a9bc900c7..0d01abf28 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssIndexerRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssIndexerRequestGenerator.cs @@ -10,20 +10,18 @@ namespace NzbDrone.Core.Indexers.TorrentRss { public TorrentRssIndexerSettings Settings { get; set; } - public virtual IndexerPageableRequestChain GetRecentRequests() + public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria) { var pageableRequests = new IndexerPageableRequestChain(); - pageableRequests.Add(GetRssRequests(null)); + if (searchCriteria.SearchTerm.IsNullOrWhiteSpace()) + { + pageableRequests.Add(GetRssRequests(null)); + } return pageableRequests; } - public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria) - { - return new IndexerPageableRequestChain(); - } - private IEnumerable GetRssRequests(string searchParameters) { var request = new IndexerRequest(Settings.BaseUrl.Trim().TrimEnd('/'), HttpAccept.Rss); diff --git a/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssSettingsDetector.cs b/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssSettingsDetector.cs index 4947fabcc..34e1bfece 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssSettingsDetector.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/TorrentRss/TorrentRssSettingsDetector.cs @@ -40,7 +40,7 @@ namespace NzbDrone.Core.Indexers.TorrentRss _logger.Debug("Evaluating TorrentRss feed '{0}'", indexerSettings.BaseUrl); var requestGenerator = new TorrentRssIndexerRequestGenerator { Settings = indexerSettings }; - var request = requestGenerator.GetRecentRequests().GetAllTiers().First().First(); + var request = requestGenerator.GetSearchRequests(new IndexerSearch.Definitions.MovieSearchCriteria()).GetAllTiers().First().First(); HttpResponse httpResponse = null; try diff --git a/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs b/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs index 318d0e589..f7425aa90 100644 --- a/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs +++ b/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs @@ -42,11 +42,10 @@ namespace NzbDrone.Core.Indexers public override IList Fetch(MovieSearchCriteria searchCriteria) { - if (!SupportsSearch) - { - return new List(); - } - + //if (!SupportsSearch) + //{ + // return new List(); + //} return FetchReleases(g => g.GetSearchRequests(searchCriteria)); } diff --git a/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs b/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs index c00d798b2..db5eba717 100644 --- a/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs +++ b/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs @@ -92,6 +92,8 @@ namespace NzbDrone.Core.Indexers MusicSearchParams = new List(); BookSearchParams = new List(); Categories = new IndexerCapabilitiesCategories(); + LimitsDefault = 100; + LimitsMax = 100; } public void ParseCardigannSearchModes(Dictionary> modes) diff --git a/src/NzbDrone.Core/Indexers/IndexerFactory.cs b/src/NzbDrone.Core/Indexers/IndexerFactory.cs index de5fb1608..4575754ac 100644 --- a/src/NzbDrone.Core/Indexers/IndexerFactory.cs +++ b/src/NzbDrone.Core/Indexers/IndexerFactory.cs @@ -251,7 +251,7 @@ namespace NzbDrone.Core.Indexers if (definition.Implementation == typeof(Newznab.Newznab).Name) { var settings = (NewznabSettings)definition.Settings; - settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings).Categories.GetTorznabCategoryList(); + settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings)?.Categories.GetTorznabCategoryList() ?? null; } return base.Create(definition); diff --git a/src/NzbDrone.Integration.Test/ApiTests/CommandFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/CommandFixture.cs index 696064be1..91d0962ab 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/CommandFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/CommandFixture.cs @@ -1,4 +1,4 @@ -using FluentAssertions; +using FluentAssertions; using NUnit.Framework; using NzbDrone.Integration.Test.Client; @@ -8,9 +8,9 @@ namespace NzbDrone.Integration.Test.ApiTests public class CommandFixture : IntegrationTest { [Test] - public void should_be_able_to_run_rss_sync() + public void should_be_able_to_run_update_check() { - var response = Commands.Post(new SimpleCommandResource { Name = "rsssync" }); + var response = Commands.Post(new SimpleCommandResource { Name = "applicationcheckupdate" }); response.Id.Should().NotBe(0); } diff --git a/src/NzbDrone.Integration.Test/ApiTests/FileSystemFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/FileSystemFixture.cs index 146e6f9e5..886c64a70 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/FileSystemFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/FileSystemFixture.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; @@ -100,25 +100,5 @@ namespace NzbDrone.Integration.Test.ApiTests result.Type.Should().Be(FileSystemEntityType.Folder); } - - [Test] - public void get_all_mediafiles() - { - var tempDir = GetTempDirectory("mediaDir"); - File.WriteAllText(Path.Combine(tempDir, "somevideo.mkv"), "video"); - - var request = FileSystem.BuildRequest("mediafiles"); - request.Method = Method.GET; - request.AddQueryParameter("path", tempDir); - - var result = FileSystem.Execute>>(request, HttpStatusCode.OK); - - result.Should().HaveCount(1); - result.First().Should().ContainKey("path"); - result.First().Should().ContainKey("relativePath"); - result.First().Should().ContainKey("name"); - - result.First()["name"].Should().Be("somevideo.mkv"); - } } } diff --git a/src/NzbDrone.Integration.Test/ApiTests/NotificationFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/NotificationFixture.cs index fec812487..7a4ebe340 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/NotificationFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/NotificationFixture.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using FluentAssertions; using NUnit.Framework; @@ -30,10 +30,10 @@ namespace NzbDrone.Integration.Test.ApiTests { var schema = Notifications.Schema(); - var xbmc = schema.Single(s => s.Implementation.Equals("Xbmc", StringComparison.InvariantCultureIgnoreCase)); + var xbmc = schema.Single(s => s.Implementation.Equals("Webhook", StringComparison.InvariantCultureIgnoreCase)); - xbmc.Name = "Test XBMC"; - xbmc.Fields.Single(f => f.Name.Equals("host")).Value = "localhost"; + xbmc.Name = "Test Webhook"; + xbmc.Fields.Single(f => f.Name.Equals("url")).Value = "localhost"; var result = Notifications.Post(xbmc); Notifications.Delete(result.Id); diff --git a/src/NzbDrone.Integration.Test/CorsFixture.cs b/src/NzbDrone.Integration.Test/CorsFixture.cs index a18b4fb68..696d3f2d9 100644 --- a/src/NzbDrone.Integration.Test/CorsFixture.cs +++ b/src/NzbDrone.Integration.Test/CorsFixture.cs @@ -8,7 +8,7 @@ namespace NzbDrone.Integration.Test [TestFixture] public class CorsFixture : IntegrationTest { - private RestRequest BuildGet(string route = "movie") + private RestRequest BuildGet(string route = "indexer") { var request = new RestRequest(route, Method.GET); request.AddHeader(AccessControlHeaders.RequestMethod, "POST"); @@ -16,7 +16,7 @@ namespace NzbDrone.Integration.Test return request; } - private RestRequest BuildOptions(string route = "movie") + private RestRequest BuildOptions(string route = "indexer") { var request = new RestRequest(route, Method.OPTIONS); diff --git a/src/NzbDrone.Integration.Test/IntegrationTest.cs b/src/NzbDrone.Integration.Test/IntegrationTest.cs index 8738ced38..4ef2736c5 100644 --- a/src/NzbDrone.Integration.Test/IntegrationTest.cs +++ b/src/NzbDrone.Integration.Test/IntegrationTest.cs @@ -1,7 +1,7 @@ using System.Threading; using NLog; using NUnit.Framework; -using NzbDrone.Core.Indexers.Newznab; +using NzbDrone.Core.Indexers.FileList; using NzbDrone.Test.Common; using Prowlarr.Http.ClientSchema; @@ -39,11 +39,11 @@ namespace NzbDrone.Integration.Test EnableRss = false, EnableInteractiveSearch = false, EnableAutomaticSearch = false, - ConfigContract = nameof(NewznabSettings), - Implementation = nameof(Newznab), + ConfigContract = nameof(FileListSettings), + Implementation = nameof(FileList), Name = "NewznabTest", Protocol = Core.Indexers.DownloadProtocol.Usenet, - Fields = SchemaBuilder.ToSchema(new NewznabSettings()) + Fields = SchemaBuilder.ToSchema(new FileListSettings()) }); // Change Console Log Level to Debug so we get more details.