Merge pull request #1314 from NousResearch/fix/discord-import-safety

fix: defer discord adapter annotations
This commit is contained in:
Teknium
2026-03-14 10:02:59 -07:00
committed by GitHub
2 changed files with 25 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
from __future__ import annotations
"""
Discord platform adapter.

View File

@@ -0,0 +1,23 @@
"""Import-safety tests for the Discord gateway adapter."""
import builtins
import importlib
import sys
class TestDiscordImportSafety:
def test_module_imports_even_when_discord_dependency_is_missing(self, monkeypatch):
original_import = builtins.__import__
def fake_import(name, globals=None, locals=None, fromlist=(), level=0):
if name == "discord" or name.startswith("discord."):
raise ImportError("discord unavailable for test")
return original_import(name, globals, locals, fromlist, level)
monkeypatch.delitem(sys.modules, "gateway.platforms.discord", raising=False)
monkeypatch.setattr(builtins, "__import__", fake_import)
module = importlib.import_module("gateway.platforms.discord")
assert module.DISCORD_AVAILABLE is False
assert module.discord is None