Files
cleveragents-core/robot/config_resolution.robot
T
freemo c781848cb6
CI / lint (pull_request) Successful in 18s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 20s
CI / typecheck (pull_request) Successful in 30s
CI / build (pull_request) Successful in 15s
CI / security (pull_request) Successful in 29s
CI / unit_tests (pull_request) Successful in 1m59s
CI / integration_tests (pull_request) Successful in 3m35s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 3m39s
CI / lint (push) Successful in 24s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 38s
CI / quality (push) Successful in 32s
CI / build (push) Successful in 15s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m5s
CI / integration_tests (push) Successful in 4m42s
CI / docker (push) Successful in 42s
CI / coverage (push) Successful in 6m53s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 24m12s
feat(interfaces): add server client stubs
Add protocol stubs for remote server communication infrastructure:
- ServerClient: Health check and version negotiation protocol
- RemoteExecutionClient: Remote plan execution and status protocol
- AuthClient: Authentication and token management protocol
- StubServerClient/StubRemoteExecutionClient/StubAuthClient: Stub
  implementations raising NotImplementedError for all methods
- ServerConnectionConfig: Validated config model (server_url, namespace,
  auth_token_ref, tls_verify)
- Config keys: core.server_url, core.server_namespace, core.server_tls_verify
- CLI: agents connect <url> stub command with explicit warning
- CLI: agents info shows Server Mode (disabled/stubbed)

ISSUES CLOSED: #201
2026-03-02 09:47:40 -05:00

90 lines
4.2 KiB
Plaintext

*** Settings ***
Documentation End-to-end tests for Config Service with multi-level resolution
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_config_resolution.py
*** Test Cases ***
Config Service Registers All Spec Keys
[Documentation] Verify that the registry contains exactly 105 keys (102 spec + 1 skills + 2 server stubs)
${result}= Run Process ${PYTHON} ${HELPER} registry-key-count cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-registry-key-count-ok
Config Resolution Returns Default
[Documentation] Verify that resolving a key with no overrides returns the default
${result}= Run Process ${PYTHON} ${HELPER} resolve-default cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-resolution-default-ok
Config Resolution With Global Config
[Documentation] Verify that a value written to the TOML file overrides the default
${result}= Run Process ${PYTHON} ${HELPER} resolve-global cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-resolution-global-ok
Config Resolution With Env Var
[Documentation] Verify that an env var overrides the global config value
${result}= Run Process ${PYTHON} ${HELPER} resolve-env cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-resolution-env-ok
Config Resolution With CLI Override
[Documentation] Verify that cli_value has the highest priority in the chain
${result}= Run Process ${PYTHON} ${HELPER} resolve-cli cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-resolution-cli-ok
Config Resolution Project Scope
[Documentation] Verify that project-scoped config is resolved via project_name
${result}= Run Process ${PYTHON} ${HELPER} resolve-project cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-resolution-project-ok
Config Resolution Verbose Chain
[Documentation] Verify that verbose=True returns all 5 chain entries
${result}= Run Process ${PYTHON} ${HELPER} resolve-verbose-chain cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-resolution-verbose-chain-ok
Config Env Var For Provider Keys
[Documentation] Verify provider.openai.api-key maps to OPENAI_API_KEY
${result}= Run Process ${PYTHON} ${HELPER} env-var-provider cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-env-var-provider-ok
Config Validate Type Coercion
[Documentation] Verify str to int, float, and bool coercion via validate_type
${result}= Run Process ${PYTHON} ${HELPER} type-coercion cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-type-coercion-ok
Config List Command Integration
[Documentation] Verify that ``agents config list`` outputs all registered keys
${result}= Run Process ${PYTHON} ${HELPER} cli-list-integration cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-cli-list-integration-ok