oclaw/tests/test_oclaw_hooks_runtime_gmail_init.py
oliver dbbe3add6a 重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
2026-04-26 08:34:33 +08:00

29 lines
1 KiB
Python

from __future__ import annotations
from pathlib import Path
from oclaw.runtime.hooks_runtime import _reset_hooks_runtime_state_for_test, initialize_hooks_runtime
def test_initialize_hooks_runtime_invokes_gmail_lifecycle(monkeypatch, tmp_path: Path) -> None:
_reset_hooks_runtime_state_for_test()
calls: list[object] = []
def _cap(*, cfg, log, on_skipped=None, starter=None):
calls.append(cfg)
monkeypatch.setattr(
"oclaw.runtime.hooks.gmail_watcher_lifecycle.start_gmail_watcher_with_logs",
_cap,
)
bundled = tmp_path / "bundled"
bundled.mkdir()
monkeypatch.setattr("oclaw.runtime.hooks_runtime.runtime_hooks_bundled_root", lambda: str(bundled))
monkeypatch.setattr("oclaw.runtime.hooks.merge_skill_hook_dirs.discover_workspace_skill_manifests", lambda: ())
ws = tmp_path / "ws"
ws.mkdir()
cfg = {"hooks": {"internal": {"enabled": True}}}
initialize_hooks_runtime(cfg=cfg, workspace_dir=str(ws))
assert len(calls) == 1
assert isinstance(calls[0], dict)