import { expect } from "vitest" ;
export const openaiCodexCatalogEntries = [
{ provider: "openai" , id: "gpt-5.2" , name: "GPT-5.2" },
{ provider: "openai" , id: "gpt-5.2-pro" , name: "GPT-5.2 Pro" },
{ provider: "openai" , id: "gpt-5-mini" , name: "GPT-5 mini" },
{ provider: "openai" , id: "gpt-5-nano" , name: "GPT-5 nano" },
{ provider: "openai-codex" , id: "gpt-5.3-codex" , name: "GPT-5.3 Codex" },
];
export const expectedAugmentedOpenaiCodexCatalogEntries = [
{ provider: "openai" , id: "gpt-5.4" , name: "gpt-5.4" },
{ provider: "openai" , id: "gpt-5.4-pro" , name: "gpt-5.4-pro" },
{ provider: "openai" , id: "gpt-5.4-mini" , name: "gpt-5.4-mini" },
{ provider: "openai" , id: "gpt-5.4-nano" , name: "gpt-5.4-nano" },
{ provider: "openai-codex" , id: "gpt-5.4" , name: "gpt-5.4" },
{ provider: "openai-codex" , id: "gpt-5.4-pro" , name: "gpt-5.4-pro" },
{ provider: "openai-codex" , id: "gpt-5.4-mini" , name: "gpt-5.4-mini" },
];
export const expectedAugmentedOpenaiCodexCatalogEntriesWithGpt55 = [
{ provider: "openai" , id: "gpt-5.5-pro" , name: "gpt-5.5-pro" },
...expectedAugmentedOpenaiCodexCatalogEntries.slice(0 , 4 ),
{ provider: "openai-codex" , id: "gpt-5.5-pro" , name: "gpt-5.5-pro" },
...expectedAugmentedOpenaiCodexCatalogEntries.slice(4 ),
];
export function expectCodexMissingAuthHint(
buildProviderMissingAuthMessageWithPlugin: (params: {
provider: string;
env: NodeJS.ProcessEnv;
context: {
env: NodeJS.ProcessEnv;
provider: string;
listProfileIds: (providerId: string) => string[];
};
}) => string | undefined,
expectedModel = "openai/gpt-5.5" ,
) {
expect(
buildProviderMissingAuthMessageWithPlugin({
provider: "openai" ,
env: process.env,
context: {
env: process.env,
provider: "openai" ,
listProfileIds: (providerId) => (providerId === "openai-codex" ? ["p1" ] : []),
},
}),
).toContain(expectedModel);
}
export function expectCodexBuiltInSuppression(
resolveProviderBuiltInModelSuppression: (params: {
env: NodeJS.ProcessEnv;
context: {
env: NodeJS.ProcessEnv;
provider: string;
modelId: string;
};
}) => unknown,
) {
expect(
resolveProviderBuiltInModelSuppression({
env: process.env,
context: {
env: process.env,
provider: "azure-openai-responses" ,
modelId: "gpt-5.3-codex-spark" ,
},
}),
).toMatchObject({
suppress: true ,
errorMessage: expect.stringContaining("gpt-5.3-codex-spark" ),
});
}
export async function expectAugmentedCodexCatalog(
augmentModelCatalogWithProviderPlugins: (params: {
env: NodeJS.ProcessEnv;
context: {
env: NodeJS.ProcessEnv;
entries: typeof openaiCodexCatalogEntries;
};
}) => Promise<unknown>,
expectedEntries = expectedAugmentedOpenaiCodexCatalogEntries,
) {
const result = (await augmentModelCatalogWithProviderPlugins({
env: process.env,
context: {
env: process.env,
entries: openaiCodexCatalogEntries,
},
})) as Array<Record<string, unknown>>;
expect(result).toHaveLength(expectedEntries.length);
for (const entry of expectedEntries) {
expect(result).toContainEqual(expect.objectContaining(entry));
}
}
Messung V0.5 in Prozent C=100 H=84 G=92
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-04)
¤
*© Formatika GbR, Deutschland