unstorage/test/drivers/github.test.ts
2025-10-07 20:36:43 +02:00

39 lines
1.1 KiB
TypeScript

import { describe, it, expect } from "vitest";
import driver from "../../src/drivers/github.ts";
import { createStorage } from "../../src/index.ts";
describe("drivers: github", () => {
const storage = createStorage({
driver: driver({ repo: "unjs/unstorage", branch: "main", dir: "/" }),
});
it("can read a repository files", async () => {
const keys = await storage.getKeys();
expect(keys.length).toBeGreaterThan(10);
});
it("can check for a file presence", async () => {
const hasPkg = await storage.hasItem("package.json");
expect(hasPkg).toBe(true);
});
it("can read a json file content", async () => {
const pkg = (await storage.getItem("package.json"))! as Record<
string,
unknown
>;
expect(pkg.name).toBe("unstorage");
});
it("can read an item metadata", async () => {
const pkgMeta = (await storage.getMeta("package.json")) as {
sha: string;
mode: string;
size: number;
};
expect(pkgMeta.sha.length > 0).toBe(true);
expect(Number(pkgMeta.mode)).toBeGreaterThan(1000);
expect(pkgMeta.size).toBeGreaterThan(1000);
});
});