You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by cg...@apache.org on 2026/08/12 21:19:07 UTC
(drill-mcp) 08/13: test: isolate ambient environment in test_server/client_rest/client_jdbc
This is an automated email from the ASF dual-hosted git repository.
cgivre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/drill-mcp.git
commit 9e879e08c2334310c46847f4828c7d77febe9d55
Author: cgivre <cg...@gmail.com>
AuthorDate: Wed Aug 12 16:28:09 2026 -0400
test: isolate ambient environment in test_server/client_rest/client_jdbc
Only test_config.py isolated ambient environment. The other three test
files called load_config(overrides=...) without env={}, so an exported
DRILL_AUTH (or other DRILL_* var) on a contributor's machine could
break the suite at fixture time -- verified: DRILL_AUTH=basic
DRILL_USER=x DRILL_PASSWORD=y in the environment fails 42 tests
without this fix. Matters for an ASF repo where contributors have real
clusters configured via environment variables.
---
tests/test_client_jdbc.py | 2 +-
tests/test_client_rest.py | 2 +-
tests/test_server.py | 14 +++++++-------
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/tests/test_client_jdbc.py b/tests/test_client_jdbc.py
index 02ae59f..29d5958 100644
--- a/tests/test_client_jdbc.py
+++ b/tests/test_client_jdbc.py
@@ -56,7 +56,7 @@ def fake_jaydebeapi(monkeypatch):
def make_client(**overrides):
overrides.setdefault("backend", "jdbc")
overrides.setdefault("jdbc_driver_path", "/opt/drill-jdbc-all.jar")
- return JdbcClient(load_config(overrides=overrides))
+ return JdbcClient(load_config(overrides=overrides, env={}))
def test_clear_error_when_extra_is_not_installed(monkeypatch):
diff --git a/tests/test_client_rest.py b/tests/test_client_rest.py
index 2aec56f..0a0e939 100644
--- a/tests/test_client_rest.py
+++ b/tests/test_client_rest.py
@@ -39,7 +39,7 @@ BASE = "http://drill:8047"
def make_client(**overrides):
overrides.setdefault("url", BASE)
- return RestClient(load_config(overrides=overrides))
+ return RestClient(load_config(overrides=overrides, env={}))
class TestQuoting:
diff --git a/tests/test_server.py b/tests/test_server.py
index 9d9dcbf..c323598 100644
--- a/tests/test_server.py
+++ b/tests/test_server.py
@@ -29,7 +29,7 @@ from drill_mcp.server import DrillTools, ToolError, build_client, build_server
def make_tools(client=None, **overrides):
client = client or MagicMock()
- return DrillTools(load_config(overrides=overrides), client)
+ return DrillTools(load_config(overrides=overrides, env={}), client)
class TestRunQuery:
@@ -577,14 +577,14 @@ class TestShowFiltering:
class TestWiring:
def test_rest_backend_builds_a_rest_client(self):
- assert isinstance(build_client(load_config()), RestClient)
+ assert isinstance(build_client(load_config(env={})), RestClient)
def test_jdbc_backend_builds_a_jdbc_client(self):
- cfg = load_config(overrides={"backend": "jdbc", "jdbc_driver_path": "/x.jar"})
+ cfg = load_config(overrides={"backend": "jdbc", "jdbc_driver_path": "/x.jar"}, env={})
assert isinstance(build_client(cfg), JdbcClient)
def test_all_tools_are_registered(self):
- server = build_server(load_config())
+ server = build_server(load_config(env={}))
names = {tool.name for tool in server._tool_manager.list_tools()}
assert names == {
"run_query",
@@ -599,11 +599,11 @@ class TestWiring:
}
def test_every_tool_has_a_description(self):
- server = build_server(load_config())
+ server = build_server(load_config(env={}))
assert all(tool.description for tool in server._tool_manager.list_tools())
def test_no_write_or_mutation_tools_are_registered(self):
- server = build_server(load_config())
+ server = build_server(load_config(env={}))
names = {tool.name for tool in server._tool_manager.list_tools()}
forbidden = {"create_storage_plugin", "update_storage_plugin",
"delete_storage_plugin", "set_option", "alter_system"}
@@ -611,7 +611,7 @@ class TestWiring:
def test_no_registered_tool_accepts_a_credential_argument(self):
"""Credentials come from config or environment only, never a tool argument."""
- server = build_server(load_config())
+ server = build_server(load_config(env={}))
credential_words = {"user", "password", "username", "passwd", "secret", "token", "credential"}
for tool in server._tool_manager.list_tools():
params = set(tool.parameters.get("properties", {}))