test: 阶段C 评审 P2 补 advisor 归属覆盖与空 product_id 单测(345 绿)

This commit is contained in:
2026-09-07 10:31:58 +08:00
parent 930ea9db56
commit c92d8c7783
+33
View File
@@ -55,6 +55,11 @@ def risk_env(monkeypatch):
" VALUES ('P-001', '稳健一号', 'R1', 'fund'),"
" ('P-002', '高风权益', 'R5', 'fund')")
)
# advisor 归属:STAFF-10086 与 CUST-9527 active(CUST-1001 无归属,验证 NOT_ASSIGNED)
conn.execute(
text("INSERT INTO core_customer_advisor (advisor_id, customer_id, rel_status)"
" VALUES ('STAFF-10086', 'CUST-9527', 'active')")
)
# 预警:CUST-9527 今日 pending(ALERT-001)+ 昨日 pending(ALERT-002)
conn.execute(
text("INSERT INTO risk_alert (alert_id, trace_id, customer_id, trade_id, alert_type,"
@@ -231,6 +236,34 @@ def test_suitability_check_unknown_param_blocked(risk_env):
assert record["status"] == "blocked" and record["error_code"] == "TOOL_BAD_PARAM"
def test_suitability_check_empty_product_id_not_found(risk_env):
"""空 product_id 经白名单放行但产品缺失 → 结构化 found=False(不抛异常污染对话)。"""
record = tool_service.run_tool(
tool_name="suitability_check", agent_type="customer", actor=ACTOR_CUSTOMER,
customer_id="CUST-9527", tool_input={"product_id": ""}, session_id="sess-s5",
)
assert record["status"] == "success" and record["data"]["found"] is False
# ---------- advisor 分支归属(评审 P2:锁死 agent 分支) ----------
def test_advisor_assigned_customer_success(risk_env):
record = tool_service.run_tool(
tool_name="customer_context", agent_type="advisor", actor=ACTOR_ADVISOR,
customer_id="CUST-9527", session_id="sess-ad1",
)
assert record["status"] == "success" and record["data"]["found"] is True
def test_advisor_not_assigned_blocked(risk_env):
record = tool_service.run_tool(
tool_name="customer_context", agent_type="advisor", actor=ACTOR_ADVISOR,
customer_id="CUST-1001", session_id="sess-ad2",
)
assert record["status"] == "blocked" and record["error_code"] == "AUTH_403_NOT_ASSIGNED"
# ---------- aml_lookup ----------