Ce projet contient differents tests :
/auth : tests Playwright pour tester le scénario d'authentification OIDC avec Keycloak dans le service d'authentification Matrix (MAS). Nécessite un environnement local docker avec les services mockés de https://github.com/tchapgouv/tchap-docker-integration.
/integration/api/room-access-rules : tests d'intégration API pour le module room-access-rules. Nécessite un environnement Tchap complet.
/integration/api/email-account-validity : scénario de recette web pour le module remail-account-validity. Nécessite un environnement Tchap complet et un service mailpit
/integration/web/minimal : scénario minimal de recette e2e sur navigateur sur les serveurs de DEV (dev01, ext01) et PREPROD (int01, ext01). Nécessite un environnement Tchap complet avec un serveur agent et un serveur externe, ainsi qu'un service mailpit.
Les tests utilisent deux types de fichiers pour la configuration d'un environnement :
.env.XXX- Fichier de configuration principal (non sensible).secrets.XXX- Fichier de secrets (sensible, exclu de github)
Vous pouvez modifier le fichier .env.XXX pour adapter les tests à votre environnement. Les variables sensibles doivent être placées dans le fichier .secrets.XXX correspondant.
Les variables suivantes sont requises pour dev01 et int01 et doivent être placées dans les fichiers .secrets.XXX :
MAILPIT_PWD=mot de passe mailpitMAS_ADMIN_CLIENT_ID=identifiant client admin du MASMAS_ADMIN_CLIENT_SECRET=secret client admin du MASSYNAPSE_ADMIN_TOKEN=token admin de synapseOTHER_MAS_ADMIN_CLIENT_ID=identifiant client admin du MAS secondaireOTHER_MAS_ADMIN_SECRET=secret client admin du MAS secondaireEXTERNAL_MAS_ADMIN_CLIENT_ID=identifiant client admin du MAS externeEXTERNAL_MAS_ADMIN_SECRET=secret client admin du MAS externe
Un fichier .secrets.sample est fourni avec des commentaires en anglais expliquant chaque variable. Vous pouvez copier ce fichier pour créer vos propres fichiers de secrets :
cp .secrets.sample .secrets.dev01
cp .secrets.sample .secrets.int01
# etc...Les fichiers .secrets.* sont automatiquement exclus du contrôle de version par le fichier .gitignore. Ne commitez jamais de fichiers de secrets contenant des informations sensibles.
# specific test
docker run -it --rm -v .:/app -w /app mcr.microsoft.com/playwright:v1.59.1-noble bash -c 'ENV=dev01 npx playwright test ./tests/integration/api/room-access-rules --grep "Should create private encrypted room with correct properties"'
# tests suite
docker run -it --rm -v .:/app -w /app mcr.microsoft.com/playwright:v1.59.1-noble npm run test:api:dev01Pour initialiser rapidement le projet, utilisez le script d'initialisation :
# Rendre le script exécutable
chmod +x init.sh
# Exécuter le script d'initialisation
./init.sh
# tests suite
npm run test:room:dev01
# specific test
ENV=dev01 && npx playwright test ./tests/integration/api/room-access-rules --grep "Should create private encrypted room with correct properties"