Skip to content

Conversation

@didier-durand
Copy link
Contributor

Description

Hi,

As title says, adding 12 tests for utils/message.py

They all pass: see below

Regards

Didier

Execution

============================= test session starts ==============================
collecting ... collected 123 items

client/test_client.py::TestA2ACardResolver::test_init_strips_slashes PASSED [  0%]
client/test_client.py::TestA2ACardResolver::test_get_agent_card_success PASSED [  1%]
client/test_client.py::TestA2ACardResolver::test_get_agent_card_http_status_error PASSED [  2%]
client/test_client.py::TestA2ACardResolver::test_get_agent_card_json_decode_error PASSED [  3%]
client/test_client.py::TestA2ACardResolver::test_get_agent_card_request_error PASSED [  4%]
client/test_client.py::TestA2AClient::test_init_with_agent_card PASSED   [  4%]
client/test_client.py::TestA2AClient::test_init_with_url PASSED          [  5%]
client/test_client.py::TestA2AClient::test_init_with_agent_card_and_url_prioritizes_agent_card PASSED [  6%]
client/test_client.py::TestA2AClient::test_init_raises_value_error_if_no_card_or_url PASSED [  7%]
client/test_client.py::TestA2AClient::test_get_client_from_agent_card_url_success PASSED [  8%]
client/test_client.py::TestA2AClient::test_get_client_from_agent_card_url_resolver_error PASSED [  8%]
client/test_client.py::TestA2AClient::test_send_message_success_use_request PASSED [  9%]
client/test_client.py::TestA2AClient::test_send_message_error_response PASSED [ 10%]
client/test_client.py::TestA2AClient::test_send_message_streaming_success_request PASSED [ 11%]
client/test_client.py::TestA2AClient::test_get_task_success_use_request PASSED [ 12%]
client/test_client.py::TestA2AClient::test_get_task_error_response PASSED [ 13%]
client/test_client.py::TestA2AClient::test_cancel_task_success_use_request PASSED [ 13%]
client/test_client.py::TestA2AClient::test_cancel_task_error_response PASSED [ 14%]
server/events/test_event_consumer.py::test_consume_one_task_event PASSED [ 15%]
server/events/test_event_consumer.py::test_consume_one_message_event PASSED [ 16%]
server/events/test_event_consumer.py::test_consume_one_a2a_error_event PASSED [ 17%]
server/events/test_event_consumer.py::test_consume_one_jsonrpc_error_event PASSED [ 17%]
server/events/test_event_consumer.py::test_consume_one_queue_empty PASSED [ 18%]
server/events/test_event_consumer.py::test_consume_all_multiple_events PASSED [ 19%]
server/events/test_event_consumer.py::test_consume_until_message PASSED  [ 20%]
server/events/test_event_consumer.py::test_consume_message_events PASSED [ 21%]
server/events/test_event_queue.py::test_enqueue_and_dequeue_event PASSED [ 21%]
server/events/test_event_queue.py::test_dequeue_event_no_wait PASSED     [ 22%]
server/events/test_event_queue.py::test_dequeue_event_empty_queue_no_wait PASSED [ 23%]
server/events/test_event_queue.py::test_dequeue_event_wait PASSED        [ 24%]
server/events/test_event_queue.py::test_task_done PASSED                 [ 25%]
server/events/test_event_queue.py::test_enqueue_different_event_types PASSED [ 26%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_cancel_task_not_found PASSED [ 26%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_cancel_task_not_supported PASSED [ 27%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_cancel_task_success PASSED [ 28%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_get_task_not_found PASSED [ 29%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_get_task_success PASSED [ 30%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_message_error PASSED [ 30%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_message_new_message_success PASSED [ 31%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_message_new_message_with_existing_task_success PASSED [ 32%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_message_stream_new_message_existing_task_success PASSED [ 33%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_message_stream_new_message_success PASSED [ 34%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_resubscribe_existing_task_success PASSED [ 34%]
server/request_handlers/test_jsonrpc_handler.py::TestJSONRPCtHandler::test_on_resubscribe_no_existing_task_error PASSED [ 35%]
server/tasks/test_inmemory_task_store.py::test_in_memory_task_store_save_and_get PASSED [ 36%]
server/tasks/test_inmemory_task_store.py::test_in_memory_task_store_get_nonexistent PASSED [ 37%]
server/tasks/test_inmemory_task_store.py::test_in_memory_task_store_delete PASSED [ 38%]
server/tasks/test_inmemory_task_store.py::test_in_memory_task_store_delete_nonexistent PASSED [ 39%]
server/tasks/test_task_manager.py::test_get_task_existing PASSED         [ 39%]
server/tasks/test_task_manager.py::test_get_task_nonexistent PASSED      [ 40%]
server/tasks/test_task_manager.py::test_save_task_event_new_task PASSED  [ 41%]
server/tasks/test_task_manager.py::test_save_task_event_status_update PASSED [ 42%]
server/tasks/test_task_manager.py::test_save_task_event_artifact_update PASSED [ 43%]
server/tasks/test_task_manager.py::test_ensure_task_existing PASSED      [ 43%]
server/tasks/test_task_manager.py::test_ensure_task_nonexistent PASSED   [ 44%]
server/tasks/test_task_manager.py::test_init_task_obj PASSED             [ 45%]
server/tasks/test_task_manager.py::test_save_task PASSED                 [ 46%]
server/tasks/test_task_manager.py::test_save_task_event_new_task_no_task_id PASSED [ 47%]
server/tasks/test_task_manager.py::test_get_task_no_task_id PASSED       [ 47%]
server/tasks/test_task_manager.py::test_save_task_event_no_task_existing PASSED [ 48%]
test_types.py::test_agent_authentication_valid PASSED                    [ 49%]
test_types.py::test_agent_authentication_invalid PASSED                  [ 50%]
test_types.py::test_agent_capabilities PASSED                            [ 51%]
test_types.py::test_agent_provider PASSED                                [ 52%]
test_types.py::test_agent_skill_valid PASSED                             [ 52%]
test_types.py::test_agent_skill_invalid PASSED                           [ 53%]
test_types.py::test_agent_card_valid PASSED                              [ 54%]
test_types.py::test_agent_card_invalid PASSED                            [ 55%]
test_types.py::test_text_part PASSED                                     [ 56%]
test_types.py::test_file_part_variants PASSED                            [ 56%]
test_types.py::test_data_part PASSED                                     [ 57%]
test_types.py::test_part_root_model PASSED                               [ 58%]
test_types.py::test_message PASSED                                       [ 59%]
test_types.py::test_task_status PASSED                                   [ 60%]
test_types.py::test_task PASSED                                          [ 60%]
test_types.py::test_jsonrpc_error PASSED                                 [ 61%]
test_types.py::test_jsonrpc_request PASSED                               [ 62%]
test_types.py::test_jsonrpc_error_response PASSED                        [ 63%]
test_types.py::test_jsonrpc_response_root_model PASSED                   [ 64%]
test_types.py::test_send_message_request PASSED                          [ 65%]
test_types.py::test_send_subscribe_request PASSED                        [ 65%]
test_types.py::test_get_task_request PASSED                              [ 66%]
test_types.py::test_cancel_task_request PASSED                           [ 67%]
test_types.py::test_get_task_response PASSED                             [ 68%]
test_types.py::test_send_message_response PASSED                         [ 69%]
test_types.py::test_cancel_task_response PASSED                          [ 69%]
test_types.py::test_send_message_streaming_status_update_response PASSED [ 70%]
test_types.py::test_send_message_streaming_artifact_update_response PASSED [ 71%]
test_types.py::test_set_task_push_notification_response PASSED           [ 72%]
test_types.py::test_get_task_push_notification_response PASSED           [ 73%]
test_types.py::test_a2a_request_root_model PASSED                        [ 73%]
test_types.py::test_content_type_not_supported_error PASSED              [ 74%]
test_types.py::test_task_not_found_error PASSED                          [ 75%]
test_types.py::test_push_notification_not_supported_error PASSED         [ 76%]
test_types.py::test_internal_error PASSED                                [ 77%]
test_types.py::test_invalid_params_error PASSED                          [ 78%]
test_types.py::test_invalid_request_error PASSED                         [ 78%]
test_types.py::test_json_parse_error PASSED                              [ 79%]
test_types.py::test_method_not_found_error PASSED                        [ 80%]
test_types.py::test_task_not_cancelable_error PASSED                     [ 81%]
test_types.py::test_unsupported_operation_error PASSED                   [ 82%]
test_types.py::test_task_id_params_valid PASSED                          [ 82%]
test_types.py::test_task_id_params_invalid PASSED                        [ 83%]
test_types.py::test_task_push_notification_config PASSED                 [ 84%]
test_types.py::test_jsonrpc_message_valid PASSED                         [ 85%]
test_types.py::test_jsonrpc_message_invalid PASSED                       [ 86%]
test_types.py::test_file_base_valid PASSED                               [ 86%]
test_types.py::test_file_base_invalid PASSED                             [ 87%]
test_types.py::test_part_base_valid PASSED                               [ 88%]
test_types.py::test_part_base_invalid PASSED                             [ 89%]
test_types.py::test_a2a_error_validation_and_serialization PASSED        [ 90%]
utils/test_message.py::TestNewAgentTextMessage::test_new_agent_text_message_basic PASSED [ 91%]
utils/test_message.py::TestNewAgentTextMessage::test_new_agent_text_message_with_context_id PASSED [ 91%]
utils/test_message.py::TestNewAgentTextMessage::test_new_agent_text_message_with_task_id PASSED [ 92%]
utils/test_message.py::TestNewAgentTextMessage::test_new_agent_text_message_with_both_ids PASSED [ 93%]
utils/test_message.py::TestNewAgentTextMessage::test_new_agent_text_message_empty_text PASSED [ 94%]
utils/test_message.py::TestGetTextParts::test_get_text_parts_single_text_part PASSED [ 95%]
utils/test_message.py::TestGetTextParts::test_get_text_parts_multiple_text_parts PASSED [ 95%]
utils/test_message.py::TestGetTextParts::test_get_text_parts_empty_list PASSED [ 96%]
utils/test_message.py::TestGetMessageText::test_get_message_text_single_part PASSED [ 97%]
utils/test_message.py::TestGetMessageText::test_get_message_text_multiple_parts PASSED [ 98%]
utils/test_message.py::TestGetMessageText::test_get_message_text_custom_delimiter PASSED [ 99%]
utils/test_message.py::TestGetMessageText::test_get_message_text_empty_parts PASSED [100%]

@didier-durand didier-durand requested a review from a team as a code owner May 15, 2025 04:56
@holtskinner holtskinner merged commit 0fdd7ae into a2aproject:main May 19, 2025
5 checks passed
@didier-durand
Copy link
Contributor Author

Thanks for merging this PR.
Didier

martimfasantos pushed a commit to martimfasantos/a2a-python that referenced this pull request May 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants