Add backup-first duplicate repair

This commit is contained in:
Philip Guzman
2026-07-01 15:29:44 -07:00
parent d2f625ed18
commit c4f1b4535d
9 changed files with 477 additions and 13 deletions
+22 -1
View File
@@ -3,7 +3,7 @@ from pathlib import Path
import pytest
from serato_doctor.web import STATIC_FILES, analyze_paths
from serato_doctor.web import STATIC_FILES, analyze_paths, duplicate_repair
def test_web_analysis_uses_production_health_pipeline(tmp_path):
@@ -49,3 +49,24 @@ def test_web_static_assets_are_declared_and_packaged():
assert 'data-detail="database_missing_tracks"' in html
assert 'data-detail="old_crate_references"' in html
assert html.count('class="info-button"') >= 10
def test_duplicate_repair_preview_does_not_change_files(tmp_path):
serato = tmp_path / "_Serato_"
serato.mkdir()
music = tmp_path / "Music"
first = music / "A" / "Track.mp3"
second = music / "B" / "Track.mp3"
first.parent.mkdir(parents=True)
second.parent.mkdir(parents=True)
first.write_bytes(b"first")
second.write_bytes(b"second")
result = duplicate_repair(
serato, music, first, (first, second), backup_limit=10
)
assert result["applied"] is False
assert result["database_v2_modified"] is False
assert second.read_bytes() == b"second"
assert not second.is_symlink()