Files
setup-uv/__tests__/download/checksum/update-known-checksums.test.ts
T
2026-08-19 17:54:07 -04:00

28 lines
958 B
TypeScript

import { promises as fs } from "node:fs";
import os from "node:os";
import path from "node:path";
import { expect, test } from "@jest/globals";
import { updateChecksums } from "../../../src/download/checksum/update-known-checksums";
test("serializes checksum entries as JSON data", async () => {
const tempDirectory = await fs.mkdtemp(
path.join(os.tmpdir(), "setup-uv-checksums-test-"),
);
const outputPath = path.join(tempDirectory, "known-checksums.json");
const key = 'platform-1.0.0"\n};\nglobalThis.compromised = true;';
const checksum = 'checksum"\\\nvalue';
try {
await updateChecksums(outputPath, [
{ checksum, key },
{ checksum: "duplicate", key },
]);
const content = await fs.readFile(outputPath, "utf8");
expect(JSON.parse(content)).toEqual({ [key]: checksum });
expect(content.endsWith("\n")).toBe(true);
} finally {
await fs.rm(tempDirectory, { force: true, recursive: true });
}
});