mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Introduce seven new top-level clusters under tests/integration/:
cli/ - CLI subcommand --help smoke tests
config/ - uniform rules over roles/*/config/main.yml (non-empty,
CSP shape, universal-logout bool)
lookups/ - custom lookup-plugin behavior (config-path validation,
runtime caching perf)
vars/ - cross-role vars/defaults hygiene (uppercase uniqueness,
fact override prohibition)
inventory/ - utils/manager/inventory integration
spots/ - role-specific spot checks (dashboard OIDC, keycloak
realm import); home for future test_<role>_<aspect>.py
playbooks/ - playbook-level wiring (invokable-paths filter ->
tasks/stages + tasks/groups/*-roles.yml)
Under tests/integration/roles/ add two sub-clusters:
when/ - block-level when: hygiene (guards, duplication, block size)
includes/ - include_tasks/import_tasks/include_role/import_role target
existence (roles-scope and whole-repo-scope, kept separate
for now)
Move 14 previously unclustered tests into these clusters, adjust path
depths accordingly (from +1 to +2 levels for most, walker-based tests
unchanged), strip stale file-path header comments, and extend
tests/integration/roles/README.md to document the new sub-clusters.
No behavior change; every new cluster passes locally.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
681 B
681 B
Include/Import Existence Tests 📎
Integration tests that enforce every include_tasks / import_tasks / include_role / import_role target referenced from role tasks (and other project YAML) resolves to an existing file.
Tests in this directory MUST only cover target-existence rules for include_* / import_* directives. Rules about the block-level when: wrapping those includes MUST live under ../when/; rules about run_once_<role> flag inclusion MUST live under ../run_once/.
For framework, directory layout, and make test-integration usage see integration.md.