Files
cfw-autumn/server/tests/setup-integration-tests.ts
2026-01-28 14:02:23 +00:00

38 lines
970 B
TypeScript

import { execSync } from "node:child_process";
import { loadLocalEnv } from "@/utils/envUtils";
const isUnitTest = () => {
return process.argv.some((arg) => arg.includes("unit"));
};
const loadInfisicalSecrets = async () => {
try {
const secrets = execSync("infisical export --env=dev --format=dotenv", {
encoding: "utf-8",
});
for (const line of secrets.split("\n")) {
const match = line.match(/^([^=]+)=(.*)$/);
if (match) {
process.env[match[1]] = match[2].replace(/^["']|["']$/g, "");
}
}
} catch (e) {
console.warn("Failed to load infisical secrets:", e);
}
};
/**
* Bun test preload script for integration tests.
* Loads environment variables before any test file runs.
*/
if (isUnitTest()) {
console.log("--- Skipping integration setup for unit tests ---");
} else {
console.log("--- Setup integration tests ---");
await loadInfisicalSecrets();
loadLocalEnv();
console.log("--- Setup integration tests complete ---");
}