mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-15 20:17:22 +00:00
* refactored adapters to run test suites * fix bun version for tests * added missing adapter tests and refactored examples to use `bknd.config.ts` where applicable
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
|
import { StorageS3Adapter } from "./StorageS3Adapter";
|
|
|
|
import { config } from "dotenv";
|
|
import { adapterTestSuite } from "media";
|
|
import { assetsPath } from "../../../../../__test__/helper";
|
|
import { bunTestRunner } from "adapter/bun/test";
|
|
//import { enableFetchLogging } from "../../helper";
|
|
const dotenvOutput = config({ path: `${import.meta.dir}/.env` });
|
|
const { R2_ACCESS_KEY, R2_SECRET_ACCESS_KEY, R2_URL, AWS_ACCESS_KEY, AWS_SECRET_KEY, AWS_S3_URL } =
|
|
dotenvOutput.parsed!;
|
|
|
|
const ALL_TESTS = !!process.env.ALL_TESTS;
|
|
|
|
/*
|
|
// @todo: preparation to mock s3 calls + replace fast-xml-parser
|
|
let cleanup: () => void;
|
|
beforeAll(async () => {
|
|
cleanup = await enableFetchLogging();
|
|
});
|
|
afterAll(() => {
|
|
cleanup();
|
|
}); */
|
|
|
|
describe.skipIf(ALL_TESTS)("StorageS3Adapter", async () => {
|
|
if (ALL_TESTS) return;
|
|
|
|
const versions = [
|
|
[
|
|
"r2",
|
|
new StorageS3Adapter({
|
|
access_key: R2_ACCESS_KEY as string,
|
|
secret_access_key: R2_SECRET_ACCESS_KEY as string,
|
|
url: R2_URL as string,
|
|
}),
|
|
],
|
|
[
|
|
"s3",
|
|
new StorageS3Adapter({
|
|
access_key: AWS_ACCESS_KEY as string,
|
|
secret_access_key: AWS_SECRET_KEY as string,
|
|
url: AWS_S3_URL as string,
|
|
}),
|
|
],
|
|
] as const;
|
|
const file = Bun.file(`${assetsPath}/image.png`) as unknown as File;
|
|
|
|
describe.each(versions)("%s", async (_name, adapter) => {
|
|
await adapterTestSuite(bunTestRunner, adapter, file);
|
|
});
|
|
});
|