Fixed: Ignore free space check before grabbing if directory is missing

pull/10520/head v5.12.1.9289
Mark McDowall 5 months ago committed by Bogdan
parent cfdb7a15de
commit 75c7a3cfc6

@ -1,3 +1,4 @@
using System.IO;
using FluentAssertions;
using Moq;
using NUnit.Framework;
@ -90,5 +91,16 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
Subject.IsSatisfiedBy(_remoteMovie, null).Accepted.Should().BeTrue();
}
[Test]
public void should_return_true_if_root_folder_is_not_available()
{
WithMinimumFreeSpace(150);
WithSize(100);
Mocker.GetMock<IDiskProvider>().Setup(s => s.GetAvailableSpace(It.IsAny<string>())).Throws<DirectoryNotFoundException>();
Subject.IsSatisfiedBy(_remoteMovie, null).Accepted.Should().BeTrue();
}
}
}

@ -1,3 +1,4 @@
using System.IO;
using NLog;
using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions;
@ -32,11 +33,21 @@ namespace NzbDrone.Core.DecisionEngine.Specifications
}
var size = subject.Release.Size;
var freeSpace = _diskProvider.GetAvailableSpace(subject.Movie.Path);
var path = subject.Movie.Path;
long? freeSpace = null;
try
{
freeSpace = _diskProvider.GetAvailableSpace(path);
}
catch (DirectoryNotFoundException)
{
// Ignore so it'll be skipped in the following checks
}
if (!freeSpace.HasValue)
{
_logger.Debug("Unable to get available space for {0}. Skipping", subject.Movie.Path);
_logger.Debug("Unable to get available space for {0}. Skipping", path);
return Decision.Accept();
}

Loading…
Cancel
Save