Skip to content

fix(tck): resolve capability test failures for extensions and push notifications#2

Open
sherryfox wants to merge 1 commit intoehsavoie:0.3-workflowsfrom
sherryfox:tck-fixes-for-gson
Open

fix(tck): resolve capability test failures for extensions and push notifications#2
sherryfox wants to merge 1 commit intoehsavoie:0.3-workflowsfrom
sherryfox:tck-fixes-for-gson

Conversation

@sherryfox
Copy link
Copy Markdown

  • Default extensions to an empty list in AgentCapabilities to ensure it serializes as an array, fixing test_capabilities_structure.
  • Save pushNotificationConfig in onMessageSend for non-streaming messages, fixing test_send_message_with_push_notification_config

Failures before the fixes:

========================================================= FAILURES ==========================================================
________________________________________________ test_capabilities_structure ________________________________________________
tests/optional/capabilities/test_agent_card_optional.py:87: in test_capabilities_structure
    assert isinstance(extensions, list), "extensions must be an array"
E   AssertionError: extensions must be an array
E   assert False
E    +  where False = isinstance(None, list)
______________________________________________ test_agent_extensions_structure ______________________________________________
tests/optional/capabilities/test_agent_card_optional.py:153: in test_agent_extensions_structure
    assert isinstance(extensions, list), "extensions must be an array"
E   AssertionError: extensions must be an array
E   assert False
E    +  where False = isinstance(None, list)
______________________________________ test_send_message_with_push_notification_config ______________________________________
tests/optional/capabilities/test_push_notification_config_methods.py:511: in test_send_message_with_push_notification_config
    assert found_config, (
E   AssertionError: Push notification config from SendMessageConfiguration was not found in task configs. Expected URL: http://localhost:8888/webhook. Retrieved 0 config(s): []. This indicates the pushNotificationConfig in SendMessageConfiguration was ignored.
E   assert False
----------------------------------------------------- Captured log call -----------------------------------------------------
ERROR    tests.optional.capabilities.test_push_notification_config_methods:test_push_notification_config_methods.py:507 ❌ Push notification config from SendMessageConfiguration was NOT found!
ERROR    tests.optional.capabilities.test_push_notification_config_methods:test_push_notification_config_methods.py:508 Expected URL: http://localhost:8888/webhook
ERROR    tests.optional.capabilities.test_push_notification_config_methods:test_push_notification_config_methods.py:509 Available configs: []
================================================== short test summary info ==================================================
FAILED tests/optional/capabilities/test_agent_card_optional.py::test_capabilities_structure - AssertionError: extensions must be an array
FAILED tests/optional/capabilities/test_agent_card_optional.py::test_agent_extensions_structure - AssertionError: extensions must be an array
FAILED tests/optional/capabilities/test_push_notification_config_methods.py::test_send_message_with_push_notification_config - AssertionError: Push notification config from SendMessageConfiguration was not found in task configs. Expected URL: http...
3 failed, 33 passed, 39 skipped, 1 xfailed in 14.86s

After the fixes all tests are passing:

================================================================================
📊 COMPREHENSIVE TEST RESULTS SUMMARY
================================================================================

🔴 Mandatory Tests:           ✅ PASSED (p:31/f:0/x:0/e:0/s:2)
🔄 Capability Tests:          ✅ PASSED (p:36/f:0/x:1/e:0/s:39)
🚀 Transport Equivalence:     ✅ PASSED (p:12/f:0/x:0/e:0/s:4)
🛡️  Quality Tests:             ✅ PASSED (p:14/f:0/x:0/e:0/s:0)
🎨 Feature Tests:             ✅ PASSED (p:15/f:0/x:0/e:0/s:1)

🎉 A2A COMPLIANCE: ✅ PASSED
Your implementation meets A2A specification requirements!
🔄 CAPABILITY HONESTY: ✅ EXCELLENT
All declared capabilities work correctly!
🛡️  PRODUCTION QUALITY: ✅ HIGH
Implementation is robust and production-ready!
🎨 FEATURE COMPLETENESS: ✅ COMPREHENSIVE
Implementation includes valuable optional features!

🏆 OUTSTANDING A2A IMPLEMENTATION!

…tifications

- Default `extensions` to an empty list in `AgentCapabilities` to ensure it serializes as an array, fixing `test_capabilities_structure`.
- Save `pushNotificationConfig` in `onMessageSend` for non-streaming messages, fixing `test_send_message_with_push_notification_config`
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.

1 participant