Files
cleveragents-core/robot/complexity_check.robot

44 lines
1.9 KiB
Plaintext

*** Settings ***
Documentation Integration tests for complexity checking via nox
... Validates that nox -s complexity runs radon with the correct
... configurations and produces JSON output.
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER_SCRIPT} robot/helper_complexity_check.py
*** Test Cases ***
Radon Dev Dependency Exists In Pyproject
[Documentation] Verify radon is listed as a dev dependency
[Tags] complexity config
${content}= Get File ${WORKSPACE}/pyproject.toml
Should Contain ${content} radon
Complexity Nox Session Exists
[Documentation] Verify complexity is defined as a nox session
[Tags] complexity nox
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} verify-session-exists cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} complexity-session-ok
Complexity Fail Grade Is Defined
[Documentation] Verify COMPLEXITY_FAIL_GRADE constant exists in noxfile.py
[Tags] complexity config
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} verify-fail-grade cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} fail-grade-F-ok
CI Workflow Has Quality Job
[Documentation] Verify the CI workflow has a quality job
[Tags] complexity ci
${content}= Get File ${WORKSPACE}/.forgejo/workflows/ci.yml
Should Contain ${content} quality:
CI Quality Job Runs Complexity Session
[Documentation] Verify the CI quality job runs nox -s complexity
[Tags] complexity ci
${content}= Get File ${WORKSPACE}/.forgejo/workflows/ci.yml
Should Contain ${content} nox -s complexity