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 <[email protected]>
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", {}))

Reply via email to