27 lines
732 B
TypeScript
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.",
|
|
);
|
|
});
|
|
});
|