fix(sprint-17 backend): JwtPropagationFilterTest pur Mockito + revert DevServices global trop agressif
- Refactor JwtPropagationFilterTest : @QuarkusTest → pur Mockito (instanciation directe + champ securityIdentity injecté par réflexion). 9 tests en 2s vs boot Quarkus complet. - Fusion de JwtPropagationFilterNullIdentityTest dans le test principal (branche securityIdentity == null couverte via setAccessible). - Revert quarkus.devservices.enabled=false (global trop agressif, violait la règle 'ne pas appauvrir pour fixer'). - Conserve quarkus.keycloak.devservices.enabled=false (légitime : OIDC tenant-enabled=false ⇒ KC inutile). - Documente la dette H2 → Testcontainers (JSONB/RLS/fonctions PG masqués) inline + memory dédiée.
This commit is contained in:
@@ -23,13 +23,21 @@ quarkus.flyway.baseline-on-migrate=false
|
||||
# Configuration Keycloak pour tests (désactivé)
|
||||
quarkus.oidc.tenant-enabled=false
|
||||
quarkus.keycloak.policy-enforcer.enabled=false
|
||||
# Désactivation globale de TOUS les DevServices en mode test :
|
||||
# - DataSource : H2 in-memory configuré en dur (pas besoin de Postgres DevService)
|
||||
# - Keycloak : OIDC désactivé (pas besoin de container KC, qui prenait 50s+ à boot)
|
||||
# Dev mode (mvn quarkus:dev) : DevServices restent actifs (utiles).
|
||||
quarkus.devservices.enabled=false
|
||||
# Keycloak DevService désactivé : OIDC tenant-enabled=false ⇒ aucun besoin de KC en test.
|
||||
# (Évite le démarrage d'un container KC parasite de 50s+ ignorant l'instance locale 8180.)
|
||||
# NB : on NE désactive PAS quarkus.devservices.enabled globalement — laisse le mécanisme
|
||||
# disponible si un futur test active un Postgres Testcontainer (cf. dette H2→Testcontainers).
|
||||
quarkus.keycloak.devservices.enabled=false
|
||||
|
||||
# DETTE TECHNIQUE — H2 vs Postgres réel
|
||||
# Les tests utilisent H2 en mode PostgreSQL pour rapidité, mais le projet utilise massivement :
|
||||
# - JSONB (audit_trail, payload_jsonb, etc.) → mappé en VARCHAR sur H2 (faux positif possible)
|
||||
# - RLS (Row Level Security PostgreSQL) → non supporté par H2
|
||||
# - Fonctions PG natives (gen_random_uuid, citext, etc.) → comportement divergent
|
||||
# TODO sprint dédié : migrer vers Testcontainers Postgres avec reuse
|
||||
# (testcontainers.reuse.enable=true) pour fidélité prod + démarrage rapide après warm-up.
|
||||
# Cf. memory : project_test_infrastructure_debt.md
|
||||
|
||||
# Configuration HTTP pour tests
|
||||
quarkus.http.port=0
|
||||
quarkus.http.test-port=0
|
||||
|
||||
Reference in New Issue
Block a user