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.Cli.IntegrationTests/BaseCommandSetupIntegration...

57 lines
1.6 KiB

using System.IO.Abstractions;
using Recyclarr.Cli.Console.Setup;
using Recyclarr.Settings;
namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
internal class BaseCommandSetupIntegrationTest : CliIntegrationFixture
{
[Test]
public void Log_janitor_cleans_up_user_specified_max_files()
{
const int maxFiles = 25;
Fs.AddFile(
Paths.AppDataDirectory.File("settings.yml"),
new MockFileData(
$"""
log_janitor:
max_files: {maxFiles}
"""
)
);
for (var i = 0; i < maxFiles + 20; ++i)
{
Fs.AddFile(Paths.LogDirectory.File($"logfile-{i}.log").FullName, new MockFileData(""));
}
var sut = Resolve<JanitorCleanupTask>();
sut.OnFinish();
Fs.AllFiles.Where(x => x.StartsWith(Paths.LogDirectory.FullName, StringComparison.Ordinal))
.Should()
.HaveCount(maxFiles);
}
[Test]
public void Log_janitor_cleans_up_default_max_files()
{
var maxFiles = Resolve<ISettings<LogJanitorSettings>>().Value.MaxFiles;
for (var i = 0; i < maxFiles + 20; ++i)
{
Fs.AddFile(Paths.LogDirectory.File($"logfile-{i}.log").FullName, new MockFileData(""));
}
var sut = Resolve<JanitorCleanupTask>();
sut.OnFinish();
maxFiles.Should().BePositive();
Fs.AllFiles.Where(x => x.StartsWith(Paths.LogDirectory.FullName, StringComparison.Ordinal))
.Should()
.HaveCount(maxFiles);
}
}