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)) {