Files
computer-playbook/tests/integration/infrastructure
kevinveenbirkenbachandClaude Opus 4.7 8c26810937 fix(lint): four more lint findings surfaced by full make test
* tests/unit/cli/administration/deploy/swarm/test_closure.py — drop
  the `parents[6]` + `nocheck: project-root-import` combo. The
  file-path loader still bypasses the dedicated CLI's heavy package
  __init__, but the path now comes from the canonical
  `from utils import PROJECT_ROOT` so the project-root-import lint
  passes without a per-line opt-out.

* utils/tests/swarm/write_extras.py — restructure the
  `Path.read_text()` call onto a single line so the
  `# nocheck: cache-read` annotation lands on the call site itself.
  Autoformat had previously line-broken the chained `.strip()`
  expression and pushed the marker onto a different line, making
  the suppression invisible to the lint scanner.

* tests/integration/infrastructure/compose/test_compose_volumes_call_required.py —
  the `test_no_template_uses_deprecated_pipe_form` walker used a raw
  `roles_dir.rglob("templates/**/*.j2")`, which trips
  `test_no_raw_project_walk` in the lint suite. Switch to the cached
  `iter_project_files()` helper with a roles-prefix + `/templates/`
  filter; behaviour is unchanged but the walk goes through the
  shared SPOT.

* roles/svc-cache-registry/meta/services.yml — annotate the role
  with `# nocheck: required-by-coverage`. svc-cache-registry is
  intentionally opt-in via `default_placement: manager` plus the
  swarm CLI closure, NOT via a downstream `required_by` chain, so
  the lint's non-invokable-without-required_by check would otherwise
  reject it.

`make autoformat` passes. `make test` is now green across lint /
test-external / test-integration / test-lint / test-unit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 03:13:50 +02:00
..

Infrastructure Integration Tests 🏗️

Integration tests for the deployment substrate that every role shares: Docker Compose templates, Docker image consistency, container networks, the shared service registry, and the backups contract.

Each child directory pins one infrastructure surface; see the per-directory README for scope. Ansible-native artefacts (filters, lookups, playbooks) live under ansible/; IAM concerns under iam/; per-role structural rules under roles/.

For framework and make test-integration usage see integration.md.