From 37c621dcdb17f8a4b1d03210626683b3f9c34aec Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Sun, 27 Dec 2015 20:40:37 +0100 Subject: [PATCH] Fixed: Health Check produced warning if Sonarr binaries folder was not writable even when the external script update mechanism was selected. fixes #964 --- .../HealthCheck/Checks/UpdateCheckFixture.cs | 24 +++++++++++++++++++ .../HealthCheck/Checks/UpdateCheck.cs | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs index 5d66d3220..b8a52bea6 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs @@ -6,6 +6,7 @@ using NzbDrone.Core.Configuration; using NzbDrone.Core.HealthCheck.Checks; using NzbDrone.Core.Test.Framework; +using NzbDrone.Core.Update; namespace NzbDrone.Core.Test.HealthCheck.Checks { @@ -47,5 +48,28 @@ public void should_return_error_when_app_folder_is_write_protected_and_update_au Subject.Check().ShouldBeError(); } + + [Test] + public void should_not_return_error_when_app_folder_is_write_protected_and_external_script_enabled() + { + MonoOnly(); + + Mocker.GetMock() + .Setup(s => s.UpdateAutomatically) + .Returns(true); + + Mocker.GetMock() + .Setup(s => s.UpdateMechanism) + .Returns(UpdateMechanism.Script); + + Mocker.GetMock() + .Setup(s => s.StartUpFolder) + .Returns(@"/opt/nzbdrone"); + + Mocker.GetMock() + .Verify(c => c.FolderWritable(Moq.It.IsAny()), Times.Never()); + + Subject.Check().ShouldBeOk(); + } } } diff --git a/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs index 86351922b..e5a928d9d 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs @@ -27,7 +27,8 @@ public UpdateCheck(IDiskProvider diskProvider, public override HealthCheck Check() { - if (OsInfo.IsWindows || _configFileProvider.UpdateAutomatically) + if ((OsInfo.IsWindows || _configFileProvider.UpdateAutomatically) && + _configFileProvider.UpdateMechanism == UpdateMechanism.BuiltIn) { if (!_diskProvider.FolderWritable(_appFolderInfo.StartUpFolder)) {