forked from molecule-ai/molecule-core
fix(test): guard msg.metadata assignment for non-Message returns
new_agent_text_message returns a real Message object in production but some test mocks return a plain string. Guard with hasattr + try/except so the tool_trace assignment doesn't crash test_non_stream_events_ignored.
This commit is contained in:
parent
ed26f2733a
commit
dcbcf19da1
@ -411,8 +411,13 @@ class LangGraphA2AExecutor(AgentExecutor):
|
|||||||
# immediately as the response (a2a_client.py reads .parts[0].text).
|
# immediately as the response (a2a_client.py reads .parts[0].text).
|
||||||
# Streaming: yielded as the last SSE event in the stream.
|
# Streaming: yielded as the last SSE event in the stream.
|
||||||
msg = new_agent_text_message(final_text, task_id=task_id, context_id=context_id)
|
msg = new_agent_text_message(final_text, task_id=task_id, context_id=context_id)
|
||||||
if tool_trace:
|
# Attach tool_trace via metadata when supported. Guarded with
|
||||||
msg.metadata = {"tool_trace": tool_trace}
|
# hasattr because some test mocks return a plain string here.
|
||||||
|
if tool_trace and hasattr(msg, "metadata"):
|
||||||
|
try:
|
||||||
|
msg.metadata = {"tool_trace": tool_trace}
|
||||||
|
except (AttributeError, TypeError):
|
||||||
|
pass
|
||||||
await event_queue.enqueue_event(msg)
|
await event_queue.enqueue_event(msg)
|
||||||
_result = final_text
|
_result = final_text
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user