Skip to content

fix(hub-mcp): spawn test server without inheriting developer auth env#301

Merged
shikokuchuo merged 1 commit into
mainfrom
bugfix/bd-uyiqciqk-hermetic-mcp-test-env
Jun 17, 2026
Merged

fix(hub-mcp): spawn test server without inheriting developer auth env#301
shikokuchuo merged 1 commit into
mainfrom
bugfix/bd-uyiqciqk-hermetic-mcp-test-env

Conversation

@shikokuchuo

Copy link
Copy Markdown
Member

Fixes bd-uyiqciqk.

McpTestClient.start() spawned the MCP server inheriting the full shell env.

A developer with QUARTO_HUB_MCP_CLIENT_ID/SECRET set (real auth config) made the spawned test server take the OS-keychain credential path. That fails nondeterministically against a populated keychain ("item already exists in the keychain") — breaking the require-online / hub-mcp / exit-drain suites locally, while CI's clean env stayed green.

The fix strips those two auth-gating vars from the default child env, so the spawned server runs unauthenticated. Tests that exercise auth (e.g. e2e-auth) pass their own explicit env and are unaffected.

McpTestClient.start() inherited the full shell env, so a developer with
QUARTO_HUB_MCP_CLIENT_ID/SECRET set made the spawned server take the OS-keychain
path and fail nondeterministically against a populated keychain. Strip those two
vars from the default child env; tests passing an explicit env are unaffected.
@shikokuchuo shikokuchuo merged commit cb20e8e into main Jun 17, 2026
5 checks passed
@shikokuchuo shikokuchuo deleted the bugfix/bd-uyiqciqk-hermetic-mcp-test-env branch June 17, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant