node-launcher-kit/tests/libraries.test.ts

41 lines
1.3 KiB
TypeScript

import { expect, test, vi } from "vitest";
import * as nlk from "../dist/index.js";
import path from "path";
import fs from "fs/promises";
const librariesPath = path.join(import.meta.dirname, "temp/libraries");
const root = path.join(import.meta.dirname, "temp");
await fs.rm(librariesPath, { recursive: true, force: true });
await fs.mkdir(librariesPath, { recursive: true });
async function exists(path: string) {
try {
await fs.access(path, fs.constants.F_OK);
return true;
} catch {
return false;
}
}
// mock os to linux for testing
vi.stubGlobal("process", { platform: "linux" });
test(
"download libraries for 1.21.8 correctly",
{ timeout: 0 },
async () => {
const versionManifest = await nlk.core.version.getVersionManifest("1.21.8", root);
const librariesDownloader = await nlk.core.LibrariesDownloader(librariesPath, versionManifest);
librariesDownloader.on("completed", () => {
console.log(
`${librariesDownloader.done}/${librariesDownloader.total} | ${librariesDownloader.doneSize}/${librariesDownloader.totalSize}`,
);
});
await librariesDownloader.run()
expect(
await exists(path.join(librariesPath, "com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar")),
"com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar exists",
).toBe(true);
},
);