6390ce1171
- Remove misplaced pytest test files: tests/unit/a2a_test_http_transport.py, tests/unit/__init__.py, and features/steps/test_a2a_http_transport_pytest.py. Project layout uses Behave in features/ exclusively per CONTRIBUTING.md. - Resolve AmbiguousStep crash in features/steps/a2a_facade_steps.py by deduplicating step_transport_connect / step_transport_disconnect / "the transport should not be connected" definitions left over from the pre-implementation stub. - Remove all `# type: ignore[arg-type]` comments (zero-tolerance policy). - Fix ruff lint failures in src/cleveragents/a2a/transport.py: drop unused imports (Any, map_domain_error, BaseHandler, OpenerDirector), wrap long log lines (E501), and switch ssl.VerifyMode literal 0 to CERT_NONE for pyright compliance. - Update Robot helpers (robot/helper_a2a_facade.py, robot/helper_m6_autonomy_acceptance.py) and the m6 / consolidated Behave scenarios to verify the new server-mode lifecycle (connect succeeds with valid URL, send-before-connect raises RuntimeError, invalid scheme raises ValueError) instead of the obsolete "stub raises A2aNotAvailableError" contract. - Broaden the "I try to connect via the transport to ..." regex so the invalid-URL scenario outline matches the empty-string / quoted / None example cells; alias "I disconnect the transport" with @then so it is reachable from `And` after a `Then` keyword.
55 lines
2.3 KiB
Plaintext
55 lines
2.3 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for A2A local facade and server stubs
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_a2a_facade.py
|
|
|
|
*** Test Cases ***
|
|
A2A Local Facade Dispatch Session Create
|
|
[Documentation] Verify local facade dispatches session.create successfully
|
|
[Tags] tdd_issue tdd_issue_4190
|
|
${result}= Run Process ${PYTHON} ${HELPER} facade-dispatch cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} a2a-facade-dispatch-ok
|
|
|
|
A2A HTTP Transport Lifecycle
|
|
[Documentation] Verify server-mode HTTP transport connect/send/disconnect lifecycle
|
|
[Tags] tdd_issue tdd_issue_4190
|
|
${result}= Run Process ${PYTHON} ${HELPER} transport-stub cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} a2a-transport-stub-ok
|
|
|
|
A2A Event Queue Local Mode
|
|
[Documentation] Verify event queue publish and subscribe work locally
|
|
[Tags] tdd_issue tdd_issue_4190
|
|
${result}= Run Process ${PYTHON} ${HELPER} event-queue cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} a2a-event-queue-ok
|
|
|
|
A2A Version Negotiation
|
|
[Documentation] Verify version negotiation succeeds for 1.0 and fails for 2.0
|
|
[Tags] tdd_issue tdd_issue_4199
|
|
${result}= Run Process ${PYTHON} ${HELPER} version-negotiate cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} a2a-version-negotiate-ok
|
|
|
|
A2A Operation Listing
|
|
[Documentation] Verify list_operations returns all expected operations
|
|
[Tags] tdd_issue tdd_issue_4190
|
|
${result}= Run Process ${PYTHON} ${HELPER} list-operations cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} a2a-list-operations-ok
|