mirror of
https://github.com/gethomepage/homepage.git
synced 2026-09-14 16:15:46 -07:00
54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
describe("instrumentation", () => {
|
|
const originalEnv = process.env;
|
|
|
|
beforeEach(() => {
|
|
vi.resetModules();
|
|
process.env = { ...originalEnv };
|
|
delete process.env.NEXTAUTH_SECRET;
|
|
delete process.env.NEXTAUTH_URL;
|
|
delete process.env.HOMEPAGE_AUTH_SECRET;
|
|
delete process.env.HOMEPAGE_EXTERNAL_URL;
|
|
process.env.NEXT_RUNTIME = "nodejs";
|
|
});
|
|
|
|
afterEach(() => {
|
|
process.env = originalEnv;
|
|
});
|
|
|
|
it("maps HOMEPAGE_* auth envs to their NextAuth equivalents", async () => {
|
|
process.env.HOMEPAGE_AUTH_SECRET = "secret";
|
|
process.env.HOMEPAGE_EXTERNAL_URL = "https://homepage.example";
|
|
const { register } = await import("./instrumentation");
|
|
|
|
register();
|
|
|
|
expect(process.env.NEXTAUTH_SECRET).toBe("secret");
|
|
expect(process.env.NEXTAUTH_URL).toBe("https://homepage.example");
|
|
});
|
|
|
|
it("does not override explicitly configured NextAuth envs", async () => {
|
|
process.env.HOMEPAGE_AUTH_SECRET = "secret";
|
|
process.env.HOMEPAGE_EXTERNAL_URL = "https://homepage.example";
|
|
process.env.NEXTAUTH_SECRET = "explicit-secret";
|
|
process.env.NEXTAUTH_URL = "https://explicit.example";
|
|
const { register } = await import("./instrumentation");
|
|
|
|
register();
|
|
|
|
expect(process.env.NEXTAUTH_SECRET).toBe("explicit-secret");
|
|
expect(process.env.NEXTAUTH_URL).toBe("https://explicit.example");
|
|
});
|
|
|
|
it("is a no-op outside the node runtime", async () => {
|
|
process.env.NEXT_RUNTIME = "edge";
|
|
process.env.HOMEPAGE_EXTERNAL_URL = "https://homepage.example";
|
|
const { register } = await import("./instrumentation");
|
|
|
|
register();
|
|
|
|
expect(process.env.NEXTAUTH_URL).toBeUndefined();
|
|
});
|
|
});
|