Skip to content

Commit 1211d73

Browse files
committed
add test
1 parent e6d806e commit 1211d73

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

tests/client/test_jsonrpc_client.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,60 @@ async def test_send_message_success(
378378
assert isinstance(response, Message)
379379
assert response.model_dump() == success_response.model_dump()
380380

381+
@pytest.mark.asyncio
382+
async def test_send_message_success_with_extensions(
383+
self, mock_httpx_client: AsyncMock, mock_agent_card: MagicMock
384+
):
385+
client = JsonRpcTransport(
386+
httpx_client=mock_httpx_client, agent_card=mock_agent_card
387+
)
388+
params = MessageSendParams(
389+
message=create_text_message_object(content='Hello', extensions=['test'])
390+
)
391+
success_response = create_text_message_object(
392+
role=Role.agent, content='Hi there!', extensions=['test']
393+
)
394+
rpc_response = SendMessageSuccessResponse(
395+
id='123', jsonrpc='2.0', result=success_response
396+
)
397+
response = httpx.Response(
398+
200, json=rpc_response.model_dump(mode='json')
399+
)
400+
response.request = httpx.Request('POST', 'http://agent.example.com/api')
401+
mock_httpx_client.post.return_value = response
402+
403+
response = await client.send_message(request=params)
404+
405+
assert isinstance(response, Message)
406+
assert response.model_dump() == success_response.model_dump()
407+
408+
@pytest.mark.asyncio
409+
async def test_send_message_success_with_metadata(
410+
self, mock_httpx_client: AsyncMock, mock_agent_card: MagicMock
411+
):
412+
client = JsonRpcTransport(
413+
httpx_client=mock_httpx_client, agent_card=mock_agent_card
414+
)
415+
params = MessageSendParams(
416+
message=create_text_message_object(content='Hello', metadata={'test': 'test'})
417+
)
418+
success_response = create_text_message_object(
419+
role=Role.agent, content='Hi there!', metadata={'test': 'test'}
420+
)
421+
rpc_response = SendMessageSuccessResponse(
422+
id='123', jsonrpc='2.0', result=success_response
423+
)
424+
response = httpx.Response(
425+
200, json=rpc_response.model_dump(mode='json')
426+
)
427+
response.request = httpx.Request('POST', 'http://agent.example.com/api')
428+
mock_httpx_client.post.return_value = response
429+
430+
response = await client.send_message(request=params)
431+
432+
assert isinstance(response, Message)
433+
assert response.model_dump() == success_response.model_dump()
434+
381435
@pytest.mark.asyncio
382436
async def test_send_message_error_response(
383437
self, mock_httpx_client: AsyncMock, mock_agent_card: MagicMock

0 commit comments

Comments
 (0)