mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-10-28 23:57:17 +09:00
43 lines
858 B
TypeScript
43 lines
858 B
TypeScript
import {
|
|
encrypt,
|
|
decrypt,
|
|
createAccessToken,
|
|
readAccessToken,
|
|
} from "./token.server";
|
|
import { test, expect } from "vitest";
|
|
import { nanoid } from "nanoid";
|
|
|
|
test.each([
|
|
"",
|
|
nanoid(1),
|
|
nanoid(2),
|
|
nanoid(5),
|
|
nanoid(10),
|
|
nanoid(20),
|
|
nanoid(30),
|
|
nanoid(40),
|
|
])("Encrypt and decrypt", async (cithertext) => {
|
|
const secret =
|
|
"JDKHSJFHKJHFSKJDHFJSDHFKJHDKJFHSKJDHFKJHFKJSFHKKADHJKSHDJKSHAJKHDASKDJH";
|
|
|
|
expect(await decrypt(await encrypt(cithertext, secret), secret)).toBe(
|
|
cithertext
|
|
);
|
|
});
|
|
|
|
test("Access token", async () => {
|
|
const secret = "1212121212";
|
|
|
|
const token = await createAccessToken(
|
|
{ userId: "1", projectId: "2" },
|
|
secret,
|
|
{
|
|
maxAge: 1000 * 60,
|
|
}
|
|
);
|
|
|
|
const tokenPayload = await readAccessToken(token, secret);
|
|
|
|
expect(tokenPayload).toEqual({ userId: "1", projectId: "2" });
|
|
});
|