Files
cleveragents-core/robot/remote_project.robot
freemo 3fe7dabb65 feat(client): add remote project support
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
2026-03-24 20:28:19 +00:00

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