fix: clean env vars in pairing regression test
The test_non_internal_event_without_user_triggers_pairing test relied on no Discord auth env vars being set, but gateway/run.py loads dotenv at module level. In environments with DISCORD_ALLOW_ALL_USERS=True in .env, the auth check passed instead of triggering the pairing flow. Clear DISCORD_ALLOW_ALL_USERS, DISCORD_ALLOWED_USERS, GATEWAY_ALLOW_ALL_USERS, and GATEWAY_ALLOWED_USERS via monkeypatch to ensure test isolation.
This commit is contained in:
@@ -193,6 +193,13 @@ async def test_non_internal_event_without_user_triggers_pairing(monkeypatch, tmp
|
||||
monkeypatch.setattr(gateway_run, "_hermes_home", tmp_path)
|
||||
(tmp_path / "config.yaml").write_text("", encoding="utf-8")
|
||||
|
||||
# Clear env vars that could let all users through (loaded by
|
||||
# module-level dotenv in gateway/run.py from the real ~/.hermes/.env).
|
||||
monkeypatch.delenv("DISCORD_ALLOW_ALL_USERS", raising=False)
|
||||
monkeypatch.delenv("DISCORD_ALLOWED_USERS", raising=False)
|
||||
monkeypatch.delenv("GATEWAY_ALLOW_ALL_USERS", raising=False)
|
||||
monkeypatch.delenv("GATEWAY_ALLOWED_USERS", raising=False)
|
||||
|
||||
runner = GatewayRunner(GatewayConfig())
|
||||
adapter = SimpleNamespace(send=AsyncMock())
|
||||
runner.adapters[Platform.DISCORD] = adapter
|
||||
|
||||
Reference in New Issue
Block a user