Files
cfw-autumn/server/tests/setup-integration-tests.ts
2026-01-26 13:43:57 +00:00

37 lines
924 B
TypeScript

import { execSync } from "node:child_process";
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 ---");
}