test: share models config env fixture

This commit is contained in:
Peter Steinberger
2026-04-19 03:17:36 +01:00
parent 8f92c0607c
commit 22d99ee9df

View File

@@ -48,27 +48,36 @@ async function resolveProvidersForConfigEnvTest(params: {
);
}
function createConfigEnvVarsConfig(): OpenClawConfig {
return {
models: { providers: {} },
env: {
vars: {
OPENROUTER_API_KEY: "from-config", // pragma: allowlist secret
[TEST_ENV_VAR]: "from-config",
},
},
};
}
async function resolveProvidersAndCaptureDiscoveryEnv(cfg: OpenClawConfig) {
let discoveryEnv: NodeJS.ProcessEnv | undefined;
const providers = await resolveProvidersForConfigEnvTest({
cfg,
onResolveImplicitProviders: (env) => {
discoveryEnv = env;
},
});
return { discoveryEnv, providers };
}
describe("models-config", () => {
it("uses config env.vars entries for implicit provider discovery without mutating process.env", async () => {
await withTempEnv(["OPENROUTER_API_KEY", TEST_ENV_VAR], async () => {
unsetEnv(["OPENROUTER_API_KEY", TEST_ENV_VAR]);
const cfg: OpenClawConfig = {
models: { providers: {} },
env: {
vars: {
OPENROUTER_API_KEY: "from-config", // pragma: allowlist secret
[TEST_ENV_VAR]: "from-config",
},
},
};
let discoveryEnv: NodeJS.ProcessEnv | undefined;
const providers = await resolveProvidersForConfigEnvTest({
cfg,
onResolveImplicitProviders: (env) => {
discoveryEnv = env;
},
});
const { discoveryEnv, providers } = await resolveProvidersAndCaptureDiscoveryEnv(
createConfigEnvVarsConfig(),
);
expect(process.env.OPENROUTER_API_KEY).toBeUndefined();
expect(process.env[TEST_ENV_VAR]).toBeUndefined();
@@ -82,23 +91,9 @@ describe("models-config", () => {
await withTempEnv(["OPENROUTER_API_KEY", TEST_ENV_VAR], async () => {
process.env.OPENROUTER_API_KEY = "from-host"; // pragma: allowlist secret
process.env[TEST_ENV_VAR] = "from-host";
const cfg: OpenClawConfig = {
models: { providers: {} },
env: {
vars: {
OPENROUTER_API_KEY: "from-config", // pragma: allowlist secret
[TEST_ENV_VAR]: "from-config",
},
},
};
let discoveryEnv: NodeJS.ProcessEnv | undefined;
const providers = await resolveProvidersForConfigEnvTest({
cfg,
onResolveImplicitProviders: (env) => {
discoveryEnv = env;
},
});
const { discoveryEnv, providers } = await resolveProvidersAndCaptureDiscoveryEnv(
createConfigEnvVarsConfig(),
);
expect(discoveryEnv?.OPENROUTER_API_KEY).toBe("from-host");
expect(discoveryEnv?.[TEST_ENV_VAR]).toBe("from-host");