本提交新增了全渠道SDK核心模块: 1. 异步锁、目标解析、动作调度等基础工具 2. 消息动作注册与统一调度系统 3. 测试套件与契约测试框架 4. 完整的目标解析流水线与工具函数 5. 资源依赖注入与生命周期管理
27 lines
783 B
Python
27 lines
783 B
Python
from typing import Any
|
|
|
|
from yuxi.channel.sdk.dependencies import PluginResourceProvider, inject_resources
|
|
|
|
|
|
def create_test_resources(
|
|
http_client: Any | None = None,
|
|
db_session_factory: Any | None = None,
|
|
redis_client: Any | None = None,
|
|
config_provider: Any | None = None,
|
|
metadata: dict | None = None,
|
|
**kwargs,
|
|
) -> PluginResourceProvider:
|
|
provider = PluginResourceProvider(
|
|
http_client=http_client,
|
|
db_session_factory=db_session_factory,
|
|
redis_client=redis_client,
|
|
config_provider=config_provider,
|
|
metadata=metadata or {},
|
|
)
|
|
for key, value in kwargs.items():
|
|
setattr(provider, key, value)
|
|
return provider
|
|
|
|
|
|
def reset_test_resources() -> None:
|
|
inject_resources(PluginResourceProvider()) |