fix: harden recording recovery and dashboard metrics

This commit is contained in:
2026-08-14 19:20:24 +08:00
parent 506dca898e
commit 90a67bdf72
24 changed files with 607 additions and 46 deletions
@@ -7,7 +7,26 @@ namespace LiveRecorder.Tests;
public sealed class StorageGuardServiceTests
{
private readonly StorageGuardService _service = new(NullLogger<StorageGuardService>.Instance);
private readonly StorageGuardService _service = new(
NullLogger<StorageGuardService>.Instance,
new DriveInfoStorageCapacityProvider());
[Fact]
public void CapacityProvider_SelectsLongestContainingMountRoot()
{
var selected = DriveInfoStorageCapacityProvider.SelectBestVolume(
"/vol00/live-recorder/Record",
[
new StorageVolumeCapacity("/", 100, 10),
new StorageVolumeCapacity("/vol00", 200, 20),
new StorageVolumeCapacity("/vol00/live-recorder", 300, 30),
new StorageVolumeCapacity("/vol0", 400, 40)
]);
Assert.NotNull(selected);
Assert.Equal("/vol00/live-recorder", selected.VolumeRoot);
Assert.Equal(300, selected.TotalBytes);
}
[Fact]
public void DisabledProtection_StillReportsActualCapacityWithoutBlockingRecording()