新增了插件相关的完整领域模型、应用服务、基础设施实现,包括: 1. 插件状态、注册模式、来源等基础枚举和数据结构 2. 插件清单解析、发现、加载工具类 3. 插件注册表领域服务和内存存储实现 4. 插件相关的命令、查询、事件定义 5. 插件REST API接口和DTO映射 6. 集成了原有通道适配器到插件系统 7. 新增内置插件注册和自动发现能力
30 lines
887 B
Python
30 lines
887 B
Python
"""
|
||
Shared pytest fixtures for channel integration tests.
|
||
|
||
Channel endpoints use their own auth service (token / password) which is
|
||
separate from the main app JWT auth. When ``auth.token`` and
|
||
``auth.password`` in ``channel_config.yaml`` are both empty the channel
|
||
auth service accepts every request – this is the default dev setup.
|
||
"""
|
||
|
||
from __future__ import annotations
|
||
|
||
import os
|
||
|
||
import pytest
|
||
|
||
CHANNEL_AUTH_TOKEN = os.getenv("CHANNEL_AUTH_TOKEN", "")
|
||
CHANNEL_AUTH_PASSWORD = os.getenv("CHANNEL_AUTH_PASSWORD", "")
|
||
|
||
|
||
@pytest.fixture()
|
||
def channel_auth_headers() -> dict[str, str]:
|
||
if CHANNEL_AUTH_TOKEN:
|
||
return {"Authorization": f"Bearer {CHANNEL_AUTH_TOKEN}"}
|
||
if CHANNEL_AUTH_PASSWORD:
|
||
import base64
|
||
|
||
encoded = base64.b64encode(f"mgmt:{CHANNEL_AUTH_PASSWORD}".encode()).decode()
|
||
return {"Authorization": f"Basic {encoded}"}
|
||
return {}
|