oclaw/tests/test_oclaw_startup_workspace_resolution.py
oliver 420abac9f1 refactor: root-package imports (svc/runtime/interfaces) and fix PYTHONPATH
- 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>
2026-05-13 14:51:17 +08:00

39 lines
1.5 KiB
Python

from __future__ import annotations
from svc.config.paths import PROJECT_ROOT
from interfaces.http.fastapi_app import _resolve_startup_workspace_dir, _resolve_startup_workspace_dirs
def test_resolve_startup_workspace_dir_from_agents_default() -> None:
cfg = {
"agents": {
"list": [
{"id": "main", "default": True, "workspace": "D:/project/chatgpt/oclaw/workspace-main"},
{"id": "social", "workspace": "D:/project/chatgpt/oclaw/workspace-social"},
]
}
}
got = _resolve_startup_workspace_dir(cfg)
assert got.replace("\\", "/").endswith("/oclaw/workspace-main")
def test_resolve_startup_workspace_dirs_all_agents() -> None:
cfg = {
"agents": {
"list": [
{"id": "main", "default": True, "workspace": "D:/project/chatgpt/oclaw/workspace-main"},
{"id": "social", "workspace": "D:/project/chatgpt/oclaw/workspace-social"},
]
}
}
got = _resolve_startup_workspace_dirs(cfg)
got_norm = [(aid, ws.replace("\\", "/")) for aid, ws in got]
assert ("main", "D:/project/chatgpt/oclaw/workspace-main") in got_norm
assert ("social", "D:/project/chatgpt/oclaw/workspace-social") in got_norm
def test_resolve_startup_workspace_dir_fallback_to_repo_runtime_main() -> None:
got = _resolve_startup_workspace_dir({})
expect = str((PROJECT_ROOT / "runtime" / "workspaces" / "main").resolve()).replace("\\", "/")
assert got.replace("\\", "/") == expect