- 添加MinIO用户文件系统配置选项(BEAVER_MINIO_ROOT_USER等) - 更新外部连接器配置结构,包括BASE_URL和认证令牌设置 - 改进connector provider支持更多类型(official, feishu_bot等) - 实现Mistral模型推理模式支持reasoning_effort参数 - 增强外部连接器策略配置和运行时配置管理 - 添加connector bridge事件验证和安全保护机制 - 优化任务路由逻辑,区分simple_chat和new_task场景 - 更新初始技能工具提示配置,分离authoring admin功能
59 lines
2.2 KiB
Python
59 lines
2.2 KiB
Python
from __future__ import annotations
|
|
|
|
import importlib.util
|
|
from pathlib import Path
|
|
from typing import Any
|
|
|
|
|
|
SERVER_PATH = Path(__file__).resolve().parents[1] / "server.py"
|
|
|
|
|
|
def _load_server_module():
|
|
spec = importlib.util.spec_from_file_location("deploy_control_server_connector_tests", SERVER_PATH)
|
|
assert spec and spec.loader
|
|
module = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(module)
|
|
return module
|
|
|
|
|
|
def test_new_instance_receives_external_connector_configuration(monkeypatch) -> None:
|
|
server = _load_server_module()
|
|
commands: list[list[str]] = []
|
|
record: dict[str, Any] = {
|
|
"instance_id": "terminaltest",
|
|
"container_name": "app-instance-terminaltest",
|
|
"host_port": 20001,
|
|
"public_url": "http://terminaltest.example.test",
|
|
}
|
|
lookups = iter([None, None, record])
|
|
|
|
monkeypatch.setattr(server, "get_registry_record", lambda **_kwargs: next(lookups))
|
|
monkeypatch.setattr(server, "ensure_network", lambda: None)
|
|
monkeypatch.setattr(server, "ensure_proxy", lambda: None)
|
|
monkeypatch.setattr(server, "wait_for_backend", lambda _record: None)
|
|
monkeypatch.setattr(server, "DEFAULT_EXTERNAL_CONNECTOR_BASE_URL", "http://external-connector:8787")
|
|
monkeypatch.setattr(server, "DEFAULT_EXTERNAL_CONNECTOR_TOKEN", "connector-token")
|
|
monkeypatch.setattr(server, "DEFAULT_BEAVER_BRIDGE_TOKEN", "bridge-token")
|
|
monkeypatch.setattr(server, "DEFAULT_INITIAL_SKILLS_DIR", "/srv/beaver/skills")
|
|
|
|
def capture_command(args: list[str], **_kwargs: Any) -> str:
|
|
commands.append(args)
|
|
return ""
|
|
|
|
monkeypatch.setattr(server, "run_command", capture_command)
|
|
|
|
result = server.create_or_get_instance(
|
|
{
|
|
"username": "terminaltest",
|
|
"password": "secret",
|
|
"instance_id": "terminaltest",
|
|
}
|
|
)
|
|
|
|
command = commands[0]
|
|
assert command[command.index("--external-connector-base-url") + 1] == "http://external-connector:8787"
|
|
assert command[command.index("--external-connector-token") + 1] == "connector-token"
|
|
assert command[command.index("--bridge-token") + 1] == "bridge-token"
|
|
assert command[command.index("--initial-skills-dir") + 1] == "/srv/beaver/skills"
|
|
assert result["created"] is True
|