test(server-nestjs): cas limites du client Vault (mapping d'erreurs, approle, secrets) - #2585
test(server-nestjs): cas limites du client Vault (mapping d'erreurs, approle, secrets)#2585shikanime wants to merge 2 commits into
Conversation
Co-authored-by: Automata <automata@shikanime.studio>
2baf607 to
8cf95f0
Compare
…al delete Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I56e495e65be7a940ef89bcb60863b7a56a6a6964
|
shikanime
left a comment
There was a problem hiding this comment.
Verdict : Approuvé — la PR reste en draft dans l'attente de la décision d'atterrissage.
Couverture adversariale solide : mapping VaultError exhaustif, cas limites approle/token, ordre du parcours récursif verrouillé. Le second commit fix(...) (wrap non-JSON + fail-fast delete partiel) est vérifié pertinent et absent de main — rien à retirer. Écart à harmoniser avant le passage ready : le titre dit test(...) mais la PR embarque un fix. Recommandation : atterrir celle-ci puis restacker #2670 (migration MSW qui réécrit ce spec).
| try { | ||
| responseBody = await response.json() | ||
| } catch { | ||
| // A non-JSON error body (proxy HTML page) must not escape the VaultError contract. |
There was a problem hiding this comment.
✨ Éloge — le try/catch sur le corps d'erreur garde le contrat VaultError intact face à un corps non-JSON (page HTML de proxy) : l'échec reste typé au lieu de fuiter en SyntaxError.
| } | ||
| })) | ||
| const rejected = results.find(result => result.status === 'rejected') | ||
| if (rejected) throw rejected.reason |
There was a problem hiding this comment.
✨ Éloge — le fail-fast après allSettled ré-élève la première erreur réelle au lieu de l'avaler : une suppression partielle ne passe plus inaperçue.

0 New Issues
0 Fixed Issues
0 Accepted Issues
Issues liées
#2574
Quel est le comportement actuel ?
vault-client.service.tsétait à ~35% de lignes couvertes : le mapping des statuts HTTP versVaultError, les cas limites approle et la liste récursive des secrets de projet n'étaient pas verrouillés.Quel est le nouveau comportement ?
+523 lignes / +40 tests :
Comportement actuel verrouillé ; 59/59 tests verts sur Node 24.
Cette PR introduit-elle un breaking change ?
Non.