Files
TuxDMX-WebUI/backend/tests/test_backup_restore.py
T
thomas 1f110866f5
CI / backend (pull_request) Canceled after 0s
CI / shell (pull_request) Canceled after 0s
CI / frontend (pull_request) Canceled after 0s
CI / arm64-smoke (pull_request) Canceled after 0s
CI / backend (push) Canceled after 0s
CI / shell (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / arm64-smoke (push) Canceled after 0s
Update docs and screenshots
2026-07-25 10:26:29 +02:00

36 lines
1.2 KiB
Python

from pathlib import Path
from app.backup.service import BackupService
def test_backup_and_restore_roundtrip(tmp_path: Path) -> None:
data_dir = tmp_path / "data"
backup_dir = data_dir / "backups"
data_dir.mkdir(parents=True)
sample_file = data_dir / "settings.json"
sample_file.write_text('{"scene":"base"}', encoding="utf-8")
service = BackupService(data_dir=data_dir, backup_dir=backup_dir)
created = service.create_backup("audit-backup")
sample_file.write_text('{"scene":"modified"}', encoding="utf-8")
service.restore_backup(created.id)
assert sample_file.read_text(encoding="utf-8") == '{"scene":"base"}'
assert any(item.label == "audit-backup" for item in service.list_backups())
def test_restore_empty_backup_clears_runtime_files(tmp_path: Path) -> None:
data_dir = tmp_path / "data"
backup_dir = data_dir / "backups"
data_dir.mkdir(parents=True)
service = BackupService(data_dir=data_dir, backup_dir=backup_dir)
empty_backup = service.create_backup("empty-runtime")
sample_file = data_dir / "settings.json"
sample_file.write_text('{"scene":"modified"}', encoding="utf-8")
service.restore_backup(empty_backup.id)
assert not sample_file.exists()