Aller au contenu

PD-85 — Revue des Tests

Résumé

Critère Statut
Couverture TC-* ~35/46
Qualité assertions
Isolation
Edge cases ⚠️

Verdict : ⚠️ RÉSERVES

Matrice de couverture

TC-ID Implémenté Fichier Commentaire
TC-NOM-01 export.integration.spec.ts Nominal complet
TC-NOM-02 ⚠️ export-service.spec.ts Partiel — rejet partiel couvert mais pas exactement 8/10
TC-NOM-03 export-minor-evidence.spec.ts Évidences mineur
TC-NOM-04 export-manifest-builder.spec.ts Chronologie triée + exportedBy
TC-NOM-05 export-manifest-builder.spec.ts Hash intégrité SHA3-256
TC-NOM-06 URL signée accès avant expiration (intégration S3 mock absent)
TC-NOM-07 URL signée refus après expiration (intégration S3 mock absent)
TC-ERR-01 export-dto.spec.ts proofIds absent/vide
TC-ERR-02 export-pipeline-guard.spec.ts PremiumGuard FREE → 403
TC-ERR-03 export.integration.spec.ts Proof not found → 404
TC-ERR-04 export-service.spec.ts Taille > 1 GB → 413
TC-ERR-05 export-service.spec.ts Toutes invalides → 422
TC-ERR-06 export-dto.spec.ts UUID format invalide
TC-INV-02 export-validators.spec.ts FiveSectionsComplete
TC-INV-03 export-pipeline-guard.spec.ts ReKey actif
TC-INV-09 export-validators.spec.ts Secret exposure
TC-INV-11 export-validators.spec.ts EnvelopeSeal structural
TC-INV-12 export-validators.spec.ts Offline material
TC-INV-8501 export-validators.spec.ts Static scan zero-knowledge
TC-INV-8502 export-service.spec.ts exportId UUID unique
TC-INV-8503 export-manifest-builder.spec.ts SHA3-256 JCS
TC-INV-8504 TTL borné [1,30] min (pas testé)
TC-INV-8505 export.integration.spec.ts Audit WORM
TC-INV-8506 export.integration.spec.ts Lecture seule ProofEnvelope
TC-INV-8507 export-service.spec.ts Taille > 1 GB
TC-INV-8508 export-exceptions.spec.ts États terminaux
TC-INV-8509 ⚠️ Non explicitement tracé (couvert indirectement par scan INV-8501)
TC-NR-01 ⚠️ export-service.spec.ts Partiel — stabilité schéma JSON
TC-NR-02 ⚠️ Non explicitement tracé
TC-NR-03 export-manifest-builder.spec.ts proofCount == proofs.length
TC-NR-04 export-manifest-builder.spec.ts Hash déterministe
TC-NR-05 TTL URL non-régression (absent)
TC-NR-06 export.integration.spec.ts Audit WORM
TC-NEG-01 export-dto.spec.ts Doublons proofIds
TC-NEG-02 export-dto.spec.ts Mix valides + invalides
TC-NEG-03 URL non-HTTPS (absent)
TC-NEG-04 export-manifest-builder.spec.ts Horodatage non UTC
TC-NEG-05 URL expirée répétée (absent)
TC-NEG-06 ⚠️ Indirectement couvert par TC-INV-8501

Points à améliorer

ID Description Gravité
T-01 Controller à 0% coverage — aucun test HTTP endpoint MAJEUR
T-02 TC-NOM-06/07 (S3 URL expiration) absents MAJEUR
T-03 TC-INV-8504 (TTL borné [1,30] min) absent MAJEUR
T-04 TC-NEG-03/05 (URL HTTPS + expiration répétée) absents MINEUR
T-05 TC-NR-02/05 (stabilité codes erreur + TTL) non tracés MINEUR
T-06 Coverage branches 74.15% et functions 67.64% sous seuil 80%/85% MINEUR

Tests manquants prioritaires

  • Test E2E/controller pour POST /exports/complaint-file (403 guard, body vide, audit)
  • Tests intégration S3 mock pour expiration URL signée
  • Test unitaire TTL borné (validation Joi + clamp runtime)