import AjvPkg from "ajv" ;
import { describe, expect, it } from "vitest" ;
import {
INVALID_EXEC_SECRET_REF_IDS,
VALID_EXEC_SECRET_REF_IDS,
} from "../../test-utils/secret-ref-test-vectors.js" ;
import { SecretInputSchema, SecretRefSchema } from "./schema/primitives.js" ;
describe("gateway protocol SecretRef schema" , () => {
const Ajv = AjvPkg as unknown as new (opts?: object) => import ("ajv" ).default ;
const ajv = new Ajv({ allErrors: true , strict: false });
const validateSecretRef = ajv.compile(SecretRefSchema);
const validateSecretInput = ajv.compile(SecretInputSchema);
it("accepts valid source-specific refs" , () => {
expect(validateSecretRef({ source: "env" , provider: "default" , id: "OPENAI_API_KEY" })).toBe(
true ,
);
expect(
validateSecretRef({ source: "file" , provider: "filemain" , id: "/providers/openai/apiKey" }),
).toBe(true );
for (const id of VALID_EXEC_SECRET_REF_IDS) {
expect(validateSecretRef({ source: "exec" , provider: "vault" , id }), id).toBe(true );
expect(validateSecretInput({ source: "exec" , provider: "vault" , id }), id).toBe(true );
}
});
it("rejects invalid exec refs" , () => {
for (const id of INVALID_EXEC_SECRET_REF_IDS) {
expect(validateSecretRef({ source: "exec" , provider: "vault" , id }), id).toBe(false );
expect(validateSecretInput({ source: "exec" , provider: "vault" , id }), id).toBe(false );
}
});
});
Messung V0.5 in Prozent C=99 H=91 G=94
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland