You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recyclarr/tests/Recyclarr.IntegrationTests/ConfigurationRegistryTest.cs

57 lines
1.4 KiB

using Recyclarr.Config;
using Recyclarr.Config.Filtering;
using Recyclarr.Config.Parsing.ErrorHandling;
using Recyclarr.TestLibrary;
namespace Recyclarr.IntegrationTests;
[TestFixture]
public class ConfigurationRegistryTest : IntegrationTestFixture
{
[Test]
public void Use_explicit_paths_instead_of_default()
{
var sut = Resolve<ConfigurationRegistry>();
Fs.AddFile(
"manual.yml",
new MockFileData(
"""
radarr:
instance1:
base_url: http://localhost:7878
api_key: asdf
"""
)
);
var result = sut.FindAndLoadConfigs(
new ConfigFilterCriteria { ManualConfigFiles = ["manual.yml"] }
);
result
.Should()
.ContainSingle()
.Which.Should()
.BeEquivalentTo(
new
{
BaseUrl = new Uri("http://localhost:7878"),
ApiKey = "asdf",
InstanceName = "instance1",
}
);
}
[Test]
public void Throw_on_invalid_config_files()
{
var sut = Resolve<ConfigurationRegistry>();
var act = () =>
sut.FindAndLoadConfigs(new ConfigFilterCriteria { ManualConfigFiles = ["manual.yml"] });
act.Should().ThrowExactly<InvalidConfigurationFilesException>();
}
}