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>
8 lines
688 B
Markdown
8 lines
688 B
Markdown
# When-Guard Tests 🚦
|
|
|
|
Integration tests for block-level `when:` hygiene across `roles/*/tasks/**`: max-three-task guard blocks, no duplicated when-conditions across tasks, and the pure-guarded-include pattern for role inclusion.
|
|
|
|
Tests in this directory MUST only cover rules about block-level `when:` semantics and guard-block shape. `run_once_<role>` flag lifecycle checks MUST live under [`../run_once/`](../run_once/); rules about `include_tasks` / `import_tasks` target existence MUST live under [`../includes/`](../includes/).
|
|
|
|
For framework, directory layout, and `make test-integration` usage see [integration.md](../../../../docs/contributing/actions/testing/integration.md).
|