*** Settings *** Documentation Integration tests for security scanning via nox ... Validates that nox -s security_scan runs Bandit, Semgrep, and Vulture ... with the correct configurations. Resource ${CURDIR}/common.resource Suite Setup Setup Test Environment Suite Teardown Cleanup Test Environment *** Variables *** ${HELPER_SCRIPT} robot/helper_security_scan.py *** Test Cases *** Bandit Config Exists In Pyproject [Documentation] Verify bandit configuration section exists in pyproject.toml [Tags] security config ${content}= Get File ${WORKSPACE}/pyproject.toml Should Contain ${content} [tool.bandit] Semgrep Config File Exists [Documentation] Verify .semgrep.yml exists at project root [Tags] security config File Should Exist ${WORKSPACE}/.semgrep.yml Semgrep Config Contains Rules [Documentation] Verify .semgrep.yml has at least one rule defined [Tags] security config ${content}= Get File ${WORKSPACE}/.semgrep.yml Should Contain ${content} rules: Pre-commit Config Has Bandit Hook [Documentation] Verify bandit hook is declared in pre-commit config [Tags] security precommit ${content}= Get File ${WORKSPACE}/.pre-commit-config.yaml Should Contain ${content} id: bandit Pre-commit Config Has Semgrep Hook [Documentation] Verify semgrep hook is declared in pre-commit config [Tags] security precommit ${content}= Get File ${WORKSPACE}/.pre-commit-config.yaml Should Contain ${content} id: semgrep-eval-exec Nox Security Scan Session Exists [Documentation] Verify security_scan is listed as a nox session [Tags] security nox ${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} verify-session-exists cwd=${WORKSPACE} Should Be Equal As Integers ${result.rc} 0 Should Contain ${result.stdout} security-scan-session-ok