from __future__ import annotations import pytest import teamlandkarte_mcp.database.read_only as ro def test_ensure_select_only_allows_select() -> None: ro.ensure_select_only("SELECT 1") @pytest.mark.parametrize( "sql", [ "DELETE FROM t", "UPDATE t SET x = 1", "INSERT INTO t VALUES (1)", "DROP TABLE t", ], ) def test_ensure_select_only_rejects_writes(sql: str) -> None: with pytest.raises(ro.DatabaseError): ro.ensure_select_only(sql)