Checkpoint: Correction recette : une variable REFERENTIEL_IA_TOKEN vide masquait le secret Docker monté. Le serveur privilégie désormais un jeton explicite non vide et bascule vers le fichier secret sinon. Test de non-régression ajouté ; 89 tests, TypeScript et build validés.

This commit is contained in:
Manus
2026-10-02 15:01:42 +00:00
parent eba192e159
commit edb4726d5f
3 changed files with 30 additions and 2 deletions

View File

@@ -7,7 +7,7 @@ import {
testReferentialIaConnection,
type ReferentielIaConnection,
} from "./referentialIa";
import { readSecretFile } from "./_core/env";
import { readSecretFile, resolveServerSecret } from "./_core/env";
const connection: ReferentielIaConnection = {
baseUrl: "https://referentiel-ia.recette.santinova-soft.org",
@@ -34,6 +34,20 @@ describe("Référentiel IA", () => {
}
});
it("utilise le secret monté lorsque la variable d'environnement est vide", () => {
const directory = mkdtempSync(join(tmpdir(), "referentiel-ia-"));
const secretFile = join(directory, "token");
try {
writeFileSync(secretFile, " mounted-secret\n", { mode: 0o600 });
expect(resolveServerSecret("", secretFile)).toBe("mounted-secret");
expect(resolveServerSecret(" ", secretFile)).toBe("mounted-secret");
expect(resolveServerSecret("environment-secret", secretFile)).toBe("environment-secret");
} finally {
rmSync(directory, { recursive: true, force: true });
}
});
it("transmet une requête OpenAI-compatible à la passerelle sélectionnée", async () => {
let receivedUrl = "";
let receivedInit: RequestInit | undefined;