Start robuster: Problembilder verhindern die Umstellung nicht
- Migration Schritt 2: Lese-/Schreibfehler (z. B. Dateirechte) und kaputte Bilder werden protokolliert und übersprungen, statt den Serverstart abzubrechen - bilder.py: alle Pillow-Fehler werden zu einer Eingabe-Fehlermeldung bzw. "keine Metadaten" statt zu Fehler 500 - Test mit schreibgeschütztem und kaputtem Bild Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bb20135876
commit
a1a1998d1e
3 files changed
+25
-8
No files matched your search
@@ -143,3 +143,19 @@ def test_umstellung_bestehender_daten(conn, login):
|
||||
assert rows == {(99, "geheim"), (home, "alt")}
|
||||
assert "tracker" not in conn.execute("SELECT content FROM projects WHERE id = 'a1'").fetchone()[0]
|
||||
assert not Image.open(foto).getexif()
|
||||
|
||||
|
||||
def test_problembilder_verhindern_start_nicht(conn):
|
||||
"""Schreibgeschütztes Foto mit GPS und kaputte Datei: Umstellung läuft trotzdem durch."""
|
||||
uploads = DATA_DIR / "uploads"
|
||||
gesperrt = uploads / ("cd" * 12 + ".jpg")
|
||||
gesperrt.write_bytes(jpeg_mit_gps())
|
||||
gesperrt.chmod(0o444)
|
||||
(uploads / ("ef" * 12 + ".png")).write_bytes(b"\x89PNG kaputt")
|
||||
try:
|
||||
with conn:
|
||||
conn.execute("PRAGMA user_version = 1")
|
||||
db.init()
|
||||
assert conn.execute("PRAGMA user_version").fetchone()[0] == 2
|
||||
finally:
|
||||
gesperrt.chmod(0o644)
|
||||
Reference in new issue
Block a user