fix(ci): Ampel entrostet — bcrypt-Pin + cache_keys-Test ans Fingerprint-Format angepasst
Die Ampel war seit 23.07. rot, stable hing 10 Commits hinter main:
1. bcrypt >= 4.1 entfernt __about__ — passlib 1.7.4 crasht beim Backend-
Selbsttest ('password cannot be longer than 72 bytes'), jedes Hashing
schlug fehl. Fix: bcrypt==4.0.1 gepinnt (passlib-kompatibel, dokumentiert
im requirements-Kommentar).
2. test_prescan_key_audio_vs_video erwartete das Key-Format OHNE den
Disc-Fingerprint vom 23.07. Test an das echte (gewollte) Format
angepasst + neuer Testfall: zwei Discs im selben Laufwerk -> zwei Keys.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,11 @@ requests==2.32.3
|
|||||||
pydantic==2.9.0
|
pydantic==2.9.0
|
||||||
pydantic-settings==2.5.2
|
pydantic-settings==2.5.2
|
||||||
passlib==1.7.4
|
passlib==1.7.4
|
||||||
|
# bcrypt MUSS gepinnt bleiben: passlib 1.7.4 liest bcrypt.__about__ (in
|
||||||
|
# bcrypt >= 4.1 entfernt) — der Backend-Selbsttest crasht dann mit
|
||||||
|
# "password cannot be longer than 72 bytes" und JEDES Hashing schlägt fehl.
|
||||||
|
# Genau das hielt die Ampel ab dem 23.07. rot (stable blieb 10 Commits zurück).
|
||||||
|
bcrypt==4.0.1
|
||||||
PyJWT==2.9.0
|
PyJWT==2.9.0
|
||||||
python-multipart==0.0.9
|
python-multipart==0.0.9
|
||||||
aiofiles==24.1.0
|
aiofiles==24.1.0
|
||||||
|
|||||||
@@ -15,7 +15,17 @@ def test_prescan_key_audio_vs_video():
|
|||||||
assert audio.startswith(PRESCAN_AUDIO_PREFIX)
|
assert audio.startswith(PRESCAN_AUDIO_PREFIX)
|
||||||
assert video.startswith(PRESCAN_VIDEO_PREFIX)
|
assert video.startswith(PRESCAN_VIDEO_PREFIX)
|
||||||
assert audio != video
|
assert audio != video
|
||||||
assert audio.endswith("/dev/sr0")
|
assert "/dev/sr0" in audio
|
||||||
|
|
||||||
|
|
||||||
|
def test_prescan_key_unterscheidet_discs_im_selben_laufwerk():
|
||||||
|
"""Seit 23.07. ist der Disc-Fingerabdruck Teil des Keys — sonst bekam die
|
||||||
|
NÄCHSTE Disc im selben Laufwerk die Metadaten der vorherigen serviert.
|
||||||
|
(Der alte Test kannte den Fingerprint nicht und hielt die Ampel rot.)"""
|
||||||
|
a = generate_prescan_key("/dev/sr0", False, "EVANGELION_2_22:43GB")
|
||||||
|
b = generate_prescan_key("/dev/sr0", False, "MATRIX:31GB")
|
||||||
|
assert a != b
|
||||||
|
assert a.endswith("EVANGELION_2_22:43GB")
|
||||||
|
|
||||||
|
|
||||||
def test_confirmed_key_mit_und_ohne_jahr():
|
def test_confirmed_key_mit_und_ohne_jahr():
|
||||||
|
|||||||
Reference in New Issue
Block a user