From 0a43607517c17e9bcf8e2fa778e8e59f70b21f64 Mon Sep 17 00:00:00 2001 From: siddsriv Date: Mon, 24 Mar 2025 20:20:05 +0000 Subject: [PATCH] test(lib-storage): increase timeout for hooks calling integTestResources --- lib/lib-storage/src/lib-storage.e2e.spec.ts | 50 +++++++++++++-------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/lib/lib-storage/src/lib-storage.e2e.spec.ts b/lib/lib-storage/src/lib-storage.e2e.spec.ts index 23fd0ba39b0d..deb2c75bcb3b 100644 --- a/lib/lib-storage/src/lib-storage.e2e.spec.ts +++ b/lib/lib-storage/src/lib-storage.e2e.spec.ts @@ -23,29 +23,41 @@ describe("@aws-sdk/lib-storage", () => { let dataString: string; let Bucket: string; let region: string; + let resourcesAvailable = false; beforeAll(async () => { - const integTestResourcesEnv = await getIntegTestResources(); - Object.assign(process.env, integTestResourcesEnv); - - region = process?.env?.AWS_SMOKE_TEST_REGION as string; - Bucket = process?.env?.AWS_SMOKE_TEST_BUCKET as string; - - Key = ``; - data = randomBytes(20_240_000); - dataString = data.toString(); - - // @ts-expect-error: Types of property 'requestChecksumCalculation' are incompatible - client = new S3({ - region, - requestChecksumCalculation, - }); - Key = `multi-part-file-${requestChecksumCalculation}-${ChecksumAlgorithm}-${Date.now()}`; - }); + try { + const integTestResourcesEnv = await getIntegTestResources(); + Object.assign(process.env, integTestResourcesEnv); + + region = process?.env?.AWS_SMOKE_TEST_REGION as string; + Bucket = process?.env?.AWS_SMOKE_TEST_BUCKET as string; + + Key = ``; + data = randomBytes(20_240_000); + dataString = data.toString(); + + // @ts-expect-error: Types of property 'requestChecksumCalculation' are incompatible + client = new S3({ + region, + requestChecksumCalculation, + }); + Key = `multi-part-file-${requestChecksumCalculation}-${ChecksumAlgorithm}-${Date.now()}`; + resourcesAvailable = true; + } catch (error) { + console.warn("Failed to set up test resources:", error); + } + }, 45_000); afterAll(async () => { - await client.deleteObject({ Bucket, Key }); - }); + if (client && Bucket && Key) { + try { + await client.deleteObject({ Bucket, Key }); + } catch (error) { + console.warn("Failed to clean up test object:", error); + } + } + }, 10_000); it("should upload in parts for input type bytes", async () => { const s3Upload = new Upload({