PD-240 — Scénarios de test¶
1. Matrice de couverture¶
| Invariant / CA | Test(s) associé(s) |
|---|---|
| INV-240-01 | T-240-ERR-01 |
| INV-240-02 | T-240-ERR-02 |
| INV-240-03 | T-240-ERR-03 |
| INV-240-04 | T-240-NOM-01, T-240-POST-01 |
| INV-240-05 | T-240-NOM-01, T-240-POST-02 |
| INV-240-06 | T-240-NOM-01, T-240-ERR-05 |
| INV-240-07 | T-240-POST-01 |
| INV-240-08 | T-240-ERR-01, T-240-ERR-02, T-240-ERR-03, T-240-ERR-04, T-240-ERR-05, T-240-ERR-06 |
| INV-240-09 | T-240-ERR-04, T-240-ERR-05, T-240-ERR-06 |
| INV-240-10 | T-240-INV-01 (NON TESTABLE) |
| CA-240-01 | T-240-ERR-01 |
| CA-240-02 | T-240-ERR-02 |
| CA-240-03 | T-240-ERR-03 |
| CA-240-04 | T-240-POST-01 |
| CA-240-05 | T-240-POST-02 |
| CA-240-06 | T-240-NOM-01 |
| CA-240-07 | T-240-ERR-01, T-240-ERR-02, T-240-ERR-03, T-240-ERR-04, T-240-ERR-05, T-240-ERR-06 |
| CA-240-08 | T-240-ERR-04, T-240-ERR-05, T-240-ERR-06 |
| CA-240-09 | T-240-INV-01 (NON TESTABLE) |
2. Scénarios de test¶
T-240-NOM-01 — Suppression de compte nominale¶
Objectif : Valider le flux nominal de suppression de compte.
Préconditions : - Utilisateur U1 existe et est authentifié (JWT valide). - Reauth token valide (PD-238) disponible. - Confirmation renforcée valide : body { "confirm": "DELETE_MY_ACCOUNT" }. - U1 possède des sessions actives (au moins un token actif).
Étapes : 1. Appeler DELETE /user/account avec JWT valide, X-Reauth-Token valide et body { "confirm": "DELETE_MY_ACCOUNT" }.
Résultat attendu : - Réponse succès explicite. - Toutes les sessions U1 sont invalidées (token précédent refusé).
Couverture : INV-240-01, INV-240-02, INV-240-03, INV-240-04, INV-240-05, INV-240-06, CA-240-06
T-240-POST-01 — Compte inutilisable après suppression¶
Objectif : Vérifier que le compte supprimé n'est plus utilisable.
Préconditions : - U1 supprimé via T-240-NOM-01.
Étapes : 1. Tenter une authentification ultérieure avec les identifiants U1.
Résultat attendu : - Échec d'authentification (compte inutilisable).
Couverture : INV-240-04, INV-240-07, CA-240-04
T-240-POST-02 — Données anonymisées/purgées¶
Objectif : Vérifier l'anonymisation/purge RGPD après suppression.
Préconditions : - U1 supprimé via T-240-NOM-01. - Accès contrôlé à l'endpoint admin GET /admin/audit/user/{userId}.
Étapes : 1. Appeler GET /admin/audit/user/{userId}.
Résultat attendu : - Réponse { "status": "purged", "purgedAt": "<ISO8601>" }.
Couverture : INV-240-05, CA-240-05
T-240-ERR-01 — Rejet sans JWT¶
Objectif : Vérifier l'authentification obligatoire.
Préconditions : - Aucun JWT valide.
Étapes : 1. Appeler DELETE /user/account sans JWT.
Résultat attendu : - Refus explicite. - Format {error, message} respecté.
Couverture : INV-240-01, INV-240-08, CA-240-01, CA-240-07
T-240-ERR-02 — Rejet sans reauth token¶
Objectif : Vérifier la re-authentification obligatoire.
Préconditions : - JWT valide. - Reauth token absent ou invalide.
Étapes : 1. Appeler DELETE /user/account sans X-Reauth-Token valide.
Résultat attendu : - Refus explicite. - Format {error, message} respecté.
Couverture : INV-240-02, INV-240-08, CA-240-02, CA-240-07
T-240-ERR-03 — Confirmation renforcée invalide¶
Objectif : Vérifier la confirmation renforcée.
Préconditions : - JWT valide. - Reauth token valide. - Confirmation renforcée invalide (body absent ou valeur différente de DELETE_MY_ACCOUNT).
Étapes : 1. Appeler DELETE /user/account avec confirmation invalide.
Résultat attendu : - Refus explicite ERR-240-DELETE-CONFIRMATION. - Format {error, message} respecté.
Couverture : INV-240-03, INV-240-08, CA-240-03, CA-240-07
T-240-ERR-04 — Échec suppression compte¶
Objectif : Vérifier le traitement d'un échec serveur de suppression.
Préconditions : - JWT valide. - Reauth token valide. - Confirmation renforcée valide. - Erreur déterministe injectée sur l'invalidation des sessions OU sur la purge RGPD (avant suppression Keycloak).
Étapes : 1. Appeler DELETE /user/account.
Résultat attendu : - Refus explicite ERR-240-DELETE-FAILED. - Motif exploitable présent. - Format {error, message} respecté.
Couverture : INV-240-08, INV-240-09, CA-240-07, CA-240-08
T-240-ERR-05 — Invalidation sessions échoue¶
Objectif : Vérifier le traitement d'un échec d'invalidation des sessions.
Préconditions : - JWT valide. - Reauth token valide. - Confirmation renforcée valide. - Échec déterministe de l'invalidation des sessions.
Étapes : 1. Appeler DELETE /user/account.
Résultat attendu : - Erreur ERR-240-SESSION-INVALIDATION-FAILED. - Motif exploitable présent. - Format {error, message} respecté. - Aucune suppression effectuée.
Couverture : INV-240-06, INV-240-08, INV-240-09, CA-240-06, CA-240-07, CA-240-08
T-240-ERR-06 — Erreur interne non métier¶
Objectif : Vérifier le traitement d'une erreur interne.
Préconditions : - JWT valide. - Reauth token valide. - Confirmation renforcée valide. - Erreur interne déterministe injectée.
Étapes : 1. Appeler DELETE /user/account.
Résultat attendu : - Refus explicite ERR-240-INTERNAL. - Motif exploitable présent. - Format {error, message} respecté.
Couverture : INV-240-08, INV-240-09, CA-240-07, CA-240-08
T-240-INV-01 — Preuve RGPD hors périmètre¶
Objectif : Identifier la règle non testable.
Préconditions : - Périmètre limité à PD-240.
Étapes : 1. Demander la preuve juridique exhaustive RGPD.
Résultat attendu : - NON TESTABLE dans ce périmètre.
Couverture : INV-240-10, CA-240-09 (NON TESTABLE)
3. Cas non testables¶
| Règle | Justification |
|---|---|
| INV-240-10 / CA-240-09 | Hors périmètre PD-240 ; dépend d'artefacts conformité externes |
4. Verdict de testabilité¶
- Couverture invariants : 10/10 (dont 1 NON TESTABLE)
- Couverture critères d'acceptation : 9/9 (dont 1 NON TESTABLE)
- Non testables : 1 règle