diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs index d69f7a37d..d16924ceb 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/RemotePathMappingCheckFixture.cs @@ -26,6 +26,12 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks private DownloadClientInfo clientStatus; private DownloadClientItem downloadItem; private Mock downloadClient; + + static Exception[] DownloadClientExceptions = { + new DownloadClientUnavailableException("error"), + new DownloadClientAuthenticationException("error"), + new DownloadClientException("error") + }; [SetUp] public void Setup() @@ -132,13 +138,15 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks Subject.Check().ShouldBeError(wikiFragment: "bad-remote-path-mapping"); } - [Test] - public void should_return_ok_if_client_unavailable() + [Test, TestCaseSource("DownloadClientExceptions")] + public void should_return_ok_if_client_throws_downloadclientexception(Exception ex) { downloadClient.Setup(s => s.GetStatus()) - .Throws(new DownloadClientUnavailableException("error")); + .Throws(ex); Subject.Check().ShouldBeOk(); + + ExceptionVerification.ExpectedErrors(0); } [Test] @@ -228,16 +236,18 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks Subject.Check(importEvent).ShouldBeError(wikiFragment: "docker-bad-remote-path-mapping"); } - - [Test] - public void should_return_ok_on_import_failed_event_if_client_unavailable() + + [Test, TestCaseSource("DownloadClientExceptions")] + public void should_return_ok_on_import_failed_event_if_client_throws_downloadclientexception(Exception ex) { downloadClient.Setup(s => s.GetStatus()) - .Throws(new DownloadClientUnavailableException("error")); + .Throws(ex); var importEvent = new TrackImportFailedEvent(null, null, true, downloadItem); Subject.Check(importEvent).ShouldBeOk(); + + ExceptionVerification.ExpectedErrors(0); } } } diff --git a/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs index be9a16e68..ba9ae6eaa 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/RemotePathMappingCheck.cs @@ -86,7 +86,7 @@ namespace NzbDrone.Core.HealthCheck.Checks } } } - catch (DownloadClientUnavailableException ex) + catch (DownloadClientException ex) { _logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name); } @@ -171,7 +171,7 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, $"Download client {client.Definition.Name} reported files in {dlpath} but Lidarr cannot see this directory. You may need to adjust the folder's permissions.", "#permissions-error"); } } - catch (DownloadClientUnavailableException ex) + catch (DownloadClientException ex) { _logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name); }