forked from cleveragents/cleveragents-core
3fe7dabb65
Implement RemoteProjectClient for accessing and executing projects hosted on a remote CleverAgents server: - Remote resource selection and server execution request wiring - Project-name resolution for remote namespaces and server aliases - Resolve project with fallback from custom to default namespace - Remote project caching with configurable TTL (default 5 min) - Explicit ResourceNotFoundError when remote project not found - Cache invalidation per-namespace or global - RemoteProject dataclass with project_id, name, namespace, alias, description - Behave scenarios (16 scenarios, 54 steps) - Robot Framework smoke tests - ASV benchmark for request overhead baseline - Reference documentation at docs/reference/server_remote_projects.md ISSUES CLOSED: #338
66 lines
2.7 KiB
Plaintext
66 lines
2.7 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration tests for Remote Project client
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_remote_project.py
|
|
|
|
*** Test Cases ***
|
|
Remote Project List
|
|
[Documentation] Verify listing remote projects
|
|
${result}= Run Process ${PYTHON} ${HELPER} list-projects cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-list-ok
|
|
|
|
Remote Project Get By Name
|
|
[Documentation] Verify getting project by name
|
|
${result}= Run Process ${PYTHON} ${HELPER} get-project cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-get-ok
|
|
|
|
Remote Project Get By Alias
|
|
[Documentation] Verify getting project by alias
|
|
${result}= Run Process ${PYTHON} ${HELPER} get-by-alias cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-alias-ok
|
|
|
|
Remote Project Not Found
|
|
[Documentation] Verify ResourceNotFoundError for missing project
|
|
${result}= Run Process ${PYTHON} ${HELPER} not-found cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-not-found-ok
|
|
|
|
Remote Project Request Execution
|
|
[Documentation] Verify requesting execution of remote project
|
|
${result}= Run Process ${PYTHON} ${HELPER} request-execution cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-exec-ok
|
|
|
|
Remote Project Cache Invalidate
|
|
[Documentation] Verify cache invalidation
|
|
${result}= Run Process ${PYTHON} ${HELPER} cache-invalidate cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-cache-ok
|
|
|
|
Remote Project Attributes
|
|
[Documentation] Verify RemoteProject attributes
|
|
${result}= Run Process ${PYTHON} ${HELPER} project-attrs cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} remote-project-attrs-ok
|