Deno.test({
name: "putObject() can stream a large file upload",
fn: async () => {
// First generate a 32MiB file in memory, 1 MiB at a time, as a stream
const dataStream = ReadableStream.from(async function* () {
for (let i = 0; i < 32; i++) {
yield new Uint8Array(1024 * 1024).fill(i % 256); // Yield 1MB of data
}
}());
const key = "test-32m.dat";
const metadata = { "Content-Type": "test/streaming", "x-amz-meta-custom-header": "This is a custom value!" };
const response = await client.putObject(key, dataStream, { partSize: 5 * 1024 * 1024, metadata });
assertEquals(response.etag, "ca6d977b6e7dc87ab5c5892e124c7277-7");
const stat = await client.statObject(key);
assertEquals(stat.metadata, metadata);
},
});
Deno.test({
name: "putObject() can stream a large file upload",
fn: async () => {
// First generate a 32MiB file in memory, 1 MiB at a time, as a stream
const dataStream = ReadableStream.from(async function* () {
for (let i = 0; i < 32; i++) {
yield new Uint8Array(1024 * 1024).fill(i % 256); // Yield 1MB of data
}
}());
const key = "test-32m.dat";
const metadata = { "Content-Type": "test/streaming", "x-amz-meta-custom-header": "This is a custom value!" };
const response = await client.putObject(key, dataStream, { partSize: 5 * 1024 * 1024, metadata });
assertEquals(response.etag, "ca6d977b6e7dc87ab5c5892e124c7277-7");
const stat = await client.statObject(key);
assertEquals(stat.metadata, metadata);
},
});