diff --git a/src/NzbDrone.Core.Test/Download/DownloadServiceFixture.cs b/src/NzbDrone.Core.Test/Download/DownloadServiceFixture.cs index 55c02bca8..a5fa54512 100644 --- a/src/NzbDrone.Core.Test/Download/DownloadServiceFixture.cs +++ b/src/NzbDrone.Core.Test/Download/DownloadServiceFixture.cs @@ -27,7 +27,7 @@ namespace NzbDrone.Core.Test.Download _downloadClients = new List(); Mocker.GetMock() - .Setup(v => v.GetDownloadClients()) + .Setup(v => v.GetDownloadClients(It.IsAny())) .Returns(_downloadClients); Mocker.GetMock() diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientCheckFixture.cs index 96da3ecac..853e9367a 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientCheckFixture.cs @@ -24,7 +24,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks public void should_return_warning_when_download_client_has_not_been_configured() { Mocker.GetMock() - .Setup(s => s.GetDownloadClients()) + .Setup(s => s.GetDownloadClients(It.IsAny())) .Returns(Array.Empty()); Subject.Check().ShouldBeWarning(); @@ -40,7 +40,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks .Throws(); Mocker.GetMock() - .Setup(s => s.GetDownloadClients()) + .Setup(s => s.GetDownloadClients(It.IsAny())) .Returns(new IDownloadClient[] { downloadClient.Object }); Subject.Check().ShouldBeError(); @@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks .Returns(new List()); Mocker.GetMock() - .Setup(s => s.GetDownloadClients()) + .Setup(s => s.GetDownloadClients(It.IsAny())) .Returns(new IDownloadClient[] { downloadClient.Object }); Subject.Check().ShouldBeOk(); diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientRootFolderCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientRootFolderCheckFixture.cs index 54dcf0f2f..831e9de1a 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientRootFolderCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientRootFolderCheckFixture.cs @@ -49,7 +49,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks .Returns(_clientStatus); Mocker.GetMock() - .Setup(s => s.GetDownloadClients()) + .Setup(s => s.GetDownloadClients(It.IsAny())) .Returns(new IDownloadClient[] { _downloadClient.Object }); Mocker.GetMock() diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientSortingCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientSortingCheckFixture.cs index 26a0184cb..8cd95a928 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientSortingCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/DownloadClientSortingCheckFixture.cs @@ -47,7 +47,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks .Returns(_clientStatus); Mocker.GetMock() - .Setup(s => s.GetDownloadClients()) + .Setup(s => s.GetDownloadClients(It.IsAny())) .Returns(new IDownloadClient[] { _downloadClient.Object }); } diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs index 653447970..efe0b9d31 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs @@ -63,7 +63,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks .Returns(_clientStatus); Mocker.GetMock() - .Setup(s => s.GetDownloadClients()) + .Setup(s => s.GetDownloadClients(It.IsAny())) .Returns(new IDownloadClient[] { _downloadClient.Object }); Mocker.GetMock() diff --git a/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs index 7a6ad5aa0..7aebed26c 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Net.Http; using NLog; using NzbDrone.Common.Disk; using NzbDrone.Common.EnvironmentInfo; @@ -53,7 +54,8 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType()); } - var clients = _downloadClientProvider.GetDownloadClients(); + // Only check clients not in failure status, those get another message + var clients = _downloadClientProvider.GetDownloadClients(true); foreach (var client in clients) { @@ -100,6 +102,10 @@ namespace NzbDrone.Core.HealthCheck.Checks { _logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name); } + catch (HttpRequestException ex) + { + _logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name); + } catch (Exception ex) { _logger.Error(ex, "Unknown error occured in RemotePathMapping HealthCheck"); @@ -139,7 +145,14 @@ namespace NzbDrone.Core.HealthCheck.Checks // If the previous case did not match then the failure occured in DownloadedMovieImportService, // while trying to locate the files reported by the download client - var client = _downloadClientProvider.GetDownloadClients().FirstOrDefault(x => x.Definition.Name == failureMessage.DownloadClientInfo.Name); + // Only check clients not in failure status, those get another message + var client = _downloadClientProvider.GetDownloadClients(true).FirstOrDefault(x => x.Definition.Name == failureMessage.DownloadClientInfo.Name); + + if (client == null) + { + return new HealthCheck(GetType()); + } + try { var status = client.GetStatus(); @@ -192,6 +205,10 @@ namespace NzbDrone.Core.HealthCheck.Checks { _logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name); } + catch (HttpRequestException ex) + { + _logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name); + } catch (Exception ex) { _logger.Error(ex, "Unknown error occured in RemotePathMapping HealthCheck");