user-engine/tests
tegwick 4622b64061 Authenticate flex-auth calls with a rotating caller token
Closes the caller side of FLEX-WP-0015. FlexAuthHTTPAdapter reads the
audience-scoped projected ServiceAccount token from a file on every decision,
so hourly rotation needs no restart, and runtime configuration now requires
USER_ENGINE_FLEX_AUTH_TOKEN_FILE.

A missing, empty, or unreadable token file fails closed as a denial without
reaching flex-auth: OSError joins the caught set and an empty read raises.
Coverage proves all three unusable-token cases deny before any request is
made, and that neither the deny reason nor the decision repr carries the
token value.

Tenant-authority reads now identify user-engine as actor `user-engine` under
the protected tenant.read action, keeping tenant ids opaque and URL-encoded.

Contract: docs/flex-auth-caller-identity.md. Full suite: 148 tests, 3
provider-gated skips.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 10:53:31 +02:00
..
test_access_profiles.py feat: implement access profiles and hats 2026-06-15 23:12:25 +02:00
test_domain_models.py Start user-engine implementation scaffold 2026-05-22 20:55:27 +02:00
test_durable_store_conformance.py feat: add durable store conformance harness 2026-06-16 00:20:29 +02:00
test_family_dataspace_onboarding.py Expand portal onboarding and administration 2026-08-08 23:09:23 +02:00
test_finalization_contracts.py Finalize user-engine contracts and operability 2026-05-22 21:45:30 +02:00
test_identity_canon_alignment.py Mark linked identity context as self 2026-08-14 15:46:17 +02:00
test_integrated_scenarios.py test: add registration security conformance 2026-06-15 23:59:45 +02:00
test_isolated_mvp.py Authorize me reads as self service 2026-08-14 18:25:56 +02:00
test_multi_application_catalogs.py Add multi-application catalog support 2026-05-22 21:33:38 +02:00
test_multi_tenancy.py Add tenant-aware user-engine behavior 2026-05-22 21:28:40 +02:00
test_oidc.py Expand portal onboarding and administration 2026-08-08 23:09:23 +02:00
test_onboarding_journeys.py feat: implement onboarding journeys 2026-06-15 23:24:59 +02:00
test_platform_adapters.py Authenticate flex-auth calls with a rotating caller token 2026-08-18 10:53:31 +02:00
test_ports_and_fixtures.py feat: implement onboarding journeys 2026-06-15 23:24:59 +02:00
test_postgres_provider_conformance.py test: add provider postgres conformance 2026-06-16 07:33:34 +02:00
test_postgres_store_adapter.py Release readiness probe database transactions 2026-08-14 14:22:35 +02:00
test_prepared_accounts.py feat: implement prepared account claims 2026-06-15 22:37:31 +02:00
test_provisioning_adapter.py Expose provider-neutral identity reconciliation 2026-07-29 23:41:47 +02:00
test_registration_access_ui.py feat: add registration access ui contracts 2026-06-15 23:39:34 +02:00
test_registration_identity.py Implement registration identity model 2026-06-15 22:06:39 +02:00
test_registration_security_conformance.py test: add registration security conformance 2026-06-15 23:59:45 +02:00
test_registration_verification_adapter.py Align registration verification request contract 2026-08-14 11:25:43 +02:00
test_runtime_config.py Normalize runtime secret transport whitespace 2026-07-28 15:22:43 +02:00
test_store_records.py feat: add durable store record serialization 2026-06-16 03:43:55 +02:00
test_tenant_management_adapter.py Authenticate flex-auth calls with a rotating caller token 2026-08-18 10:53:31 +02:00
test_verified_claims.py Implement user-engine portal foundation 2026-07-27 22:47:39 +02:00
test_web.py Delegate tenant lifecycle to the tenant authority 2026-08-16 01:28:02 +02:00