Files
cleveragents-core/robot/invariant_cli.robot
T
freemo 2d4b330f75
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 14s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 30s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / security (pull_request) Successful in 33s
CI / integration_tests (pull_request) Successful in 2m49s
CI / unit_tests (pull_request) Successful in 5m25s
CI / docker (pull_request) Has been skipped
feat(invariant): add invariant models and enforcement
2026-02-22 09:23:35 +00:00

66 lines
3.1 KiB
Plaintext

*** Settings ***
Documentation Smoke tests for Invariant CLI commands
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_invariant_cli.py
*** Test Cases ***
Invariant Add Global
[Documentation] Verify that ``invariant add --global`` creates a global invariant
${result}= Run Process ${PYTHON} ${HELPER} add-global cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-add-global-ok
Invariant Add Project
[Documentation] Verify that ``invariant add --project`` creates a project invariant
${result}= Run Process ${PYTHON} ${HELPER} add-project cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-add-project-ok
Invariant Add Plan
[Documentation] Verify that ``invariant add --plan`` creates a plan invariant
${result}= Run Process ${PYTHON} ${HELPER} add-plan cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-add-plan-ok
Invariant Add Action
[Documentation] Verify that ``invariant add --action`` creates an action invariant
${result}= Run Process ${PYTHON} ${HELPER} add-action cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-add-action-ok
Invariant List Empty
[Documentation] Verify that ``invariant list`` works when no invariants exist
${result}= Run Process ${PYTHON} ${HELPER} list-empty cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-list-empty-ok
Invariant List With Filter
[Documentation] Verify that ``invariant list --global`` filters by scope
${result}= Run Process ${PYTHON} ${HELPER} list-filter cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-list-filter-ok
Invariant Remove
[Documentation] Verify that ``invariant remove --yes`` soft-deletes
${result}= Run Process ${PYTHON} ${HELPER} remove cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-remove-ok
Invariant Scope Conflict Rejected
[Documentation] Verify that conflicting scope flags are rejected
${result}= Run Process ${PYTHON} ${HELPER} scope-conflict cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-scope-conflict-ok
Invariant List JSON Format
[Documentation] Verify that ``invariant list --format json`` outputs JSON
${result}= Run Process ${PYTHON} ${HELPER} list-json cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} invariant-list-json-ok