diff --git a/frontend/src/Settings/General/UpdateSettings.js b/frontend/src/Settings/General/UpdateSettings.js
index f785ca76e..88724e054 100644
--- a/frontend/src/Settings/General/UpdateSettings.js
+++ b/frontend/src/Settings/General/UpdateSettings.js
@@ -18,7 +18,6 @@ function UpdateSettings(props) {
const {
advancedSettings,
settings,
- isWindows,
packageUpdateMechanism,
onInputChange
} = props;
@@ -69,63 +68,59 @@ function UpdateSettings(props) {
/>
- {
- isWindows ?
- null :
-
-
- {translate('Automatic')}
+
+
+ {translate('Automatic')}
-
-
+
+
+
+ {translate('Mechanism')}
+
+
+
+
+ {
+ updateMechanism.value === 'script' &&
- {translate('Mechanism')}
+ {translate('ScriptPath')}
-
- {
- updateMechanism.value === 'script' &&
-
- {translate('ScriptPath')}
-
-
-
- }
-
- }
+ }
+
);
}
diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs
index 64eeb9169..7d859eb9d 100644
--- a/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs
+++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/UpdateCheckFixture.cs
@@ -7,6 +7,7 @@
using NzbDrone.Core.Localization;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Update;
+using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.HealthCheck.Checks
{
@@ -21,28 +22,10 @@ public void Setup()
.Returns("Some Warning Message");
}
- [Test]
- public void should_return_error_when_app_folder_is_write_protected()
- {
- WindowsOnly();
-
- Mocker.GetMock()
- .Setup(s => s.StartUpFolder)
- .Returns(@"C:\NzbDrone");
-
- Mocker.GetMock()
- .Setup(c => c.FolderWritable(It.IsAny()))
- .Returns(false);
-
- Subject.Check().ShouldBeError();
- }
-
[Test]
public void should_return_error_when_app_folder_is_write_protected_and_update_automatically_is_enabled()
{
- PosixOnly();
-
- const string startupFolder = @"/opt/nzbdrone";
+ var startupFolder = @"C:\NzbDrone".AsOsAgnostic();
Mocker.GetMock()
.Setup(s => s.UpdateAutomatically)
@@ -62,10 +45,8 @@ public void should_return_error_when_app_folder_is_write_protected_and_update_au
[Test]
public void should_return_error_when_ui_folder_is_write_protected_and_update_automatically_is_enabled()
{
- PosixOnly();
-
- const string startupFolder = @"/opt/nzbdrone";
- const string uiFolder = @"/opt/nzbdrone/UI";
+ var startupFolder = @"C:\NzbDrone".AsOsAgnostic();
+ var uiFolder = @"C:\NzbDrone\UI".AsOsAgnostic();
Mocker.GetMock()
.Setup(s => s.UpdateAutomatically)
@@ -89,7 +70,7 @@ public void should_return_error_when_ui_folder_is_write_protected_and_update_aut
[Test]
public void should_not_return_error_when_app_folder_is_write_protected_and_external_script_enabled()
{
- PosixOnly();
+ var startupFolder = @"C:\NzbDrone".AsOsAgnostic();
Mocker.GetMock()
.Setup(s => s.UpdateAutomatically)
@@ -101,7 +82,7 @@ public void should_not_return_error_when_app_folder_is_write_protected_and_exter
Mocker.GetMock()
.Setup(s => s.StartUpFolder)
- .Returns(@"/opt/nzbdrone");
+ .Returns(startupFolder);
Mocker.GetMock()
.Verify(c => c.FolderWritable(It.IsAny()), Times.Never());
diff --git a/src/NzbDrone.Core/Configuration/ConfigFileProvider.cs b/src/NzbDrone.Core/Configuration/ConfigFileProvider.cs
index 896138062..7b037f0f6 100644
--- a/src/NzbDrone.Core/Configuration/ConfigFileProvider.cs
+++ b/src/NzbDrone.Core/Configuration/ConfigFileProvider.cs
@@ -255,7 +255,7 @@ public string UrlBase
public string UiFolder => BuildInfo.IsDebug ? Path.Combine("..", "UI") : "UI";
public string InstanceName => _appOptions.InstanceName ?? GetValue("InstanceName", BuildInfo.AppName);
- public bool UpdateAutomatically => _updateOptions.Automatically ?? GetValueBoolean("UpdateAutomatically", false, false);
+ public bool UpdateAutomatically => _updateOptions.Automatically ?? GetValueBoolean("UpdateAutomatically", OsInfo.IsWindows, false);
public UpdateMechanism UpdateMechanism =>
Enum.TryParse(_updateOptions.Mechanism, out var enumValue)
diff --git a/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs
index 289f83640..54fe474a5 100644
--- a/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs
+++ b/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs
@@ -40,7 +40,7 @@ public override HealthCheck Check()
var startupFolder = _appFolderInfo.StartUpFolder;
var uiFolder = Path.Combine(startupFolder, "UI");
- if ((OsInfo.IsWindows || _configFileProvider.UpdateAutomatically) &&
+ if (_configFileProvider.UpdateAutomatically &&
_configFileProvider.UpdateMechanism == UpdateMechanism.BuiltIn &&
!_osInfo.IsDocker)
{
diff --git a/src/NzbDrone.Core/Update/InstallUpdateService.cs b/src/NzbDrone.Core/Update/InstallUpdateService.cs
index 3c655cc67..91acb7952 100644
--- a/src/NzbDrone.Core/Update/InstallUpdateService.cs
+++ b/src/NzbDrone.Core/Update/InstallUpdateService.cs
@@ -83,7 +83,7 @@ private bool InstallUpdate(UpdatePackage updatePackage)
{
EnsureAppDataSafety();
- if (OsInfo.IsWindows || _configFileProvider.UpdateMechanism != UpdateMechanism.Script)
+ if (_configFileProvider.UpdateMechanism != UpdateMechanism.Script)
{
var startupFolder = _appFolderInfo.StartUpFolder;
var uiFolder = Path.Combine(startupFolder, "UI");
@@ -143,7 +143,7 @@ private bool InstallUpdate(UpdatePackage updatePackage)
_backupService.Backup(BackupType.Update);
- if (OsInfo.IsNotWindows && _configFileProvider.UpdateMechanism == UpdateMechanism.Script)
+ if (_configFileProvider.UpdateMechanism == UpdateMechanism.Script)
{
InstallUpdateWithScript(updateSandboxFolder);
return true;