Fix-Runde nach Review: alle Befunde behoben + echte Tests
Ampel / ampel (push) Failing after 12m31s

- Metadaten-Preview WIEDERHERGESTELLT (Stub ueberschattete echte
  prescan-Implementierung), tote Altmodule geloescht
- Celery update_state statt Phantom-Task/erfundener API
- abcde-Kommando korrigiert (CD-Ripping war nie funktionsfaehig)
- JWT: fester Schluessel Pflicht, echtes Logout, Cleanup nur Abgelaufene
- main.py: crashende Endpoints (Path/secrets/api_keys), year-Bug,
  Admin-Login aus .env
- Ruff gruen (29 Funde), Tests: auth/cache_keys/ripping_helpers,
  Placebo-test_health raus
- SAVEPOINT: offene MakeMKV-Entscheidung SICHTBAR gemacht (Regel B)
This commit is contained in:
Hitonabi
2026-07-22 19:31:48 +02:00
parent 728f650bf8
commit 0ea5f10b31
22 changed files with 722 additions and 719 deletions
+31
View File
@@ -0,0 +1,31 @@
"""Tests für cache/keys.py: deterministische Key-Erzeugung."""
from cache.keys import (
PRESCAN_AUDIO_PREFIX,
PRESCAN_VIDEO_PREFIX,
generate_confirmed_key,
generate_prescan_key,
generate_tmdb_key,
)
def test_prescan_key_audio_vs_video():
audio = generate_prescan_key("/dev/sr0", is_audio=True)
video = generate_prescan_key("/dev/sr0", is_audio=False)
assert audio.startswith(PRESCAN_AUDIO_PREFIX)
assert video.startswith(PRESCAN_VIDEO_PREFIX)
assert audio != video
assert audio.endswith("/dev/sr0")
def test_confirmed_key_mit_und_ohne_jahr():
assert generate_confirmed_key("Blade Runner", 1982) == "confirmed:Blade Runner:1982"
assert generate_confirmed_key("Blade Runner") == "confirmed:Blade Runner:0"
def test_tmdb_key_mit_params_unterscheidet():
ohne = generate_tmdb_key("search/movie")
mit = generate_tmdb_key("search/movie", {"query": "Dune"})
assert ohne != mit
assert ohne.startswith("tmdb:")
assert "search/movie" in mit