Add backup-first duplicate repair
This commit is contained in:
+22
-1
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user