Add R2 storage contracts

This commit is contained in:
2026-05-08 17:14:10 -04:00
parent 0ff5585b96
commit 8284992e11
6 changed files with 487 additions and 0 deletions
+16
View File
@@ -103,6 +103,7 @@ function testEnv(options: TestEnvOptions = {}): Env {
return Promise.resolve(values.get(key) ?? null);
},
},
ELY_STORAGE: testR2Bucket(),
ELY_RATE_LIMITER: {
limit(input: { key: string }): Promise<{ success: boolean }> {
options.rateLimitKeys?.push(input.key);
@@ -119,6 +120,21 @@ function testEnv(options: TestEnvOptions = {}): Env {
};
}
function testR2Bucket(): Env["ELY_STORAGE"] {
return {
get() {
return Promise.resolve(null);
},
put() {
return Promise.resolve({
arrayBuffer() {
return Promise.resolve(new ArrayBuffer(0));
},
});
},
};
}
function testD1Database(): Env["ELY_DB"] {
return {
prepare() {