refactor(test): share env var helpers

This commit is contained in:
Peter Steinberger
2026-02-15 23:12:57 +00:00
parent 0b56472cf5
commit 65ea200c31
4 changed files with 52 additions and 110 deletions

View File

@@ -1,30 +1,7 @@
import { describe, expect, it } from "vitest";
import { withEnv } from "../../test-utils/env.js";
import { __testing } from "./web-search.js";
function withEnv<T>(env: Record<string, string | undefined>, fn: () => T): T {
const prev: Record<string, string | undefined> = {};
for (const [key, value] of Object.entries(env)) {
prev[key] = process.env[key];
if (value === undefined) {
// Make tests hermetic even on machines with real keys set.
delete process.env[key];
} else {
process.env[key] = value;
}
}
try {
return fn();
} finally {
for (const [key, value] of Object.entries(prev)) {
if (value === undefined) {
delete process.env[key];
} else {
process.env[key] = value;
}
}
}
}
const {
inferPerplexityBaseUrlFromApiKey,
resolvePerplexityBaseUrl,