diff --git a/agent-team/tests/test_confluence_client.py b/agent-team/tests/test_confluence_client.py index 1871c28..1453e06 100644 --- a/agent-team/tests/test_confluence_client.py +++ b/agent-team/tests/test_confluence_client.py @@ -296,7 +296,13 @@ def test_client_uses_injected_env_mapping() -> None: client = ConfluenceClient(http=http, env=env) fetched = client.get_page("100") assert fetched["version"]["number"] == 4 - assert http.calls[0]["url"].startswith("https://seahaven.atlassian.net") + # Assert the request host EXACTLY (scheme+netloc parsed), not a string prefix: + # a `.startswith("https://seahaven.atlassian.net")` check passes for a spoofed + # host like `https://seahaven.atlassian.net.evil.com` (CodeQL: incomplete URL + # substring sanitization). Compare the parsed components instead. + parts = _urlparse.urlsplit(http.calls[0]["url"]) + assert (parts.scheme, parts.netloc) == ("https", "seahaven.atlassian.net") + assert parts.path.startswith("/wiki/api/v2/pages/100") # --------------------------------------------------------------------------- #