forked from cleveragents/cleveragents-core
74 lines
3.4 KiB
Plaintext
74 lines
3.4 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 Resolution Returns Default Value
|
|
[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 Uses Global Config File
|
|
[Documentation] Verify that a value set in the global TOML file overrides 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 Uses Environment Variable
|
|
[Documentation] Verify that env var overrides global config
|
|
${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 Uses CLI Flag
|
|
[Documentation] Verify that CLI flag has highest priority
|
|
${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 Rejects Unknown Key
|
|
[Documentation] Verify that unknown keys raise ValueError
|
|
${result}= Run Process ${PYTHON} ${HELPER} resolve-unknown-key cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} config-resolution-unknown-key-ok
|
|
|
|
Config Resolution Performs Type Coercion
|
|
[Documentation] Verify that string env vars are coerced to proper types
|
|
${result}= Run Process ${PYTHON} ${HELPER} resolve-type-coercion cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} config-resolution-type-coercion-ok
|
|
|
|
Config Registry Contains Expected Keys
|
|
[Documentation] Verify that the registry has the expected key catalog
|
|
${result}= Run Process ${PYTHON} ${HELPER} registry-keys cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} config-resolution-registry-ok
|
|
|
|
Config Env Var Naming Convention
|
|
[Documentation] Verify CLEVERAGENTS_<SECTION>_<KEY> naming convention
|
|
${result}= Run Process ${PYTHON} ${HELPER} env-var-convention cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} config-resolution-env-convention-ok
|