Skip to content

Commit 49fd801

Browse files
committed
feat(lib-storage): concurrent requests
1 parent f70735f commit 49fd801

File tree

7 files changed

+970
-382
lines changed

7 files changed

+970
-382
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
"source.fixAll.eslint": "explicit"
1212
},
1313
"typescript.tsdk": "node_modules/typescript/lib",
14-
"vitest.disableWorkspaceWarning": true
14+
"vitest.disableWorkspaceWarning": true,
15+
"java.configuration.updateBuildConfiguration": "interactive"
1516
}

lib/lib-storage/src/s3-transfer-manager/S3TransferManager.e2e.spec.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,16 @@ describe(S3TransferManager.name, () => {
3131
let region: string;
3232

3333
beforeAll(async () => {
34-
// const integTestResourcesEnv = await getIntegTestResources();
35-
// Object.assign(process.env, integTestResourcesEnv);
34+
// TODO: replace hard coded region and bucket with integration test resources.
35+
const integTestResourcesEnv = await getIntegTestResources();
36+
Object.assign(process.env, integTestResourcesEnv);
3637

37-
// region = process?.env?.AWS_SMOKE_TEST_REGION as string;
38-
// Bucket = process?.env?.AWS_SMOKE_TEST_BUCKET as string;
38+
region = process?.env?.AWS_SMOKE_TEST_REGION as string;
39+
Bucket = process?.env?.AWS_SMOKE_TEST_BUCKET as string;
3940
void getIntegTestResources;
4041

41-
region = "us-west-2";
42-
Bucket = "lukachad-us-west-2";
42+
// region = "us-west-2";
43+
// Bucket = "lukachad-us-west-2";
4344

4445
client = new S3({
4546
region,
@@ -54,7 +55,7 @@ describe(S3TransferManager.name, () => {
5455
});
5556
}, 120_000);
5657

57-
describe.skip("multi part download", () => {
58+
describe("multi part download", () => {
5859
const modes = ["PART", "RANGE"] as S3TransferManagerConfig["multipartDownloadType"][];
5960
const sizes = [6, 11] as number[];
6061

@@ -92,13 +93,12 @@ describe(S3TransferManager.name, () => {
9293
},
9394
{
9495
eventListeners: {
95-
transferInitiated: [({ request, snapshot }) => {}],
9696
bytesTransferred: [
9797
({ request, snapshot }) => {
9898
bytesTransferred = snapshot.transferredBytes;
99+
// console.log(bytesTransferred);
99100
},
100101
],
101-
transferComplete: [({ request, snapshot, response }) => {}],
102102
},
103103
}
104104
);
@@ -111,7 +111,7 @@ describe(S3TransferManager.name, () => {
111111
}
112112
});
113113

114-
describe("(SEP) download single object tests", () => {
114+
describe.skip("(SEP) download single object tests", () => {
115115
async function sepTests(
116116
objectType: "single" | "multipart",
117117
multipartType: "PART" | "RANGE",
@@ -151,7 +151,7 @@ describe(S3TransferManager.name, () => {
151151
const serialized = await download.Body?.transformToString();
152152
check(serialized);
153153
if (partNumber) {
154-
expect(serialized?.length).toEqual(DEFAULT_PART_SIZE);
154+
expect(serialized?.length).toEqual(4 * 1024 * 1024); // Part 1 is 8MB Part 2 is 4MB
155155
} else {
156156
expect(serialized?.length).toEqual(Body.length);
157157
}
@@ -163,10 +163,11 @@ describe(S3TransferManager.name, () => {
163163
it("multipart object: multipartDownloadType = RANGE, range = 0-12MB, partNumber = null", async () => {
164164
await sepTests("multipart", "RANGE", `bytes=0-${12 * 1024 * 1024}`, undefined);
165165
}, 60_000);
166-
it("single object: multipartDownloadType = PART, range = null, partNumber = 2", async () => {
166+
// skipped because TM no longer supports partNumber
167+
it.skip("single object: multipartDownloadType = PART, range = null, partNumber = 2", async () => {
167168
await sepTests("single", "PART", undefined, 2);
168169
}, 60_000);
169-
it("single object: multipartDownloadType = RANGE, range = null, partNumber = 2", async () => {
170+
it.skip("single object: multipartDownloadType = RANGE, range = null, partNumber = 2", async () => {
170171
await sepTests("single", "RANGE", undefined, 2);
171172
}, 60_000);
172173
it("single object: multipartDownloadType = PART, range = null, partNumber = null", async () => {

0 commit comments

Comments
 (0)