js-hub / lib /delete-files.spec.ts
coyotte508's picture
coyotte508 HF Staff
Add 1 files
21dd449 verified
import { assert, it, describe } from "vitest";
import { TEST_HUB_URL, TEST_ACCESS_TOKEN, TEST_USER } from "../test/consts";
import type { RepoId } from "../types/public";
import { insecureRandomString } from "../utils/insecureRandomString";
import { createRepo } from "./create-repo";
import { deleteRepo } from "./delete-repo";
import { deleteFiles } from "./delete-files";
import { downloadFile } from "./download-file";
describe("deleteFiles", () => {
it("should delete multiple files", async () => {
const repoName = `${TEST_USER}/TEST-${insecureRandomString()}`;
const repo = { type: "model", name: repoName } satisfies RepoId;
try {
const result = await createRepo({
accessToken: TEST_ACCESS_TOKEN,
repo,
files: [
{ path: "file1", content: new Blob(["file1"]) },
{ path: "file2", content: new Blob(["file2"]) },
{ path: "file3", content: new Blob(["file3"]) },
],
hubUrl: TEST_HUB_URL,
});
assert.deepStrictEqual(result, {
repoUrl: `${TEST_HUB_URL}/${repoName}`,
});
let content = await downloadFile({
repo,
path: "file1",
hubUrl: TEST_HUB_URL,
});
assert.strictEqual(await content?.text(), "file1");
content = await downloadFile({
repo,
path: "file2",
hubUrl: TEST_HUB_URL,
});
assert.strictEqual(await content?.text(), "file2");
await deleteFiles({ paths: ["file1", "file2"], repo, accessToken: TEST_ACCESS_TOKEN, hubUrl: TEST_HUB_URL });
content = await downloadFile({
repo,
path: "file1",
hubUrl: TEST_HUB_URL,
});
assert.strictEqual(content, null);
content = await downloadFile({
repo,
path: "file2",
hubUrl: TEST_HUB_URL,
});
assert.strictEqual(content, null);
content = await downloadFile({
repo,
path: "file3",
hubUrl: TEST_HUB_URL,
});
assert.strictEqual(await content?.text(), "file3");
} finally {
await deleteRepo({
repo,
accessToken: TEST_ACCESS_TOKEN,
hubUrl: TEST_HUB_URL,
});
}
});
});