Add broken symlink diagnostics

This commit is contained in:
Philip Guzman
2026-07-01 07:32:07 -07:00
parent c5449a278a
commit b8ea17450b
11 changed files with 145 additions and 9 deletions
+14
View File
@@ -2,6 +2,7 @@ from pathlib import Path
from serato_doctor.health import analyze_health
from serato_doctor.models.crate import Crate, CrateKind
from serato_doctor.models.filesystem import BrokenSymlink
from serato_doctor.models.library import Library
from serato_doctor.models.reference import TrackReference
from serato_doctor.models.track import DiskTrack
@@ -104,3 +105,16 @@ def test_health_reports_cloud_conflicts_separately_from_exact_duplicates():
assert report.duplicate_files == 1
assert report.suspected_cloud_conflict_groups == 1
assert report.suspected_cloud_conflict_files == 1
def test_health_reports_broken_symlinks_without_changing_score():
library = Library.build(
[reference("Found.mp3")],
[track("Found.mp3")],
[BrokenSymlink(Path("/music/Broken.mp3"), Path("missing.mp3"))],
)
report = analyze_health(library)
assert report.score == 100.0
assert report.broken_symlinks == 1