From f935048dbecf5577936cbdaeeaacd1119f91f398 Mon Sep 17 00:00:00 2001 From: Evgenii Baidakov Date: Tue, 13 May 2025 12:01:30 +0400 Subject: [PATCH] lock: Add legal status off unsupported tests Closes #91. Signed-off-by: Evgenii Baidakov --- s3tests_boto3/functional/test_s3.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/s3tests_boto3/functional/test_s3.py b/s3tests_boto3/functional/test_s3.py index e1b2f5b07..67dec646d 100644 --- a/s3tests_boto3/functional/test_s3.py +++ b/s3tests_boto3/functional/test_s3.py @@ -15188,6 +15188,30 @@ def test_object_lock_get_legal_hold(): response = client.get_object_legal_hold(Bucket=bucket_name, Key=key) assert response["LegalHold"] == legal_hold_off +def test_object_lock_set_legal_hold_off_not_supported(): + bucket_name = get_new_bucket_name() + client = get_client() + client.create_bucket(Bucket=bucket_name, ObjectLockEnabledForBucket=True) + + key = "file1" + client.put_object(Bucket=bucket_name, Body="abc", Key=key) + + legal_hold = {"Status": "ON"} + client.put_object_legal_hold(Bucket=bucket_name, Key=key, LegalHold=legal_hold) + response = client.get_object_legal_hold(Bucket=bucket_name, Key=key) + assert response["LegalHold"] == legal_hold + + legal_hold_off = {"Status": "OFF"} + e = assert_raises( + ClientError, + client.put_object_legal_hold, + Bucket=bucket_name, + Key=key, + LegalHold=legal_hold_off, + ) + + status, error_code = _get_status_and_error_code(e.response) + assert status == 501 def test_object_lock_get_legal_hold_invalid_bucket(): bucket_name = get_new_bucket_name()