Files
btpxpress-frontend/tests/manual/auth-integration-checklist.md
2025-10-13 05:29:32 +02:00

6.0 KiB

Checklist de Tests d'Intégration Keycloak

🔧 Prérequis

  • Keycloak est démarré sur https://security.lions.dev
  • Le realm btpxpress est configuré
  • Les clients btpxpress-frontend et btpxpress-backend sont créés
  • L'application frontend est démarrée sur http://localhost:3000
  • L'application backend est démarrée sur http://localhost:8080

🚀 Tests d'Authentification

1. Accès Initial

  • Aller sur http://localhost:3000
  • Vérifier que la page d'accueil s'affiche (page publique)
  • Cliquer sur un lien vers une page protégée (ex: Dashboard)
  • Vérifier la redirection vers /auth/login

2. Page de Connexion

  • Vérifier que la page de connexion s'affiche correctement
  • Vérifier le bouton "Se connecter avec Keycloak"
  • Cliquer sur le bouton de connexion
  • Vérifier la redirection vers Keycloak

3. Authentification Keycloak

  • Vérifier que la page de connexion Keycloak s'affiche
  • Se connecter avec un utilisateur valide
  • Vérifier la redirection vers l'application
  • Vérifier l'affichage du dashboard ou de la page demandée

4. État Authentifié

  • Vérifier que le menu utilisateur affiche les informations correctes
  • Vérifier que le nom d'utilisateur est affiché
  • Vérifier que l'email est affiché
  • Vérifier que le rôle est affiché

🔒 Tests d'Autorisation

5. Protection des Routes

  • Accéder à /dashboard - doit être accessible si authentifié
  • Accéder à /chantiers - doit être accessible si authentifié
  • Accéder à /admin/utilisateurs - doit être accessible seulement pour ADMIN/SUPER_ADMIN
  • Accéder à /admin/roles - doit être accessible seulement pour ADMIN/SUPER_ADMIN

6. Gestion des Rôles

  • Se connecter avec un utilisateur USER
  • Essayer d'accéder à /admin/utilisateurs
  • Vérifier la redirection vers /auth/forbidden
  • Vérifier l'affichage de la page d'accès interdit

7. Menu Dynamique

  • Vérifier que le menu affiche seulement les éléments autorisés
  • Se connecter avec différents rôles et vérifier les menus
  • Vérifier que les éléments admin ne s'affichent que pour les admins

🔄 Tests de Session

8. Rafraîchissement de Token

  • Rester connecté pendant plus de 5 minutes
  • Effectuer une action (ex: naviguer vers une nouvelle page)
  • Vérifier que le token est rafraîchi automatiquement
  • Vérifier qu'aucune déconnexion forcée n'a lieu

9. Expiration de Session

  • Laisser la session expirer (configurer un timeout court si nécessaire)
  • Essayer d'effectuer une action
  • Vérifier la redirection vers la page de connexion

10. Déconnexion

  • Cliquer sur "Se déconnecter" dans le menu utilisateur
  • Vérifier la redirection vers /auth/logout
  • Vérifier l'affichage de la page de déconnexion
  • Vérifier la redirection automatique vers l'accueil
  • Essayer d'accéder à une page protégée
  • Vérifier la redirection vers la connexion

🌐 Tests API

11. Intégration Backend

  • Ouvrir les outils de développement (F12)
  • Aller dans l'onglet Network
  • Effectuer une action qui appelle l'API (ex: charger la liste des chantiers)
  • Vérifier que les requêtes contiennent l'en-tête Authorization: Bearer <token>
  • Vérifier que les réponses sont correctes (200 OK)

12. Gestion des Erreurs API

  • Simuler une erreur 401 (token expiré)
  • Vérifier que l'application tente de rafraîchir le token
  • Si le rafraîchissement échoue, vérifier la redirection vers la connexion

🔧 Tests de Compatibilité

13. Rétrocompatibilité

  • Vérifier que l'ancien système JWT ne cause pas d'erreurs
  • Vérifier que les anciens tokens sont ignorés
  • Vérifier que le nettoyage des anciens tokens fonctionne

14. Navigation

  • Tester la navigation entre les pages
  • Vérifier que l'état d'authentification est maintenu
  • Tester le bouton "Retour" du navigateur
  • Tester le rafraîchissement de page (F5)

🚨 Tests d'Erreur

15. Keycloak Indisponible

  • Arrêter Keycloak temporairement
  • Essayer de se connecter
  • Vérifier l'affichage d'un message d'erreur approprié

16. Configuration Incorrecte

  • Modifier temporairement la configuration Keycloak (mauvais realm)
  • Vérifier la gestion des erreurs de configuration
  • Restaurer la configuration correcte

📱 Tests Multi-Navigateurs

17. Compatibilité Navigateurs

  • Tester sur Chrome
  • Tester sur Firefox
  • Tester sur Safari (si disponible)
  • Tester sur Edge

18. Mode Incognito

  • Tester l'authentification en mode incognito
  • Vérifier que la session ne persiste pas après fermeture

Validation Finale

19. Workflow Complet

  • Effectuer un workflow complet : connexion → navigation → actions → déconnexion
  • Vérifier qu'aucune erreur n'apparaît dans la console
  • Vérifier que les performances sont acceptables

20. Documentation

  • Vérifier que la documentation est à jour
  • Vérifier que les variables d'environnement sont documentées
  • Vérifier que les instructions de déploiement sont correctes

📊 Résultats

Test Statut Notes
Accès Initial
Page de Connexion
Authentification Keycloak
État Authentifié
Protection des Routes
Gestion des Rôles
Menu Dynamique
Rafraîchissement de Token
Expiration de Session
Déconnexion
Intégration Backend
Gestion des Erreurs API
Rétrocompatibilité
Navigation
Keycloak Indisponible
Configuration Incorrecte
Compatibilité Navigateurs
Mode Incognito
Workflow Complet
Documentation

Légende :

  • Réussi
  • Échec
  • En attente
  • ⚠️ Attention requise