forked from cleveragents/cleveragents-core
8e9aa7af48
- Promote _request() to public method request() in ServerHttpClient to fix encapsulation violation across sync_client and remote_project - Fix WebSocket connect() to raise NotImplementedError with clear TODO documenting that real websockets transport is not yet implemented - Fix thread safety: protect last_event_id write under self._lock in ws_client.process_event() - Broaden exception handling in sync() to catch ServerTimeoutError and A2aNotAvailableError in addition to ServerConnectionError - Add has_next to PageResult in benchmark and test helpers - Add comments explaining Retry-After header logging-only behavior and why blocking time.sleep is acceptable in sync client - Update all test steps, robot helpers, and benchmarks to use the renamed public request() method and updated connect() behavior Refs: #335, #336, #337, #338
82 lines
3.3 KiB
Plaintext
82 lines
3.3 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration tests for WebSocket updates client
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_websocket_updates.py
|
|
|
|
*** Test Cases ***
|
|
WS Connect Raises NotImplementedError
|
|
[Documentation] Verify connect raises NotImplementedError until real transport is available
|
|
${result}= Run Process ${PYTHON} ${HELPER} connect-raises cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-connect-raises-ok
|
|
|
|
WS Subscribe Event
|
|
[Documentation] Verify event subscription and dispatch
|
|
${result}= Run Process ${PYTHON} ${HELPER} subscribe-event cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-subscribe-event-ok
|
|
|
|
WS Dedup Event
|
|
[Documentation] Verify duplicate event detection
|
|
${result}= Run Process ${PYTHON} ${HELPER} dedup-event cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-dedup-event-ok
|
|
|
|
WS Reconnect
|
|
[Documentation] Verify reconnection with backoff
|
|
${result}= Run Process ${PYTHON} ${HELPER} reconnect cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-reconnect-ok
|
|
|
|
WS Reconnect Exhaust
|
|
[Documentation] Verify exhausted reconnects raise error
|
|
${result}= Run Process ${PYTHON} ${HELPER} reconnect-exhaust cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-reconnect-exhaust-ok
|
|
|
|
WS Heartbeat
|
|
[Documentation] Verify heartbeat resets reconnect counter
|
|
${result}= Run Process ${PYTHON} ${HELPER} heartbeat cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-heartbeat-ok
|
|
|
|
WS Deduplicator
|
|
[Documentation] Verify EventDeduplicator behavior
|
|
${result}= Run Process ${PYTHON} ${HELPER} deduplicator cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-deduplicator-ok
|
|
|
|
WS Connection State
|
|
[Documentation] Verify ConnectionState reset
|
|
${result}= Run Process ${PYTHON} ${HELPER} connection-state cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} ws-connection-state-ok
|
|
|
|
WS Version Negotiate
|
|
[Documentation] Verify version negotiation
|
|
${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} ws-version-negotiate-ok
|