Skip to content

Commit c4c9440

Browse files
committed
LOGC-57: Close GetObject response bodies in e2e tests
1 parent 029e6a1 commit c4c9440

3 files changed

Lines changed: 18 additions & 9 deletions

File tree

test/e2e/acl_required_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@ var _ = Describe("aclRequired field in access logs", func() {
3434
})
3535
Expect(err).NotTo(HaveOccurred(), "PUT should succeed")
3636

37-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
37+
resp, err := testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
3838
Bucket: aws.String(testCtx.SourceBucket),
3939
Key: aws.String(testKey),
4040
})
4141
Expect(err).NotTo(HaveOccurred(), "GET should succeed")
42+
_ = resp.Body.Close()
4243

4344
testCtx.VerifyLogs(
4445
testCtx.ObjectOp("REST.PUT.OBJECT", testKey, 200).
@@ -79,11 +80,12 @@ var _ = Describe("aclRequired field in access logs", func() {
7980
// GET object as the IAM user — authorized via ACL (same account)
8081
iamS3Client := iamUser.S3Client
8182

82-
_, err = iamS3Client.GetObject(ctx, &s3.GetObjectInput{
83+
resp, err := iamS3Client.GetObject(ctx, &s3.GetObjectInput{
8384
Bucket: aws.String(testCtx.SourceBucket),
8485
Key: aws.String(testKey),
8586
})
8687
Expect(err).NotTo(HaveOccurred(), "GET as IAM user should succeed")
88+
_ = resp.Body.Close()
8789

8890
logs := testCtx.VerifyLogs(
8991
testCtx.ObjectOp("REST.PUT.OBJECT", testKey, 200).

test/e2e/object_operations_test.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@ var _ = Describe("Object Operations", func() {
3434
})
3535
Expect(err).NotTo(HaveOccurred(), "PUT operation should succeed")
3636

37-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
37+
getResp, err := testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
3838
Bucket: aws.String(testCtx.SourceBucket),
3939
Key: aws.String(testKey),
4040
})
4141
Expect(err).NotTo(HaveOccurred(), "GET operation should succeed")
42+
_ = getResp.Body.Close()
4243

4344
_, err = testCtx.S3Client.HeadObject(ctx, &s3.HeadObjectInput{
4445
Bucket: aws.String(testCtx.SourceBucket),
@@ -239,30 +240,33 @@ var _ = Describe("Object Operations", func() {
239240

240241
// Range GET - first 10 bytes
241242
rangeHeader := "bytes=0-9"
242-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
243+
rangeResp, err := testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
243244
Bucket: aws.String(testCtx.SourceBucket),
244245
Key: aws.String(testKey),
245246
Range: aws.String(rangeHeader),
246247
})
247248
Expect(err).NotTo(HaveOccurred(), "Range GET should succeed")
249+
_ = rangeResp.Body.Close()
248250

249251
// Range GET - last 5 bytes
250252
rangeHeader2 := "bytes=-5"
251-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
253+
rangeResp, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
252254
Bucket: aws.String(testCtx.SourceBucket),
253255
Key: aws.String(testKey),
254256
Range: aws.String(rangeHeader2),
255257
})
256258
Expect(err).NotTo(HaveOccurred(), "Range GET (suffix) should succeed")
259+
_ = rangeResp.Body.Close()
257260

258261
// Range GET - middle portion (bytes 5-14)
259262
rangeHeader3 := "bytes=5-14"
260-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
263+
rangeResp, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
261264
Bucket: aws.String(testCtx.SourceBucket),
262265
Key: aws.String(testKey),
263266
Range: aws.String(rangeHeader3),
264267
})
265268
Expect(err).NotTo(HaveOccurred(), "Range GET (middle) should succeed")
269+
_ = rangeResp.Body.Close()
266270

267271
// invalid range (beyond object size)
268272
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
@@ -309,11 +313,12 @@ var _ = Describe("Object Operations", func() {
309313
})
310314
Expect(err).NotTo(HaveOccurred(), "PUT empty object should succeed")
311315

312-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
316+
getResp, err := testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
313317
Bucket: aws.String(testCtx.SourceBucket),
314318
Key: aws.String(testKey),
315319
})
316320
Expect(err).NotTo(HaveOccurred(), "GET empty object should succeed")
321+
_ = getResp.Body.Close()
317322

318323
_, err = testCtx.S3Client.HeadObject(ctx, &s3.HeadObjectInput{
319324
Bucket: aws.String(testCtx.SourceBucket),
@@ -437,12 +442,13 @@ var _ = Describe("Object Operations", func() {
437442
deleteMarkerVersionID := deleteResp.VersionId
438443

439444
// GET object WITH ?versionId= (should log the versionId)
440-
_, err = testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
445+
getResp, err := testCtx.S3Client.GetObject(ctx, &s3.GetObjectInput{
441446
Bucket: aws.String(testCtx.SourceBucket),
442447
Key: aws.String(testKey),
443448
VersionId: versionID,
444449
})
445450
Expect(err).NotTo(HaveOccurred(), "GET object version should succeed")
451+
_ = getResp.Body.Close()
446452

447453
// HEAD object WITH ?versionId= (should log the versionId)
448454
_, err = testCtx.S3Client.HeadObject(ctx, &s3.HeadObjectInput{

test/e2e/tls_fields_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,12 @@ var _ = Describe("TLS fields in access logs", func() {
8484
})
8585
Expect(err).NotTo(HaveOccurred(), "PUT through S3 frontend should succeed")
8686

87-
_, err = tlsClient.GetObject(ctx, &s3.GetObjectInput{
87+
getResp, err := tlsClient.GetObject(ctx, &s3.GetObjectInput{
8888
Bucket: aws.String(testCtx.SourceBucket),
8989
Key: aws.String(testKey),
9090
})
9191
Expect(err).NotTo(HaveOccurred(), "GET through S3 frontend should succeed")
92+
_ = getResp.Body.Close()
9293

9394
logs := testCtx.VerifyLogs(
9495
testCtx.ObjectOp("REST.PUT.OBJECT", testKey, 200).WithObjectSize(int64(len(testContent))),

0 commit comments

Comments
 (0)