|
import { assert, it, describe } from "vitest"; |
|
import type { ListFileEntry } from "./list-files"; |
|
import { listFiles } from "./list-files"; |
|
|
|
describe("listFiles", () => { |
|
it("should fetch the list of files from the repo", async () => { |
|
const cursor = listFiles({ |
|
repo: { |
|
name: "bert-base-uncased", |
|
type: "model", |
|
}, |
|
revision: "dd4bc8b21efa05ec961e3efc4ee5e3832a3679c7", |
|
}); |
|
|
|
const files: ListFileEntry[] = []; |
|
|
|
for await (const entry of cursor) { |
|
files.push(entry); |
|
} |
|
|
|
assert.deepStrictEqual(files, [ |
|
{ |
|
oid: "dc08351d4dc0732d9c8af04070ced089b201ce2f", |
|
path: ".gitattributes", |
|
size: 345, |
|
type: "file", |
|
}, |
|
{ |
|
oid: "fca794a5f07ff8f963fe8b61e3694b0fb7f955df", |
|
path: "config.json", |
|
size: 313, |
|
type: "file", |
|
}, |
|
{ |
|
lfs: { |
|
oid: "097417381d6c7230bd9e3557456d726de6e83245ec8b24f529f60198a67b203a", |
|
size: 440473133, |
|
pointerSize: 134, |
|
}, |
|
xetHash: "2d8408d3a894d02517d04956e2f7546ff08362594072f3527ce144b5212a3296", |
|
oid: "ba5d19791be1dd7992e33bd61f20207b0f7f50a5", |
|
path: "pytorch_model.bin", |
|
size: 440473133, |
|
type: "file", |
|
}, |
|
{ |
|
lfs: { |
|
oid: "a7a17d6d844b5de815ccab5f42cad6d24496db3850a2a43d8258221018ce87d2", |
|
size: 536063208, |
|
pointerSize: 134, |
|
}, |
|
xetHash: "879c5715c18a0b7f051dd33f70f0a5c8dd1522e0a43f6f75520f16167f29279b", |
|
oid: "9eb98c817f04b051b3bcca591bcd4e03cec88018", |
|
path: "tf_model.h5", |
|
size: 536063208, |
|
type: "file", |
|
}, |
|
{ |
|
oid: "fb140275c155a9c7c5a3b3e0e77a9e839594a938", |
|
path: "vocab.txt", |
|
size: 231508, |
|
type: "file", |
|
}, |
|
]); |
|
}); |
|
|
|
it("should fetch the list of files from the repo, including last commit", async () => { |
|
const cursor = listFiles({ |
|
repo: { |
|
name: "bert-base-uncased", |
|
type: "model", |
|
}, |
|
revision: "dd4bc8b21efa05ec961e3efc4ee5e3832a3679c7", |
|
expand: true, |
|
}); |
|
|
|
const files: ListFileEntry[] = []; |
|
|
|
for await (const entry of cursor) { |
|
delete entry.securityFileStatus; |
|
files.push(entry); |
|
} |
|
|
|
assert.deepStrictEqual(files, [ |
|
{ |
|
lastCommit: { |
|
date: "2018-11-14T23:35:08.000Z", |
|
id: "504939aa53e8ce310dba3dd2296dbe266c575de4", |
|
title: "initial commit", |
|
}, |
|
oid: "dc08351d4dc0732d9c8af04070ced089b201ce2f", |
|
path: ".gitattributes", |
|
size: 345, |
|
type: "file", |
|
}, |
|
{ |
|
lastCommit: { |
|
date: "2019-06-18T09:06:51.000Z", |
|
id: "bb3c1c3256d2598217df9889a14a2e811587891d", |
|
title: "Update config.json", |
|
}, |
|
oid: "fca794a5f07ff8f963fe8b61e3694b0fb7f955df", |
|
path: "config.json", |
|
size: 313, |
|
type: "file", |
|
}, |
|
{ |
|
lastCommit: { |
|
date: "2019-06-18T09:06:34.000Z", |
|
id: "3d2477d72b675a999d1b13ca822aaaf4908634ad", |
|
title: "Update pytorch_model.bin", |
|
}, |
|
lfs: { |
|
oid: "097417381d6c7230bd9e3557456d726de6e83245ec8b24f529f60198a67b203a", |
|
size: 440473133, |
|
pointerSize: 134, |
|
}, |
|
xetHash: "2d8408d3a894d02517d04956e2f7546ff08362594072f3527ce144b5212a3296", |
|
oid: "ba5d19791be1dd7992e33bd61f20207b0f7f50a5", |
|
path: "pytorch_model.bin", |
|
size: 440473133, |
|
type: "file", |
|
}, |
|
{ |
|
lastCommit: { |
|
date: "2019-09-23T19:48:44.000Z", |
|
id: "dd4bc8b21efa05ec961e3efc4ee5e3832a3679c7", |
|
title: "Update tf_model.h5", |
|
}, |
|
lfs: { |
|
oid: "a7a17d6d844b5de815ccab5f42cad6d24496db3850a2a43d8258221018ce87d2", |
|
size: 536063208, |
|
pointerSize: 134, |
|
}, |
|
xetHash: "879c5715c18a0b7f051dd33f70f0a5c8dd1522e0a43f6f75520f16167f29279b", |
|
oid: "9eb98c817f04b051b3bcca591bcd4e03cec88018", |
|
path: "tf_model.h5", |
|
size: 536063208, |
|
type: "file", |
|
}, |
|
{ |
|
lastCommit: { |
|
date: "2018-11-14T23:35:08.000Z", |
|
id: "2f07d813ca87c8c709147704c87210359ccf2309", |
|
title: "Update vocab.txt", |
|
}, |
|
oid: "fb140275c155a9c7c5a3b3e0e77a9e839594a938", |
|
path: "vocab.txt", |
|
size: 231508, |
|
type: "file", |
|
}, |
|
]); |
|
}); |
|
|
|
it("should fetch the list of files from the repo, including subfolders", async () => { |
|
const cursor = listFiles({ |
|
repo: { |
|
name: "xsum", |
|
type: "dataset", |
|
}, |
|
revision: "0f3ea2f2b55fcb11e71fb1e3aec6822e44ddcb0f", |
|
recursive: true, |
|
}); |
|
|
|
const files: ListFileEntry[] = []; |
|
|
|
for await (const entry of cursor) { |
|
files.push(entry); |
|
} |
|
|
|
assert(files.some((file) => file.path === "data/XSUM-EMNLP18-Summary-Data-Original.tar.gz")); |
|
}); |
|
}); |
|
|