mirror of
https://github.com/Sea-Haven-Industries/seahaven-ap.git
synced 2026-09-30 22:03:17 +00:00
* feat(api): stand up Hono Drizzle foundation with auth and Redocly * fix(api): bump drizzle-orm and hono node-server past audit highs * fix(api): harden auth upsert and Cognito token verification
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { loadEnv } from "./env.js";
|
|
|
|
describe("loadEnv", () => {
|
|
it("allows DEV_AUTH_BYPASS in development", () => {
|
|
const env = loadEnv({
|
|
NODE_ENV: "development",
|
|
DEV_AUTH_BYPASS: "true",
|
|
DEV_AUTH_ROLE: "viewer",
|
|
});
|
|
expect(env.devAuthBypass).toBe(true);
|
|
expect(env.devAuthRole).toBe("viewer");
|
|
expect(env.port).toBe(8787);
|
|
});
|
|
|
|
it("allows DEV_AUTH_BYPASS in test", () => {
|
|
const env = loadEnv({
|
|
NODE_ENV: "test",
|
|
DEV_AUTH_BYPASS: "true",
|
|
});
|
|
expect(env.devAuthBypass).toBe(true);
|
|
});
|
|
|
|
it("rejects DEV_AUTH_BYPASS in production", () => {
|
|
expect(() =>
|
|
loadEnv({
|
|
NODE_ENV: "production",
|
|
DEV_AUTH_BYPASS: "true",
|
|
}),
|
|
).toThrow(/DEV_AUTH_BYPASS/);
|
|
});
|
|
|
|
it("rejects DEV_AUTH_BYPASS in staging and other non-local envs", () => {
|
|
expect(() =>
|
|
loadEnv({
|
|
NODE_ENV: "staging",
|
|
DEV_AUTH_BYPASS: "true",
|
|
}),
|
|
).toThrow(/development or test/);
|
|
|
|
expect(() =>
|
|
loadEnv({
|
|
NODE_ENV: "preview",
|
|
DEV_AUTH_BYPASS: "true",
|
|
}),
|
|
).toThrow(/DEV_AUTH_BYPASS/);
|
|
});
|
|
|
|
it("requires Cognito config when bypass is off", () => {
|
|
expect(() =>
|
|
loadEnv({
|
|
NODE_ENV: "development",
|
|
DEV_AUTH_BYPASS: "false",
|
|
}),
|
|
).toThrow(/COGNITO_ISSUER/);
|
|
});
|
|
});
|