核心变更: - engine.py(1781行)拆分为8个独立模块: lifecycle/security/deps/ datastore/pl_injector/watcher/signature/manager - 新增plugin-bridge: 事件总线 + 服务注册 + RPC通信 - 新增i18n: 国际化/多语言翻译支持 - 新增plugin-storage: 插件键值/文件存储 - 新增ws-api: WebSocket实时通信(pub/sub + 自定义处理器) - nodejs-adapter统一为Plugin ABC模式 Bug修复: - 修复load_all()中store_dir未定义崩溃 - 修复DependencyResolver入度计算(拓扑排序) - 修复PermissionError隐藏内置异常 - 修复CORS中间件头部未附加到响应 - 修复IntegrityChecker跳过__pycache__目录 - 修复版本号不一致(v2.0.0→v1.2.0) - 修复测试文件的Logger导入/路径/私有方法调用 - 修复context.py缺少typing导入 - 修复config.py STORE_DIR默认路径(./mods→./store) 测试覆盖: 14→91个测试, 全部通过
37 lines
729 B
Python
37 lines
729 B
Python
"""Pytest configuration and shared fixtures"""
|
|
|
|
import os
|
|
import sys
|
|
import tempfile
|
|
import pytest
|
|
from pathlib import Path
|
|
|
|
project_root = Path(__file__).parent.parent.parent
|
|
sys.path.insert(0, str(project_root))
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def temp_data_dir():
|
|
temp_dir = tempfile.mkdtemp()
|
|
store_dir = Path(temp_dir) / "store"
|
|
store_dir.mkdir()
|
|
|
|
(store_dir / "NebulaShell").mkdir()
|
|
(store_dir / "@{Falck}").mkdir()
|
|
|
|
yield str(store_dir)
|
|
|
|
import shutil
|
|
shutil.rmtree(temp_dir)
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_config(temp_data_dir):
|
|
from oss.config.config import _global_config
|
|
original_config = _global_config
|
|
_global_config = None
|
|
|
|
yield
|
|
|
|
_global_config = original_config
|