Files
cleveragents-core/robot/cli_core.robot
khyari hamza 12845d3a3c
CI / lint (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 33s
CI / build (pull_request) Successful in 14s
CI / integration_tests (pull_request) Successful in 4m18s
CI / unit_tests (pull_request) Successful in 46m15s
CI / typecheck (pull_request) Successful in 26s
CI / docker (pull_request) Successful in 1m13s
CI / coverage (pull_request) Successful in 9m39s
fix(test): make diagnostics --check robot test CI-safe
The test now accepts both exit code 0 (no errors) and 1 (has errors)
since CI environments may have low disk space or missing tools that
trigger error-level diagnostic checks.
2026-02-18 15:28:48 +00:00

111 lines
5.7 KiB
Plaintext

*** Settings ***
Documentation Integration tests for enhanced version, info, diagnostics commands
Resource ${CURDIR}/common.resource
Library Process
Library OperatingSystem
Library String
Library Collections
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${PYTHON} python
*** Test Cases ***
Version Command Default Rich Format
[Documentation] Version command with default (rich) format shows version string
${result}= Run Process ${PYTHON} -m cleveragents version timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} 1.0.0
Should Contain ${result.stdout} CleverAgents
Version Command JSON Format
[Documentation] Version command with --format json returns valid JSON
${result}= Run Process ${PYTHON} -m cleveragents version --format json timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} "version": "1.0.0"
Should Contain ${result.stdout} "schema": "v3"
Should Contain ${result.stdout} "channel": "stable"
Should Contain ${result.stdout} "python"
Should Contain ${result.stdout} "dependencies"
Should Contain ${result.stdout} "build_date"
Should Contain ${result.stdout} "commit"
Version Command Plain Format
[Documentation] Version command with --format plain returns key-value pairs
${result}= Run Process ${PYTHON} -m cleveragents version --format plain timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} version: 1.0.0
Should Contain ${result.stdout} schema: v3
Version Command YAML Format
[Documentation] Version command with --format yaml returns YAML
${result}= Run Process ${PYTHON} -m cleveragents version --format yaml timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} version: 1.0.0
Should Contain ${result.stdout} schema: v3
Info Command Default Rich Format
[Documentation] Info command with default (rich) format shows environment details
${result}= Run Process ${PYTHON} -m cleveragents info timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} Environment
Should Contain ${result.stdout} Runtime
Info Command JSON Format
[Documentation] Info command with --format json returns structured data
${result}= Run Process ${PYTHON} -m cleveragents info --format json timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} "version": "1.0.0"
Should Contain ${result.stdout} "data_dir"
Should Contain ${result.stdout} "database"
Should Contain ${result.stdout} "server_mode": "disabled"
Info Command Plain Format
[Documentation] Info command with --format plain returns key-value pairs
${result}= Run Process ${PYTHON} -m cleveragents info --format plain timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} version: 1.0.0
Should Contain ${result.stdout} server_mode: disabled
Diagnostics Command Default Rich Format
[Documentation] Diagnostics command with default (rich) format runs checks
${result}= Run Process ${PYTHON} -m cleveragents diagnostics timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} Checks
Should Contain ${result.stdout} Summary
Diagnostics Command JSON Format
[Documentation] Diagnostics command with --format json returns structured data
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --format json timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} "checks"
Should Contain ${result.stdout} "summary"
Should Contain ${result.stdout} "recommendations"
Should Contain ${result.stdout} "total"
Should Contain ${result.stdout} "warnings"
Should Contain ${result.stdout} "errors"
Diagnostics Command Plain Format
[Documentation] Diagnostics command with --format plain returns key-value pairs
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --format plain timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} checks:
Should Contain ${result.stdout} summary:
Diagnostics Command Check Flag Returns Valid Exit Code
[Documentation] Diagnostics --check exits 0 (no errors) or 1 (has errors) without crashing
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --check --format json timeout=30s
Should Be True ${result.rc} == 0 or ${result.rc} == 1 Unexpected exit code: ${result.rc}
Should Contain ${result.stdout} "checks"
Should Contain ${result.stdout} "has_errors"
Diagnostics Command Performance
[Documentation] Diagnostics command completes within acceptable time
${start}= Get Time epoch
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --format json timeout=30s
${end}= Get Time epoch
${duration}= Evaluate ${end} - ${start}
Should Be True ${duration} < 30 Diagnostics took too long: ${duration}s
Should Be Equal As Integers ${result.rc} 0