Refactor SurfaceCacheValidator to simplify oldest entry calculation

Add global using for Xunit in test project

Enhance ImportValidatorTests with async validation and quarantine checks

Implement FileSystemQuarantineServiceTests for quarantine functionality

Add integration tests for ImportValidator to check monotonicity

Create BundleVersionTests to validate version parsing and comparison logic

Implement VersionMonotonicityCheckerTests for monotonicity checks and activation logic
This commit is contained in:
master
2025-12-16 10:44:00 +02:00
parent b1f40945b7
commit 4391f35d8a
107 changed files with 10844 additions and 287 deletions

View File

@@ -0,0 +1,44 @@
namespace StellaOps.Signals.Options;
/// <summary>
/// Configuration for the unknowns rescan background worker.
/// </summary>
public sealed class UnknownsRescanOptions
{
public const string SectionName = "Signals:UnknownsRescan";
/// <summary>
/// Whether the rescan worker is enabled. Default: true
/// </summary>
public bool Enabled { get; set; } = true;
/// <summary>
/// Poll interval for checking due items. Default: 60 seconds
/// </summary>
public TimeSpan PollInterval { get; set; } = TimeSpan.FromSeconds(60);
/// <summary>
/// Maximum HOT items to process per poll cycle. Default: 50
/// </summary>
public int HotBatchSize { get; set; } = 50;
/// <summary>
/// Maximum WARM items to process per poll cycle. Default: 100
/// </summary>
public int WarmBatchSize { get; set; } = 100;
/// <summary>
/// Maximum COLD items to process in weekly batch. Default: 500
/// </summary>
public int ColdBatchSize { get; set; } = 500;
/// <summary>
/// Day of week for COLD batch processing. Default: Sunday
/// </summary>
public DayOfWeek ColdBatchDay { get; set; } = DayOfWeek.Sunday;
/// <summary>
/// Hour (UTC) for COLD batch processing. Default: 3 (3 AM UTC)
/// </summary>
public int ColdBatchHourUtc { get; set; } = 3;
}