ForcePilot/backend/test/unit/channel/startup/test_channel_registry.py
Kris 6c95dc006a test: 新增渠道模块全链路单元测试用例与目录结构
完成渠道模块的单元测试目录搭建,新增多个领域模型、端口、中间件、事件、服务以及基础设施层的单元测试文件,同时补充了conftest.py的环境变量配置,完善测试基础环境。
2026-05-30 21:55:35 +08:00

56 lines
1.6 KiB
Python

from __future__ import annotations
from unittest.mock import MagicMock
import pytest
from yuxi.channel.channels._registry import ChannelRegistry, get_registered_channels
class TestChannelRegistry:
@pytest.fixture
def registry(self):
return ChannelRegistry()
def test_register(self, registry):
adapter_cls = MagicMock()
registry.register("web", adapter_cls)
assert "web" in registry._channels
assert registry._channels["web"] is adapter_cls
def test_get(self, registry):
adapter_cls = MagicMock()
registry.register("web", adapter_cls)
result = registry.get("web")
assert result is adapter_cls
def test_get_not_found(self, registry):
result = registry.get("unknown")
assert result is None
def test_unregister(self, registry):
adapter_cls = MagicMock()
registry.register("web", adapter_cls)
registry.unregister("web")
assert "web" not in registry._channels
def test_list(self, registry):
adapter_cls1 = MagicMock()
adapter_cls2 = MagicMock()
registry.register("web", adapter_cls1)
registry.register("feishu", adapter_cls2)
channels = registry.list()
assert "web" in channels
assert "feishu" in channels
assert len(channels) == 2
def test_clear(self, registry):
adapter_cls = MagicMock()
registry.register("web", adapter_cls)
registry.clear()
assert len(registry._channels) == 0
def test_get_registered_channels(self):
channels = get_registered_channels()
assert isinstance(channels, dict)