Orientamento: se il salvataggio fallisce si ripristina lo stato di prima in memoria. Refs #110
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -166,3 +166,21 @@ def test_avviso_con_mappa_attiva(client_denso):
|
||||
assert "«Densa»" in r.json()["avviso"] and "va rifatta" in r.json()["avviso"]
|
||||
# stesso valore di nuovo: nulla e' cambiato, nessun avviso
|
||||
assert _imposta(client_denso, True, False, source=SORGENTE_DENSA).json()["avviso"] is None
|
||||
|
||||
|
||||
def test_scrittura_fallita_500_e_orientamento_di_prima(cartella, config, monkeypatch):
|
||||
# #110: se orientamento.json non si scrive, in memoria resta l'orientamento di prima
|
||||
mod = _carica()
|
||||
with TestClient(mod.create_app(cartella, config)) as c:
|
||||
assert _imposta(c, True, False).status_code == 200 # stato di partenza: orizzontale
|
||||
def rotto(*a, **k):
|
||||
raise OSError("disco pieno")
|
||||
monkeypatch.setattr(mod.os, "replace", rotto)
|
||||
assert _imposta(c, False, True).status_code == 500
|
||||
j = c.get("/camera/orientamento", params={"source": SORGENTE}).json()
|
||||
assert (j["orizzontale"], j["verticale"]) == (True, False)
|
||||
assert _grab(c) == (0, 3) # ancora solo orizzontale
|
||||
# sorgente che prima non c'era: la voce non resta
|
||||
assert c.put("/camera/orientamento", json={"source": "altra", "orizzontale": True, "verticale": True}).status_code == 500
|
||||
j = c.get("/camera/orientamento", params={"source": "altra"}).json()
|
||||
assert (j["orizzontale"], j["verticale"]) == (False, False)
|
||||
|
||||
Reference in New Issue
Block a user