41 lines
1.3 KiB
TypeScript
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);
|
|
},
|
|
);
|