aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-07-18 21:40:04 -0700
committerchrislu <chris.lu@gmail.com>2025-07-18 21:40:04 -0700
commitb508e00de7535e3a6a14fd056c32bfa978613799 (patch)
tree4268b6684e87e12a61e037d8f432e97b957e2649
parente48681749928de30127a7e0837ecb1d896132636 (diff)
downloadseaweedfs-b508e00de7535e3a6a14fd056c32bfa978613799.tar.xz
seaweedfs-b508e00de7535e3a6a14fd056c32bfa978613799.zip
fix test
-rw-r--r--test/s3/retention/s3_retention_test.go23
1 files changed, 13 insertions, 10 deletions
diff --git a/test/s3/retention/s3_retention_test.go b/test/s3/retention/s3_retention_test.go
index 5c1f9f3dd..8477a50bf 100644
--- a/test/s3/retention/s3_retention_test.go
+++ b/test/s3/retention/s3_retention_test.go
@@ -392,25 +392,27 @@ func TestLegalHoldWorkflow(t *testing.T) {
})
require.Error(t, err, "DELETE with version ID should be blocked by legal hold")
- // Remove legal hold
+ // Remove legal hold (must specify version ID since latest version is now delete marker)
_, err = client.PutObjectLegalHold(context.TODO(), &s3.PutObjectLegalHoldInput{
- Bucket: aws.String(bucketName),
- Key: aws.String(key),
+ Bucket: aws.String(bucketName),
+ Key: aws.String(key),
+ VersionId: putResp.VersionId,
LegalHold: &types.ObjectLockLegalHold{
Status: types.ObjectLockLegalHoldStatusOff,
},
})
require.NoError(t, err)
- // Verify legal hold is off
+ // Verify legal hold is off (must specify version ID)
legalHoldResp, err = client.GetObjectLegalHold(context.TODO(), &s3.GetObjectLegalHoldInput{
- Bucket: aws.String(bucketName),
- Key: aws.String(key),
+ Bucket: aws.String(bucketName),
+ Key: aws.String(key),
+ VersionId: putResp.VersionId,
})
require.NoError(t, err)
assert.Equal(t, types.ObjectLockLegalHoldStatusOff, legalHoldResp.LegalHold.Status)
- // Now DELETE with version ID should succeed
+ // Now DELETE with version ID should succeed after legal hold removed
_, err = client.DeleteObject(context.TODO(), &s3.DeleteObjectInput{
Bucket: aws.String(bucketName),
Key: aws.String(key),
@@ -594,10 +596,11 @@ func TestRetentionAndLegalHoldCombination(t *testing.T) {
})
require.Error(t, err, "Legal hold should prevent deletion even with governance bypass")
- // Remove legal hold
+ // Remove legal hold (must specify version ID since latest version is now delete marker)
_, err = client.PutObjectLegalHold(context.TODO(), &s3.PutObjectLegalHoldInput{
- Bucket: aws.String(bucketName),
- Key: aws.String(key),
+ Bucket: aws.String(bucketName),
+ Key: aws.String(key),
+ VersionId: putResp.VersionId,
LegalHold: &types.ObjectLockLegalHold{
Status: types.ObjectLockLegalHoldStatusOff,
},