oclaw/tests/test_oclaw_generalist_executor.py
oliver 4a23b715a2 重构仓库目录为统一的 runtime 分层并清理历史 openclaw 残留。
本次迁移将网关/通道/工具/技能/脚本与协议资源集中到新结构,统一路径常量与脚本转发机制,减少顶层噪音并保证运行与测试行为一致。

Made-with: Cursor
2026-04-25 01:24:23 +08:00

28 lines
1 KiB
Python

from __future__ import annotations
import os
from pathlib import Path
from oclaw.runtime.agents.factory import build_gateway_executor
from oclaw.platform.persistence.sqlite_store import SqliteStore
def test_build_gateway_executor_defaults_to_generalist(tmp_path: Path) -> None:
store = SqliteStore(str(tmp_path / "ops.sqlite"))
ex = build_gateway_executor(store, lang="zh")
assert type(ex).__name__ == "Agent"
assert hasattr(ex, "tools")
assert hasattr(ex, "model")
def test_build_gateway_executor_generalist_run_command_is_disabled_by_default(tmp_path: Path) -> None:
os.environ.pop("AIA_ENABLE_RUN_COMMAND", None)
store = SqliteStore(str(tmp_path / "ops.sqlite"))
ex = build_gateway_executor(store, lang="zh", specialist="generalist")
run_tool = next((t for t in ex.tools.list() if t.name == "run_command"), None)
assert run_tool is not None
out = run_tool.handler({"command": "echo hi"})
assert isinstance(out, dict)
assert out.get("ok") is False
assert out.get("error") == "disabled"