Checkpoint: Correctif CI de recette : le test d'état de chiffrement Salaires utilise désormais une clé AES-256 de test locale et restaure l'environnement, au lieu de dépendre du secret PAYROLL_ENCRYPTION_KEY non injecté dans le runner Gitea. La commande exacte de CI pnpm verify est validée localement : TypeScript, 55 tests et build passent.
All checks were successful
Validation applicative / TypeScript, tests et build (push) Successful in 2m45s
All checks were successful
Validation applicative / TypeScript, tests et build (push) Successful in 2m45s
This commit is contained in:
@@ -441,9 +441,15 @@ describe("masseSalariale", () => {
|
|||||||
describe("salaires.getSecurityStatus", () => {
|
describe("salaires.getSecurityStatus", () => {
|
||||||
it("valide la clé de chiffrement configurée via une procédure administrateur", async () => {
|
it("valide la clé de chiffrement configurée via une procédure administrateur", async () => {
|
||||||
const { ctx } = createAuthCtx({ role: "admin" });
|
const { ctx } = createAuthCtx({ role: "admin" });
|
||||||
|
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())
|
await expect(appRouter.createCaller(ctx).salaires.getSecurityStatus())
|
||||||
.resolves.toEqual({ ready: true, algorithm: "AES-256-GCM" });
|
.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 () => {
|
it("interdit la sonde de sécurité aux profils non administrateurs", async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user