"""Herkunftsprüfung für Knöpfe (24.09.2026).""" from services.herkunft import erlaubt BOX = "192.168.178.151:9001" def test_eigene_seite_und_skripte_duerfen(): assert erlaubt("POST", "/api/maintenance/os-update", "http://192.168.178.151:9001", BOX) assert erlaubt("POST", "/api/alarm", None, BOX) # Lucy-Watchdog, curl assert erlaubt("POST", "/api/voice/chat", "null", BOX) # Desktop-Lucy (Electron) assert erlaubt("POST", "/api/voice/stt", "file://", BOX) assert erlaubt("POST", "/api/system/restart", "http://localhost:5173", BOX) # Vite-Entwicklung def test_fremde_webseite_darf_keine_knoepfe_druecken(): assert not erlaubt("POST", "/api/maintenance/update-all", "https://boese.example", BOX) assert not erlaubt("DELETE", "/api/models/x", "http://192.168.178.99:8080", BOX) def test_lesen_und_v1_bleiben_offen(): assert erlaubt("GET", "/api/start", "https://boese.example", BOX) assert erlaubt("POST", "/v1/chat/completions", "http://localhost:3000", BOX)