Files
cfw-autumn/server/tests/unit/dev/cli-auth-utils.test.ts

27 lines
732 B
TypeScript

import { describe, expect, test } from "bun:test";
import {
generateOtp,
generateRandomKey,
} from "@/internal/dev/cliAuth/cliAuthUtils.js";
describe("cliAuthUtils", () => {
test("generates a six digit OTP", () => {
const otp = generateOtp();
expect(otp).toMatch(/^\d{6}$/);
expect(Number(otp)).toBeGreaterThanOrEqual(100000);
expect(Number(otp)).toBeLessThanOrEqual(999999);
});
test("generates hex keys with the requested byte length", () => {
expect(generateRandomKey()).toMatch(/^[0-9a-f]{64}$/);
expect(generateRandomKey(8)).toMatch(/^[0-9a-f]{16}$/);
});
test("rejects invalid key lengths", () => {
expect(() => generateRandomKey(0)).toThrow(
"Key length must be a positive number.",
);
});
});