mirror of
https://github.com/lidarr/Lidarr
synced 2025-01-03 13:34:54 +00:00
Fixed: RemotePathMappingCheck ignores all download client exceptions (#735)
This commit is contained in:
parent
11eaa58c1c
commit
b1aff8fe58
2 changed files with 19 additions and 9 deletions
|
@ -26,6 +26,12 @@ public class RemotePathMappingCheckFixture : CoreTest<RemotePathMappingCheck>
|
|||
private DownloadClientInfo clientStatus;
|
||||
private DownloadClientItem downloadItem;
|
||||
private Mock<IDownloadClient> downloadClient;
|
||||
|
||||
static Exception[] DownloadClientExceptions = {
|
||||
new DownloadClientUnavailableException("error"),
|
||||
new DownloadClientAuthenticationException("error"),
|
||||
new DownloadClientException("error")
|
||||
};
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
|
@ -132,13 +138,15 @@ public void should_return_path_mapping_error_if_remote_client_download_root_miss
|
|||
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 @@ public void should_return_docker_mapping_error_on_track_import_failed_event_insi
|
|||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ public override HealthCheck Check()
|
|||
}
|
||||
}
|
||||
}
|
||||
catch (DownloadClientUnavailableException ex)
|
||||
catch (DownloadClientException ex)
|
||||
{
|
||||
_logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name);
|
||||
}
|
||||
|
@ -171,7 +171,7 @@ public HealthCheck Check(IEvent message)
|
|||
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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue