Fixed: Sabnzbd error when tv sorting enabled for all categories.
This commit is contained in:
parent
1b39911135
commit
56ecbf4a31
|
@ -101,6 +101,10 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.SabnzbdTests
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Mocker.GetMock<ISabnzbdProxy>()
|
||||||
|
.Setup(v => v.GetVersion(It.IsAny<SabnzbdSettings>()))
|
||||||
|
.Returns("1.2.3");
|
||||||
|
|
||||||
Mocker.GetMock<ISabnzbdProxy>()
|
Mocker.GetMock<ISabnzbdProxy>()
|
||||||
.Setup(s => s.GetConfig(It.IsAny<SabnzbdSettings>()))
|
.Setup(s => s.GetConfig(It.IsAny<SabnzbdSettings>()))
|
||||||
.Returns(_config);
|
.Returns(_config);
|
||||||
|
@ -490,5 +494,73 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.SabnzbdTests
|
||||||
result.IsValid.Should().BeTrue();
|
result.IsValid.Should().BeTrue();
|
||||||
result.HasWarnings.Should().BeTrue();
|
result.HasWarnings.Should().BeTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_test_success_if_tv_sorting_disabled()
|
||||||
|
{
|
||||||
|
_config.Misc.enable_tv_sorting = false;
|
||||||
|
_config.Misc.tv_categories = null;
|
||||||
|
|
||||||
|
var result = new NzbDroneValidationResult(Subject.Test());
|
||||||
|
|
||||||
|
result.IsValid.Should().BeTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_test_failed_if_tv_sorting_null()
|
||||||
|
{
|
||||||
|
_config.Misc.enable_tv_sorting = true;
|
||||||
|
_config.Misc.tv_categories = null;
|
||||||
|
|
||||||
|
var result = new NzbDroneValidationResult(Subject.Test());
|
||||||
|
|
||||||
|
result.IsValid.Should().BeFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_test_failed_if_tv_sorting_empty()
|
||||||
|
{
|
||||||
|
_config.Misc.enable_tv_sorting = true;
|
||||||
|
_config.Misc.tv_categories = new string[0];
|
||||||
|
|
||||||
|
var result = new NzbDroneValidationResult(Subject.Test());
|
||||||
|
|
||||||
|
result.IsValid.Should().BeFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_test_success_if_tv_sorting_contains_different_category()
|
||||||
|
{
|
||||||
|
_config.Misc.enable_tv_sorting = true;
|
||||||
|
_config.Misc.tv_categories = new[] { "tv-custom" };
|
||||||
|
|
||||||
|
var result = new NzbDroneValidationResult(Subject.Test());
|
||||||
|
|
||||||
|
result.IsValid.Should().BeTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_test_failed_if_tv_sorting_contains_category()
|
||||||
|
{
|
||||||
|
_config.Misc.enable_tv_sorting = true;
|
||||||
|
_config.Misc.tv_categories = new[] { "tv" };
|
||||||
|
|
||||||
|
var result = new NzbDroneValidationResult(Subject.Test());
|
||||||
|
|
||||||
|
result.IsValid.Should().BeFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_test_failed_if_tv_sorting_default_category()
|
||||||
|
{
|
||||||
|
Subject.Definition.Settings.As<SabnzbdSettings>().TvCategory = null;
|
||||||
|
|
||||||
|
_config.Misc.enable_tv_sorting = true;
|
||||||
|
_config.Misc.tv_categories = new[] { "Default" };
|
||||||
|
|
||||||
|
var result = new NzbDroneValidationResult(Subject.Test());
|
||||||
|
|
||||||
|
result.IsValid.Should().BeFalse();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,12 +451,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (config.Misc.enable_tv_sorting && ContainsCategory(config.Misc.tv_categories, Settings.TvCategory))
|
||||||
if (config.Misc.enable_tv_sorting)
|
|
||||||
{
|
|
||||||
if (!config.Misc.tv_categories.Any<string>() ||
|
|
||||||
config.Misc.tv_categories.Contains(Settings.TvCategory) ||
|
|
||||||
(Settings.TvCategory.IsNullOrWhiteSpace() && config.Misc.tv_categories.Contains("Default")))
|
|
||||||
{
|
{
|
||||||
return new NzbDroneValidationFailure("TvCategory", "Disable TV Sorting")
|
return new NzbDroneValidationFailure("TvCategory", "Disable TV Sorting")
|
||||||
{
|
{
|
||||||
|
@ -464,13 +459,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
|
||||||
DetailedDescription = "You must disable Sabnzbd TV Sorting for the category Sonarr uses to prevent import issues. Go to Sabnzbd to fix it."
|
DetailedDescription = "You must disable Sabnzbd TV Sorting for the category Sonarr uses to prevent import issues. Go to Sabnzbd to fix it."
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
if (config.Misc.enable_movie_sorting && ContainsCategory(config.Misc.movie_categories, Settings.TvCategory))
|
||||||
|
|
||||||
if (config.Misc.enable_movie_sorting)
|
|
||||||
{
|
|
||||||
if (!config.Misc.movie_categories.Any<string>() ||
|
|
||||||
config.Misc.movie_categories.Contains(Settings.TvCategory) ||
|
|
||||||
(Settings.TvCategory.IsNullOrWhiteSpace() && config.Misc.movie_categories.Contains("Default")))
|
|
||||||
{
|
{
|
||||||
return new NzbDroneValidationFailure("TvCategory", "Disable Movie Sorting")
|
return new NzbDroneValidationFailure("TvCategory", "Disable Movie Sorting")
|
||||||
{
|
{
|
||||||
|
@ -478,13 +467,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
|
||||||
DetailedDescription = "You must disable Sabnzbd Movie Sorting for the category Sonarr uses to prevent import issues. Go to Sabnzbd to fix it."
|
DetailedDescription = "You must disable Sabnzbd Movie Sorting for the category Sonarr uses to prevent import issues. Go to Sabnzbd to fix it."
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
if (config.Misc.enable_date_sorting && ContainsCategory(config.Misc.date_categories, Settings.TvCategory))
|
||||||
|
|
||||||
if (config.Misc.enable_date_sorting)
|
|
||||||
{
|
|
||||||
if (!config.Misc.date_categories.Any<string>() ||
|
|
||||||
config.Misc.date_categories.Contains(Settings.TvCategory) ||
|
|
||||||
(Settings.TvCategory.IsNullOrWhiteSpace() && config.Misc.date_categories.Contains("Default")))
|
|
||||||
{
|
{
|
||||||
return new NzbDroneValidationFailure("TvCategory", "Disable Date Sorting")
|
return new NzbDroneValidationFailure("TvCategory", "Disable Date Sorting")
|
||||||
{
|
{
|
||||||
|
@ -492,9 +475,23 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
|
||||||
DetailedDescription = "You must disable Sabnzbd Date Sorting for the category Sonarr uses to prevent import issues. Go to Sabnzbd to fix it."
|
DetailedDescription = "You must disable Sabnzbd Date Sorting for the category Sonarr uses to prevent import issues. Go to Sabnzbd to fix it."
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool ContainsCategory(IEnumerable<string> categories, string category)
|
||||||
|
{
|
||||||
|
if (categories == null || categories.Empty())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (category.IsNullOrWhiteSpace())
|
||||||
|
{
|
||||||
|
category = "Default";
|
||||||
|
}
|
||||||
|
|
||||||
|
return categories.Contains(category);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue