mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 07:03:15 +08:00
- Rename platform/ to svc/ to avoid shadowing stdlib platform. - Replace from oclaw.* with from svc/runtime/interfaces; update -m CLI paths. - tests/conftest: prepend repo root to sys.path (no parent-folder package name). - CI: paths and offline_eval script under repo root. - Ops scripts: PYTHONPATH must be repo root for python -m runtime.* (fixes gateway/WhatsApp sidecar startup). - Fix default oclaw.json path in tabular/file attachment limits; stabilize attachment test config. Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
1,020 B
Python
29 lines
1,020 B
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from 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(
|
|
"runtime.hooks.gmail_watcher_lifecycle.start_gmail_watcher_with_logs",
|
|
_cap,
|
|
)
|
|
bundled = tmp_path / "bundled"
|
|
bundled.mkdir()
|
|
monkeypatch.setattr("runtime.hooks_runtime.runtime_hooks_bundled_root", lambda: str(bundled))
|
|
monkeypatch.setattr("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)
|