mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 08:01:25 +00:00
64 lines
1.8 KiB
TypeScript
64 lines
1.8 KiB
TypeScript
import { afterEach, describe, expect, it } from "bun:test";
|
|
import { resolveWindmillBackendSettings } from "./windmillBackendSettings";
|
|
|
|
const ENV_KEYS = [
|
|
"WMILL_AI_EVAL_BACKEND_URL",
|
|
"WINDMILL_URL",
|
|
"WINDMILL_BASE_URL",
|
|
"REMOTE",
|
|
"WMILL_AI_EVAL_BACKEND_EMAIL",
|
|
"WMILL_AI_EVAL_BACKEND_PASSWORD",
|
|
"WMILL_AI_EVAL_BACKEND_WORKSPACE",
|
|
] as const;
|
|
|
|
const ORIGINAL_ENV = Object.fromEntries(
|
|
ENV_KEYS.map((key) => [key, process.env[key]]),
|
|
) as Record<(typeof ENV_KEYS)[number], string | undefined>;
|
|
|
|
afterEach(() => {
|
|
for (const key of ENV_KEYS) {
|
|
const value = ORIGINAL_ENV[key];
|
|
if (value === undefined) {
|
|
delete process.env[key];
|
|
} else {
|
|
process.env[key] = value;
|
|
}
|
|
}
|
|
});
|
|
|
|
describe("resolveWindmillBackendSettings", () => {
|
|
it("uses backend URL/auth defaults and the optional explicit workspace", () => {
|
|
delete process.env.WMILL_AI_EVAL_BACKEND_URL;
|
|
delete process.env.WINDMILL_URL;
|
|
delete process.env.WINDMILL_BASE_URL;
|
|
delete process.env.REMOTE;
|
|
process.env.WMILL_AI_EVAL_BACKEND_WORKSPACE = "shared-evals";
|
|
|
|
expect(resolveWindmillBackendSettings()).toEqual({
|
|
baseUrl: "http://127.0.0.1:8000",
|
|
email: "admin@windmill.dev",
|
|
password: "changeme",
|
|
workspaceOverride: "shared-evals",
|
|
});
|
|
});
|
|
|
|
it("does not expose workspace retention knobs", () => {
|
|
process.env.WMILL_AI_EVAL_BACKEND_URL = "http://backend.test/";
|
|
|
|
const settings = resolveWindmillBackendSettings();
|
|
|
|
expect(settings).toEqual({
|
|
baseUrl: "http://backend.test",
|
|
email: "admin@windmill.dev",
|
|
password: "changeme",
|
|
workspaceOverride: undefined,
|
|
});
|
|
expect(Object.keys(settings).sort()).toEqual([
|
|
"baseUrl",
|
|
"email",
|
|
"password",
|
|
"workspaceOverride",
|
|
]);
|
|
});
|
|
});
|