Files
Video-Tree-TRM5/tests/unit/test_steps_json_traces.py

31 lines
1.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import json
from app.harness.steps_json_traces import steps_json_to_trace_rows
def test_parses_tool_call_into_name_and_args():
# 真实 infer_adhoc steps_json 形态:tool_call={"tool":..., "args":...}(非 "name"
steps = [
{
"thought": "看根节点",
"tool_call": {"tool": "view_node", "args": {"node_id": "v_L1_000"}},
"tool_output": "o0",
},
{
"thought": "搜索",
"tool_call": {"tool": "search_similar", "args": {"query": "gadget"}},
"tool_output": "hit",
},
]
rows = steps_json_to_trace_rows("vid1", "q1", json.dumps(steps))
assert [r["step"] for r in rows] == [0, 1]
assert rows[0]["tool_name"] == "view_node"
assert rows[0]["tool_args"] == {"node_id": "v_L1_000"}
assert rows[0]["video_id"] == "vid1" and rows[0]["question_id"] == "q1"
assert rows[1]["tool_output"] == "hit"
def test_empty_or_blank_steps_json_returns_empty():
assert steps_json_to_trace_rows("v", "q", "") == []
assert steps_json_to_trace_rows("v", "q", "[]") == []