From 558582d35874f2fb8010a630aeffab5ad97b7e03 Mon Sep 17 00:00:00 2001 From: Manus Date: Sat, 29 Aug 2026 22:52:03 +0000 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Correctif=20CI=20de=20recette=20:?= =?UTF-8?q?=20le=20test=20d'=C3=A9tat=20de=20chiffrement=20Salaires=20util?= =?UTF-8?q?ise=20d=C3=A9sormais=20une=20cl=C3=A9=20AES-256=20de=20test=20l?= =?UTF-8?q?ocale=20et=20restaure=20l'environnement,=20au=20lieu=20de=20d?= =?UTF-8?q?=C3=A9pendre=20du=20secret=20PAYROLL=5FENCRYPTION=5FKEY=20non?= =?UTF-8?q?=20inject=C3=A9=20dans=20le=20runner=20Gitea.=20La=20commande?= =?UTF-8?q?=20exacte=20de=20CI=20pnpm=20verify=20est=20valid=C3=A9e=20loca?= =?UTF-8?q?lement=20:=20TypeScript,=2055=20tests=20et=20build=20passent.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/auth.local.test.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/server/auth.local.test.ts b/server/auth.local.test.ts index cb2a60a..af0fdd7 100644 --- a/server/auth.local.test.ts +++ b/server/auth.local.test.ts @@ -441,9 +441,15 @@ describe("masseSalariale", () => { describe("salaires.getSecurityStatus", () => { it("valide la clé de chiffrement configurée via une procédure administrateur", async () => { const { ctx } = createAuthCtx({ role: "admin" }); - - await expect(appRouter.createCaller(ctx).salaires.getSecurityStatus()) - .resolves.toEqual({ ready: true, algorithm: "AES-256-GCM" }); + const previousKey = process.env.PAYROLL_ENCRYPTION_KEY; + process.env.PAYROLL_ENCRYPTION_KEY = Buffer.alloc(32, 9).toString("base64"); + try { + await expect(appRouter.createCaller(ctx).salaires.getSecurityStatus()) + .resolves.toEqual({ ready: true, algorithm: "AES-256-GCM" }); + } finally { + if (previousKey === undefined) delete process.env.PAYROLL_ENCRYPTION_KEY; + else process.env.PAYROLL_ENCRYPTION_KEY = previousKey; + } }); it("interdit la sonde de sécurité aux profils non administrateurs", async () => {