Skip to content

Commit 9ebb1e3

Browse files
Fix ChatMessage and Role API changes in a2a and lab packages
- Fix a2a tests: Role comparisons and ChatMessage signatures - Fix lab tau2 source: Role enum comparison in flip_messages, log_messages, sliding_window - Fix lab tau2 tests: ChatMessage signatures and Role comparisons
1 parent 0e56ecf commit 9ebb1e3

23 files changed

+5771
-88
lines changed

python/packages/a2a/tests/test_a2a_agent.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ async def test_run_with_message_response(a2a_agent: A2AAgent, mock_a2a_client: M
128128

129129
assert isinstance(response, AgentResponse)
130130
assert len(response.messages) == 1
131-
assert response.messages[0].role == "assistant"
131+
assert response.messages[0].role.value == "assistant"
132132
assert response.messages[0].text == "Hello from agent!"
133133
assert response.response_id == "msg-123"
134134
assert mock_a2a_client.call_count == 1
@@ -143,7 +143,7 @@ async def test_run_with_task_response_single_artifact(a2a_agent: A2AAgent, mock_
143143

144144
assert isinstance(response, AgentResponse)
145145
assert len(response.messages) == 1
146-
assert response.messages[0].role == "assistant"
146+
assert response.messages[0].role.value == "assistant"
147147
assert response.messages[0].text == "Generated report content"
148148
assert response.response_id == "task-456"
149149
assert mock_a2a_client.call_count == 1
@@ -169,7 +169,7 @@ async def test_run_with_task_response_multiple_artifacts(a2a_agent: A2AAgent, mo
169169

170170
# All should be assistant messages
171171
for message in response.messages:
172-
assert message.role == "assistant"
172+
assert message.role.value == "assistant"
173173

174174
assert response.response_id == "task-789"
175175

@@ -232,7 +232,7 @@ def test_parse_messages_from_task_with_artifacts(a2a_agent: A2AAgent) -> None:
232232
assert len(result) == 2
233233
assert result[0].text == "Content 1"
234234
assert result[1].text == "Content 2"
235-
assert all(msg.role == "assistant" for msg in result)
235+
assert all(msg.role.value == "assistant" for msg in result)
236236

237237

238238
def test_parse_message_from_artifact(a2a_agent: A2AAgent) -> None:
@@ -251,7 +251,7 @@ def test_parse_message_from_artifact(a2a_agent: A2AAgent) -> None:
251251
result = a2a_agent._parse_message_from_artifact(artifact)
252252

253253
assert isinstance(result, ChatMessage)
254-
assert result.role == "assistant"
254+
assert result.role.value == "assistant"
255255
assert result.text == "Artifact content"
256256
assert result.raw_representation == artifact
257257

@@ -295,7 +295,7 @@ def test_prepare_message_for_a2a_with_error_content(a2a_agent: A2AAgent) -> None
295295

296296
# Create ChatMessage with ErrorContent
297297
error_content = Content.from_error(message="Test error message")
298-
message = ChatMessage("user", [error_content])
298+
message = ChatMessage(role="user", contents=[error_content])
299299

300300
# Convert to A2A message
301301
a2a_message = a2a_agent._prepare_message_for_a2a(message)
@@ -310,7 +310,7 @@ def test_prepare_message_for_a2a_with_uri_content(a2a_agent: A2AAgent) -> None:
310310

311311
# Create ChatMessage with UriContent
312312
uri_content = Content.from_uri(uri="http://example.com/file.pdf", media_type="application/pdf")
313-
message = ChatMessage("user", [uri_content])
313+
message = ChatMessage(role="user", contents=[uri_content])
314314

315315
# Convert to A2A message
316316
a2a_message = a2a_agent._prepare_message_for_a2a(message)
@@ -326,7 +326,7 @@ def test_prepare_message_for_a2a_with_data_content(a2a_agent: A2AAgent) -> None:
326326

327327
# Create ChatMessage with DataContent (base64 data URI)
328328
data_content = Content.from_uri(uri="data:text/plain;base64,SGVsbG8gV29ybGQ=", media_type="text/plain")
329-
message = ChatMessage("user", [data_content])
329+
message = ChatMessage(role="user", contents=[data_content])
330330

331331
# Convert to A2A message
332332
a2a_message = a2a_agent._prepare_message_for_a2a(message)
@@ -340,7 +340,7 @@ def test_prepare_message_for_a2a_with_data_content(a2a_agent: A2AAgent) -> None:
340340
def test_prepare_message_for_a2a_empty_contents_raises_error(a2a_agent: A2AAgent) -> None:
341341
"""Test _prepare_message_for_a2a with empty contents raises ValueError."""
342342
# Create ChatMessage with no contents
343-
message = ChatMessage("user", [])
343+
message = ChatMessage(role="user", contents=[])
344344

345345
# Should raise ValueError for empty contents
346346
with raises(ValueError, match="ChatMessage.contents is empty"):
@@ -359,7 +359,7 @@ async def test_run_streaming_with_message_response(a2a_agent: A2AAgent, mock_a2a
359359
# Verify streaming response
360360
assert len(updates) == 1
361361
assert isinstance(updates[0], AgentResponseUpdate)
362-
assert updates[0].role == "assistant"
362+
assert updates[0].role.value == "assistant"
363363
assert len(updates[0].contents) == 1
364364

365365
content = updates[0].contents[0]

0 commit comments

Comments
 (0)