Skip to content

Commit 5b9047d

Browse files
committed
test_debug fixes
1 parent 650aff9 commit 5b9047d

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

tests/test_debug.py

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,43 @@
1+
import pytest
12
from fastapi.testclient import TestClient
23
from cockroachdb_mcp_server.main import app
34

45
client = TestClient(app)
56

7+
@pytest.fixture(autouse=True)
8+
def mock_db_engine(mocker):
9+
mock_engine = mocker.MagicMock()
10+
mock_conn = mocker.MagicMock()
11+
mock_engine.connect.return_value.__enter__.return_value = mock_conn
12+
13+
# Patch get_sqlalchemy_engine to return mock
14+
mocker.patch("cockroachdb_mcp_server.routes.debug.get_sqlalchemy_engine", return_value=mock_engine)
15+
16+
# Setup mock responses
17+
mock_conn.execute.side_effect = lambda query: {
18+
"SELECT version();": [("CockroachDB 25.2.0",)],
19+
"SELECT current_database();": [("defaultdb",)],
20+
"SELECT table_name FROM information_schema.tables ...": [("mcp_contexts",)],
21+
"SELECT 1": [(1,)],
22+
}.get(str(query).strip(), [])
23+
624
def test_debug_info():
7-
response = client.get("/debug/info")
8-
assert response.status_code == 200
9-
assert "database" in response.json()
25+
res = client.get("/debug/info")
26+
assert res.status_code == 200
27+
assert "database" in res.json()
28+
assert "version" in res.json()
1029

1130
def test_debug_tables():
12-
response = client.get("/debug/tables")
13-
assert response.status_code == 200
14-
assert "tables" in response.json()
31+
res = client.get("/debug/tables")
32+
assert res.status_code == 200
33+
assert "tables" in res.json()
1534

1635
def test_debug_sql_valid():
17-
response = client.post("/debug/sql", json={"query": "SELECT 1"})
18-
assert response.status_code == 200
19-
assert isinstance(response.json(), list)
36+
res = client.post("/debug/sql", json={"query": "SELECT 1"})
37+
assert res.status_code == 200
38+
assert isinstance(res.json(), list)
2039

2140
def test_debug_sql_invalid():
22-
response = client.post("/debug/sql", json={"query": "DROP TABLE mcp_contexts"})
23-
assert "error" in response.json()
41+
res = client.post("/debug/sql", json={"query": "DROP TABLE mcp_contexts"})
42+
assert res.status_code == 200
43+
assert "error" in res.json()

0 commit comments

Comments
 (0)