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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user