Files
cleveragents-core/robot/a2a_facade.robot
T
HAL9000 6390ce1171 fix(a2a): address reviewer feedback on HTTP transport
- 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.
2026-06-14 16:11:26 -04:00

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