Files
computer-playbook/tests
kevinveenbirkenbachandClaude Opus 4.7 78521cd90f test(lint): enforce oauth2 service-block contract per role
Adds tests/lint/ansible/roles/meta/test_oauth2_contract.py — when a
role's meta/services.yml declares oauth2 with `enabled` not literal
false (Jinja-templated `"{{ 'web-app-keycloak' in group_names }}"`
counts as truthy), the test now requires:
  * oauth2.origin.host (non-empty string)
  * oauth2.origin.port (non-empty scalar)
  * <entity>.ports.local.oauth2 (int)

These three fields are consumed at deploy time by
sys-stk-front-proxy and web-app-oauth2-proxy. Their absence
previously surfaced only as opaque `lookup('config', ...) failed`
errors mid-deploy — exactly the trap that hit web-app-shopware on the
Bundle 2 V0 deploy. web-app-shopware's services.yml is updated to
satisfy the new contract (oauth2: 16503 + origin: { host: web, port:
"8000" }).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 02:17:25 +02:00
..

Tests 🧪

All automated tests for Infinito.Nexus live here.

Directory Type Guide
unit/ Unit tests (isolated, no I/O) unit.md
integration/ Integration tests (real component boundaries) integration.md
external/ Opt-in live third-party checks, excluded from make test external.md
e2e/ End-to-end Playwright tests playwright.md
regression/ Regression guard rules regression.md
lint/ Structural lint checks lint.md

Run each suite via the make targets documented in the linked guides.