21 lines
685 B
TypeScript
21 lines
685 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { generateSecureToken, generateSecureUuid } from "./secure-random.js";
|
|
|
|
describe("secure-random", () => {
|
|
it("generates UUIDs", () => {
|
|
const first = generateSecureUuid();
|
|
const second = generateSecureUuid();
|
|
expect(first).not.toBe(second);
|
|
expect(first).toMatch(
|
|
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
|
|
);
|
|
});
|
|
|
|
it("generates url-safe tokens", () => {
|
|
const defaultToken = generateSecureToken();
|
|
const token18 = generateSecureToken(18);
|
|
expect(defaultToken).toMatch(/^[A-Za-z0-9_-]+$/);
|
|
expect(token18).toMatch(/^[A-Za-z0-9_-]{24}$/);
|
|
});
|
|
});
|