1- from cratedb_mcp .knowledge import DOCUMENTATION_INDEX , Queries
1+ import cratedb_mcp
2+ from cratedb_mcp .knowledge import DOCUMENTATION_INDEX , Queries , sql_expression_permitted
23
34
45def test_documentation_index ():
@@ -16,3 +17,32 @@ def test_queries():
1617 assert "sys.health" in Queries .TABLES_METADATA
1718 assert "WITH partitions_health" in Queries .TABLES_METADATA
1819 assert "LEFT JOIN" in Queries .TABLES_METADATA
20+
21+
22+ def test_sql_expression_create_forbidden ():
23+ assert sql_expression_permitted ("CREATE TABLE foobar AS SELECT 42" ) is False
24+
25+
26+ def test_sql_expression_insert_forbidden ():
27+ assert sql_expression_permitted ("INSERT INTO foobar" ) is False
28+
29+
30+ def test_sql_expression_select_into_forbidden ():
31+ assert sql_expression_permitted ("SELECT * INTO foobar FROM bazqux" ) is False
32+
33+
34+ def test_sql_expression_empty ():
35+ assert sql_expression_permitted ("" ) is False
36+
37+
38+ def test_sql_expression_almost_empty ():
39+ assert sql_expression_permitted (" " ) is False
40+
41+
42+ def test_sql_expression_none ():
43+ assert sql_expression_permitted (None ) is False
44+
45+
46+ def test_sql_expression_insert_allowed (mocker ):
47+ mocker .patch .object (cratedb_mcp .knowledge , "PERMIT_ALL_STATEMENTS" , True )
48+ assert sql_expression_permitted ("INSERT INTO foobar" ) is True
0 commit comments