fix(gateway): guard adapter-trust check against bare GatewayRunner in tests

_adapter_enforces_own_access_policy accessed self.adapters directly, but
several auth tests build a bare GatewayRunner via object.__new__ without
setting .adapters (pitfalls.md #17). Read it defensively with getattr so a
missing/empty adapter map means "no adapter owns the policy" instead of
raising AttributeError.

Fixes 4 tests: test_feishu_bot_auth_bypass, test_discord_bot_auth_bypass (x2),
test_signal::test_signal_in_allowlist_maps.
This commit is contained in:
teknium1
2026-05-29 03:59:57 -07:00
committed by Teknium
parent fd09b2c55e
commit 6a2e3c2d26

View File

@ -6556,7 +6556,13 @@ class GatewayRunner:
"""
if not platform:
return False
adapter = self.adapters.get(platform)
# Some test helpers build a bare GatewayRunner via object.__new__ and
# never set ``adapters``; treat a missing/empty map as "no adapter"
# rather than raising (see pitfalls.md #17).
adapters = getattr(self, "adapters", None)
if not adapters:
return False
adapter = adapters.get(platform)
if adapter is None:
return False
return bool(getattr(adapter, "enforces_own_access_policy", False))