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", {}))
