diff --git a/.editorconfig b/.editorconfig index 6d6c3a13f..1b2b58fd6 100644 --- a/.editorconfig +++ b/.editorconfig @@ -52,6 +52,8 @@ dotnet_diagnostic.IDE0005.severity = error dotnet_diagnostic.IDE0007.severity = error # Inline variable declaration dotnet_diagnostic.IDE0018.severity = error +# Call async methods when in an async method +dotnet_diagnostic.CA1849.severity = warning # Stylecop Rules dotnet_diagnostic.SA0001.severity = none diff --git a/.github/actions/test/action.yml b/.github/actions/test/action.yml index 2ef8a862f..1a87807d3 100644 --- a/.github/actions/test/action.yml +++ b/.github/actions/test/action.yml @@ -52,14 +52,14 @@ runs: echo "Sonarr__Postgres__Password=postgres" >> "$GITHUB_ENV" - name: Download Artifact - uses: actions/download-artifact@v5 + uses: actions/download-artifact@v8 with: name: ${{ inputs.artifact }} path: _tests - name: Download Binary Artifact if: ${{ inputs.integration_tests }} - uses: actions/download-artifact@v5 + uses: actions/download-artifact@v8 with: name: ${{ inputs.binary_artifact }} path: _output diff --git a/.github/workflows/build_v5.yml b/.github/workflows/build_v5.yml index 0d52a4c15..c574a482f 100644 --- a/.github/workflows/build_v5.yml +++ b/.github/workflows/build_v5.yml @@ -100,7 +100,7 @@ jobs: uses: actions/checkout@v6 - name: Volta - uses: volta-cli/action@v4 + uses: volta-cli/action@v5 - name: Yarn Install run: yarn install diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 5109e2557..ce22f80a2 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -122,9 +122,9 @@ - - - + + + diff --git a/src/NzbDrone.Common.Test/DiskTests/DiskTransferServiceFixture.cs b/src/NzbDrone.Common.Test/DiskTests/DiskTransferServiceFixture.cs index 24a961129..72d65b660 100644 --- a/src/NzbDrone.Common.Test/DiskTests/DiskTransferServiceFixture.cs +++ b/src/NzbDrone.Common.Test/DiskTests/DiskTransferServiceFixture.cs @@ -981,7 +981,7 @@ private void VerifyCopyFolder(string source, string destination) var sourceFiles = Directory.GetFileSystemEntries(source, "*", SearchOption.AllDirectories).Select(v => v.Substring(source.Length + 1)).ToArray(); var destFiles = Directory.GetFileSystemEntries(destination, "*", SearchOption.AllDirectories).Select(v => v.Substring(destination.Length + 1)).ToArray(); - CollectionAssert.AreEquivalent(sourceFiles, destFiles); + Assert.That(sourceFiles, Is.EquivalentTo(destFiles)); } private void VerifyMoveFolder(string source, string from, string destination) @@ -991,7 +991,7 @@ private void VerifyMoveFolder(string source, string from, string destination) var sourceFiles = Directory.GetFileSystemEntries(source, "*", SearchOption.AllDirectories).Select(v => v.Substring(source.Length + 1)).ToArray(); var destFiles = Directory.GetFileSystemEntries(destination, "*", SearchOption.AllDirectories).Select(v => v.Substring(destination.Length + 1)).ToArray(); - CollectionAssert.AreEquivalent(sourceFiles, destFiles); + Assert.That(sourceFiles, Is.EquivalentTo(destFiles)); } private void VerifyDeletedFile(string filePath) diff --git a/src/NzbDrone.Common/Http/HappyEyeballs/HappyEyeballs.cs b/src/NzbDrone.Common/Http/HappyEyeballs/HappyEyeballs.cs index 77ba11f9e..58ea2a296 100644 --- a/src/NzbDrone.Common/Http/HappyEyeballs/HappyEyeballs.cs +++ b/src/NzbDrone.Common/Http/HappyEyeballs/HappyEyeballs.cs @@ -131,7 +131,9 @@ private async Task ParallelTask( await delayCts.CancelAsync().ConfigureAwait(false); await timeoutTask.ConfigureAwait(ConfigureAwaitOptions.SuppressThrowing); +#pragma warning disable CA1849 completedTask = whenAnyDone.Result; +#pragma warning restore CA1849 } else { @@ -165,7 +167,9 @@ private async Task ParallelTask( { if (task.IsCompletedSuccessfully) { +#pragma warning disable CA1849 task.Result.Dispose(); +#pragma warning restore CA1849 } } @@ -176,6 +180,8 @@ private async Task ParallelTask( throw new AggregateException(innerExceptions); } +#pragma warning disable CA1849 return successTask.Result; +#pragma warning restore CA1849 } } diff --git a/src/NzbDrone.Core.Test/Download/DownloadClientTests/DownloadClientFixtureBase.cs b/src/NzbDrone.Core.Test/Download/DownloadClientTests/DownloadClientFixtureBase.cs index f920257ea..7d50bfdda 100644 --- a/src/NzbDrone.Core.Test/Download/DownloadClientTests/DownloadClientFixtureBase.cs +++ b/src/NzbDrone.Core.Test/Download/DownloadClientTests/DownloadClientFixtureBase.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Threading.Tasks; using FluentAssertions; using Moq; using NLog; @@ -39,7 +38,7 @@ public void SetupBase() Mocker.GetMock() .Setup(s => s.GetAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), Array.Empty()))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), Array.Empty())); Mocker.GetMock() .Setup(v => v.RemapRemoteToLocal(It.IsAny(), It.IsAny())) diff --git a/src/NzbDrone.Core.Test/Download/DownloadClientTests/HadoukenTests/HadoukenFixture.cs b/src/NzbDrone.Core.Test/Download/DownloadClientTests/HadoukenTests/HadoukenFixture.cs index bf609e48c..5b88d5c99 100644 --- a/src/NzbDrone.Core.Test/Download/DownloadClientTests/HadoukenTests/HadoukenFixture.cs +++ b/src/NzbDrone.Core.Test/Download/DownloadClientTests/HadoukenTests/HadoukenFixture.cs @@ -105,7 +105,7 @@ protected void GivenSuccessfulDownload() { Mocker.GetMock() .Setup(s => s.GetAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), new byte[1000]))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), new byte[1000])); Mocker.GetMock() .Setup(s => s.AddTorrentUri(It.IsAny(), It.IsAny())) diff --git a/src/NzbDrone.Core.Test/IndexerSearchTests/ReleaseSearchServiceFixture.cs b/src/NzbDrone.Core.Test/IndexerSearchTests/ReleaseSearchServiceFixture.cs index fbbe4502b..35ba5de43 100644 --- a/src/NzbDrone.Core.Test/IndexerSearchTests/ReleaseSearchServiceFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerSearchTests/ReleaseSearchServiceFixture.cs @@ -111,31 +111,31 @@ private List WatchForSearchCriteria() _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); _mockIndexer.Setup(v => v.Fetch(It.IsAny())) .Callback(s => result.Add(s)) - .Returns(Task.FromResult>(new List())); + .ReturnsAsync(new List()); return result; } diff --git a/src/NzbDrone.Core.Test/IndexerSearchTests/SeriesSearchServiceFixture.cs b/src/NzbDrone.Core.Test/IndexerSearchTests/SeriesSearchServiceFixture.cs index 774cc7d1f..48e971f07 100644 --- a/src/NzbDrone.Core.Test/IndexerSearchTests/SeriesSearchServiceFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerSearchTests/SeriesSearchServiceFixture.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using FizzWare.NBuilder; using FluentAssertions; using Moq; @@ -38,11 +37,11 @@ public void Setup() Mocker.GetMock() .Setup(s => s.SeasonSearch(_series.Id, It.IsAny(), false, false, true, false)) - .Returns(Task.FromResult(new List())); + .ReturnsAsync(new List()); Mocker.GetMock() .Setup(s => s.ProcessDecisions(It.IsAny>())) - .Returns(Task.FromResult(new ProcessedDecisions(new List(), new List(), new List()))); + .ReturnsAsync(new ProcessedDecisions(new List(), new List(), new List())); } [Test] @@ -91,7 +90,7 @@ public void should_start_with_lower_seasons_first() Mocker.GetMock() .Setup(s => s.SeasonSearch(_series.Id, It.IsAny(), false, true, true, false)) - .Returns(Task.FromResult(new List())) + .ReturnsAsync(new List()) .Callback((seriesId, seasonNumber, missingOnly, monitoredOnly, userInvokedSearch, interactiveSearch) => seasonOrder.Add(seasonNumber)); Subject.Execute(new SeriesSearchCommand { SeriesId = _series.Id, Trigger = CommandTrigger.Manual }); diff --git a/src/NzbDrone.Core.Test/IndexerTests/BroadcastheNetTests/BroadcastheNetFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/BroadcastheNetTests/BroadcastheNetFixture.cs index 9a07d8a8b..b56847883 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/BroadcastheNetTests/BroadcastheNetFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/BroadcastheNetTests/BroadcastheNetFixture.cs @@ -34,7 +34,7 @@ public async Task should_parse_recent_feed_from_BroadcastheNet() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Post))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -79,7 +79,7 @@ public async Task should_back_off_on_bad_request() { Mocker.GetMock() .Setup(v => v.ExecuteAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.BadRequest))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.BadRequest)); var results = await Subject.FetchRecent(); @@ -95,7 +95,7 @@ public async Task should_back_off_and_report_api_key_invalid() { Mocker.GetMock() .Setup(v => v.ExecuteAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.Unauthorized))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.Unauthorized)); var results = await Subject.FetchRecent(); @@ -111,7 +111,7 @@ public async Task should_back_off_on_unknown_method() { Mocker.GetMock() .Setup(v => v.ExecuteAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.NotFound))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.NotFound)); var results = await Subject.FetchRecent(); @@ -127,7 +127,7 @@ public async Task should_back_off_api_limit_reached() { Mocker.GetMock() .Setup(v => v.ExecuteAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.ServiceUnavailable))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), Array.Empty(), System.Net.HttpStatusCode.ServiceUnavailable)); var results = await Subject.FetchRecent(); @@ -149,7 +149,7 @@ public async Task should_replace_https_http_as_needed() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Post))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/FanzubTests/FanzubFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/FanzubTests/FanzubFixture.cs index f07bc4ad8..c51ca92fc 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/FanzubTests/FanzubFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/FanzubTests/FanzubFixture.cs @@ -32,7 +32,7 @@ public async Task should_parse_recent_feed_from_fanzub() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs index 91128bd1a..78f08830b 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListFixture.cs @@ -33,7 +33,7 @@ public async Task should_parse_recent_feed_from_FileList() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader { { "Content-Type", "application/json" } }, recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader { { "Content-Type", "application/json" } }, recentFeed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs index 4332131d9..8696cbc74 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/HDBitsTests/HDBitsFixture.cs @@ -37,7 +37,7 @@ public async Task should_parse_recent_feed_from_HDBits(string fileName) Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Post))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), responseJson))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), responseJson)); var torrents = await Subject.FetchRecent(); @@ -66,7 +66,7 @@ public async Task should_warn_on_wrong_passkey() Mocker.GetMock() .Setup(v => v.ExecuteAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), Encoding.UTF8.GetBytes(responseJson)))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), Encoding.UTF8.GetBytes(responseJson))); var torrents = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs index 0bf21ffc0..9cd45d5d1 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/IPTorrentsTests/IPTorrentsFixture.cs @@ -91,7 +91,7 @@ public async Task should_parse_recent_feed_from_IPTorrents() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs index cdafafb2d..52c52e641 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs @@ -49,7 +49,7 @@ public async Task should_parse_recent_feed_from_newznab_nzb_su() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -75,7 +75,7 @@ public async Task should_parse_recent_feed_from_newznab_animetosho() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -145,7 +145,7 @@ public async Task should_parse_languages() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -173,7 +173,7 @@ public async Task should_parse_indexer_flags(string releaseGuid, params IndexerF Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), feed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), feed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/NyaaTests/NyaaFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/NyaaTests/NyaaFixture.cs index 5f42b5012..604f72056 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/NyaaTests/NyaaFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/NyaaTests/NyaaFixture.cs @@ -65,7 +65,7 @@ public async Task should_parse_2021_recent_feed_from_Nyaa() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/SeasonSearchFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/SeasonSearchFixture.cs index 28f31e3a7..2828c79e0 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/SeasonSearchFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/SeasonSearchFixture.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Net.Http; -using System.Threading.Tasks; using FizzWare.NBuilder; using Moq; using NUnit.Framework; @@ -25,7 +24,7 @@ public void Setup() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), ""))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), "")); } private void WithIndexer(bool paging, int resultCount) diff --git a/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs index e25421379..780035c73 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/TorrentRssIndexerTests/TorrentRssIndexerFixture.cs @@ -37,7 +37,7 @@ private void GivenRecentFeedResponse(string rssXmlFile) Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.IsAny())) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); Mocker.GetMock() .Setup(o => o.Execute(It.IsAny())) diff --git a/src/NzbDrone.Core.Test/IndexerTests/TorrentleechTests/TorrentleechFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/TorrentleechTests/TorrentleechFixture.cs index 8a45d7389..eafbf700b 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/TorrentleechTests/TorrentleechFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/TorrentleechTests/TorrentleechFixture.cs @@ -33,7 +33,7 @@ public async Task should_parse_recent_feed_from_Torrentleech() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); diff --git a/src/NzbDrone.Core.Test/IndexerTests/TorznabTests/TorznabFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/TorznabTests/TorznabFixture.cs index 0768e1e6e..1aa270182 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/TorznabTests/TorznabFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/TorznabTests/TorznabFixture.cs @@ -51,7 +51,7 @@ public async Task should_parse_recent_feed_from_torznab_hdaccess_net() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -82,7 +82,7 @@ public async Task should_parse_recent_feed_from_torznab_tpb() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -112,7 +112,7 @@ public async Task should_parse_recent_feed_from_torznab_animetosho() Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var releases = await Subject.FetchRecent(); @@ -175,7 +175,7 @@ public void jackett_all_url_should_not_validate(string baseUrl) Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); var result = new NzbDroneValidationResult(Subject.Test()); result.IsValid.Should().BeTrue(); @@ -190,7 +190,7 @@ public void jackett_all_api_should_not_validate(string apiPath) Mocker.GetMock() .Setup(o => o.ExecuteAsync(It.Is(v => v.Method == HttpMethod.Get))) - .Returns(r => Task.FromResult(new HttpResponse(r, new HttpHeader(), recentFeed))); + .ReturnsAsync((HttpRequest r) => new HttpResponse(r, new HttpHeader(), recentFeed)); (Subject.Definition.Settings as TorznabSettings).ApiPath = apiPath; diff --git a/src/NzbDrone.Integration.Test/IntegrationTestBase.cs b/src/NzbDrone.Integration.Test/IntegrationTestBase.cs index c9786bdd3..46a18045c 100644 --- a/src/NzbDrone.Integration.Test/IntegrationTestBase.cs +++ b/src/NzbDrone.Integration.Test/IntegrationTestBase.cs @@ -179,10 +179,9 @@ protected async Task ConnectSignalR() var cts = new CancellationTokenSource(); - _signalrConnection.Closed += e => + _signalrConnection.Closed += async _ => { - cts.Cancel(); - return Task.CompletedTask; + await cts.CancelAsync(); }; _signalrConnection.On("receiveMessage", (message) => @@ -199,7 +198,7 @@ protected async Task ConnectSignalR() { Console.WriteLine("Connecting to signalR"); - await _signalrConnection.StartAsync(); + await _signalrConnection.StartAsync(cts.Token); connected = true; break; } @@ -212,7 +211,7 @@ protected async Task ConnectSignalR() } retryCount++; - Thread.Sleep(200); + await Task.Delay(200, cts.Token); } } diff --git a/src/NzbDrone.Test.Common/Sonarr.Test.Common.csproj b/src/NzbDrone.Test.Common/Sonarr.Test.Common.csproj index 04c0d1c85..f4dd62c2f 100644 --- a/src/NzbDrone.Test.Common/Sonarr.Test.Common.csproj +++ b/src/NzbDrone.Test.Common/Sonarr.Test.Common.csproj @@ -3,11 +3,11 @@ net10.0 - + - +