*** 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s 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=60s ${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