diff --git a/src/drivers/s3.ts b/src/drivers/s3.ts index 22efd6ce..e4c295c8 100644 --- a/src/drivers/s3.ts +++ b/src/drivers/s3.ts @@ -162,6 +162,7 @@ export default defineDriver((options: S3DriverOptions) => { return { name: DRIVER_NAME, options, + getInstance: getAwsClient, getItem(key) { return getObject(key).then((res) => (res ? res.text() : null)); }, diff --git a/test/drivers/s3.test.ts b/test/drivers/s3.test.ts index e507a9df..87ebce99 100644 --- a/test/drivers/s3.test.ts +++ b/test/drivers/s3.test.ts @@ -12,15 +12,17 @@ const region = process.env.VITE_S3_REGION; describe.skipIf( !accessKeyId || !secretAccessKey || !bucket || !endpoint || !region )("drivers: s3", () => { + const driver = () => + s3Driver({ + accessKeyId: accessKeyId!, + secretAccessKey: secretAccessKey!, + bucket: bucket!, + endpoint: endpoint!, + region: region!, + }); + testDriver({ - driver: () => - s3Driver({ - accessKeyId: accessKeyId!, - secretAccessKey: secretAccessKey!, - bucket: bucket!, - endpoint: endpoint!, - region: region!, - }), + driver, additionalTests(ctx) { it("can access directly with / separator", async () => { await ctx.storage.set("foo/bar:baz", "ok"); @@ -40,6 +42,10 @@ describe.skipIf( expect(response.status).toBe(200); expect(await response.text()).toBe("ok"); }); + + it("exposes instance", () => { + expect(driver().getInstance?.()).toBeInstanceOf(AwsClient); + }); }, }); });