From ea1d84477ea16ea4d2acab74a4dc232360fe7c88 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 26 Sep 2026 05:03:55 -0700 Subject: [PATCH] s3: cover all pinned object-lock actions in resolver tests Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- weed/s3api/s3_action_resolver_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/weed/s3api/s3_action_resolver_test.go b/weed/s3api/s3_action_resolver_test.go index ddbd03e3fb..f9785bafe4 100644 --- a/weed/s3api/s3_action_resolver_test.go +++ b/weed/s3api/s3_action_resolver_test.go @@ -163,6 +163,28 @@ func TestResolveS3Action_ObjectLockActionsIgnoreRequestShape(t *testing.T) { object: "key", want: s3_constants.S3_ACTION_PUT_OBJECT_RETENTION, }, + { + name: "put legal hold with versionId", + query: "legal-hold&versionId=abc123", + method: http.MethodPut, + baseAction: s3_constants.ACTION_PUT_OBJECT_LEGAL_HOLD, + object: "key", + want: s3_constants.S3_ACTION_PUT_OBJECT_LEGAL_HOLD, + }, + { + name: "get bucket object lock config", + query: "object-lock", + method: http.MethodGet, + baseAction: s3_constants.ACTION_GET_BUCKET_OBJECT_LOCK_CONFIG, + want: s3_constants.S3_ACTION_GET_BUCKET_OBJECT_LOCK, + }, + { + name: "put bucket object lock config", + query: "object-lock", + method: http.MethodPut, + baseAction: s3_constants.ACTION_PUT_BUCKET_OBJECT_LOCK_CONFIG, + want: s3_constants.S3_ACTION_PUT_BUCKET_OBJECT_LOCK, + }, } for _, tt := range tests {