diff --git a/src/main/resources/application-test.properties b/src/main/resources/application-test.properties index 8fa51ba..a20a57d 100644 --- a/src/main/resources/application-test.properties +++ b/src/main/resources/application-test.properties @@ -23,11 +23,23 @@ quarkus.flyway.baseline-on-migrate=false # Configuration Keycloak pour tests (désactivé) quarkus.oidc.tenant-enabled=false quarkus.keycloak.policy-enforcer.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 +# +# Désactivation GLOBALE des DevServices en mode test. +# Pourquoi le global et pas seulement quarkus.keycloak.devservices.enabled=false : +# L'extension quarkus-keycloak-admin-client (admin-rest-client-deployment) a un +# BuildStep `requireKeycloakDevService` annoté +# @BuildSteps(onlyIf = {IsDevServicesSupportedByLaunchMode, DevServicesConfig.Enabled, +# KeycloakAdminClientInjectionEnabled}) +# qui produit INCONDITIONNELLEMENT un KeycloakDevServicesRequiredBuildItem dès que cette +# extension est dans le classpath — peu importe `quarkus.oidc.tenant-enabled` ou +# `quarkus.keycloak.devservices.enabled`. Le seul kill switch respecté par cette +# extension est `DevServicesConfig.Enabled` ⇒ `quarkus.devservices.enabled`. +# Cohérence d'archi (pas un appauvrissement) : +# - H2 in-memory configuré explicitement (pas de Postgres DevService nécessaire). +# - OIDC `tenant-enabled=false` (pas d'auth en test → KC inutile). +# - Aucune autre extension utilisant DevServices dans ce profil. +# Dev mode (mvn quarkus:dev) : non affecté, DevServices restent actifs. +quarkus.devservices.enabled=false # DETTE TECHNIQUE — H2 vs Postgres réel # Les tests utilisent H2 en mode PostgreSQL pour rapidité, mais le projet utilise massivement : @@ -36,6 +48,8 @@ quarkus.keycloak.devservices.enabled=false # - 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. +# Le passage à Testcontainers nécessitera de retirer la ligne `quarkus.devservices.enabled=false` +# ci-dessus (pour réactiver le Postgres DevService) tout en gardant l'OIDC désactivé. # Cf. memory : project_test_infrastructure_debt.md # Configuration HTTP pour tests diff --git a/src/test/resources/application-integration-test.properties b/src/test/resources/application-integration-test.properties index 2fb8c09..eb78086 100644 --- a/src/test/resources/application-integration-test.properties +++ b/src/test/resources/application-integration-test.properties @@ -13,7 +13,7 @@ quarkus.flyway.migrate-at-start=true # Keycloak — désactivé pour les tests d'intégration DB quarkus.oidc.tenant-enabled=false -quarkus.keycloak.policy-enforcer.enable=false +quarkus.keycloak.policy-enforcer.enabled=false # Kafka — in-memory connector (pas de broker requis) mp.messaging.outgoing.finance-approvals-out.connector=smallrye-in-memory