Squash Odysseus development history

This commit is contained in:
pewdiepie-archdaemon
2026-09-11 06:04:19 +00:00
parent e5c99a5eee
commit 6ee6502010
2050 changed files with 538359 additions and 57745 deletions
+37
View File
@@ -0,0 +1,37 @@
import sys
import types
from unittest.mock import MagicMock
import pytest
from fastapi import HTTPException
def _load_module(monkeypatch):
db_stub = types.ModuleType("core.database")
db_stub.EditorDraft = MagicMock()
db_stub.SessionLocal = MagicMock()
monkeypatch.setitem(sys.modules, "core.database", db_stub)
monkeypatch.delitem(sys.modules, "routes.editor_draft_routes", raising=False)
import routes.editor_draft_routes as mod
return mod
def test_load_payload_rejects_non_object_json(monkeypatch):
mod = _load_module(monkeypatch)
assert mod._load_payload("[]") == {}
assert mod._load_payload('"draft"') == {}
assert mod._load_payload("{bad json") == {}
assert mod._load_payload('{"layers": []}') == {"layers": []}
def test_dump_payload_enforces_configured_byte_limit(monkeypatch):
mod = _load_module(monkeypatch)
monkeypatch.setattr(mod, "EDITOR_DRAFT_MAX_BYTES", 32)
assert mod._dump_payload({"layers": []}) == '{"layers":[]}'
with pytest.raises(HTTPException) as exc:
mod._dump_payload({"pixels": "x" * 40})
assert exc.value.status_code == 413