diff --git a/backend/tests/test_provider_ref_runtime.py b/backend/tests/test_provider_ref_runtime.py index 8ee6ed9f..21558365 100644 --- a/backend/tests/test_provider_ref_runtime.py +++ b/backend/tests/test_provider_ref_runtime.py @@ -166,6 +166,11 @@ NODES = { "llm": lambda ref: node("ask", "llm", "提问", provider=ref, prompt="总结本周情况"), "agent": lambda ref: node("ask", "agent", "查数作答", provider=ref, prompt="回答问题"), "report": lambda ref: node("ask", "report", "写周报", provider=ref, instructions="写周报"), + # 下面两种的执行器不自己接这个错,由编排层按「执行出错:原因」报出,原因和提示一样都在 + "supervisor": lambda ref: node("ask", "supervisor", "协作", provider=ref, goal="分析本周销售", + agents=[{"name": "分析师", "system": "你是销售分析师"}]), + "branch": lambda ref: node("ask", "branch", "分流", mode="llm", provider=ref, + cases=[{"key": "follow", "label": "需要跟进"}]), } @@ -173,8 +178,11 @@ NODES = { @pytest.mark.parametrize("kind", list(NODES)) async def test_a_node_naming_a_broken_provider_fails_and_says_why(monkeypatch, kind, ref): called = script(monkeypatch) - spec = chain(node("start", "input"), NODES[kind](ref), - node("out", "output", fields=[{"name": "结果", "value": "{{ last_message }}"}])) + out = node("out", "output", fields=[{"name": "结果", "value": "{{ last_message }}"}]) + spec = chain(node("start", "input"), NODES[kind](ref), out) + if kind == "branch": + spec["edges"][1]["sourceHandle"] = "follow" + spec["edges"].append({"source": "ask", "target": "out", "sourceHandle": "default"}) run = await start(spec) assert run.status == "failed" assert REASONS[ref] in run.error and HINTS[ref] in run.error, run.error diff --git a/backend/tests/test_provider_resolution.py b/backend/tests/test_provider_resolution.py index 3a02ee0d..9e933bee 100644 --- a/backend/tests/test_provider_resolution.py +++ b/backend/tests/test_provider_resolution.py @@ -87,7 +87,7 @@ async def test_a_named_provider_that_does_not_exist_is_an_error_not_the_mock(ses async def test_a_named_provider_is_missing_even_when_no_provider_exists_at_all(session): - """一个接入都没有、却点了名:点名的那个照样不存在,不能因为「什么都没配」就退回演示模型。""" + """一个接入都没有、却点了名:点名的那个仍然不存在,不能因为「什么都没配」就退回演示模型。""" with pytest.raises(ProviderNotConfigured) as e: await get_chat_model(session, ModelSpec(provider="已删除的接入")) assert e.value.code == "missing" and "已删除的接入" in str(e.value)