]> git.apps.os.sepia.ceph.com Git - s3-tests.git/commitdiff
rgw/s3-tests: adding a test to check put, get, delete and 601/head
authorPritha Srivastava <prsrivas@redhat.com>
Tue, 12 Nov 2024 05:36:23 +0000 (11:06 +0530)
committerPritha Srivastava <prsrivas@redhat.com>
Tue, 12 Nov 2024 05:45:48 +0000 (11:15 +0530)
then get to ensure that public block access is deleted
successfully.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
s3tests_boto3/functional/test_s3.py

index 1abf5c50f3e6508b37a21f22c07d856f4b5fb0f4..cfdde31b73053ef168bf8db2f005377dac3df9f4 100644 (file)
@@ -13297,6 +13297,33 @@ def test_ignore_public_acls():
     check_access_denied(alt_client.list_objects, Bucket=bucket_name)
     check_access_denied(alt_client.get_object, Bucket=bucket_name, Key='key1')
 
+def test_put_get_delete_public_block():
+    bucket_name = get_new_bucket()
+    client = get_client()
+
+    access_conf = {'BlockPublicAcls': True,
+                   'IgnorePublicAcls': True,
+                   'BlockPublicPolicy': True,
+                   'RestrictPublicBuckets': False}
+
+    client.put_public_access_block(Bucket=bucket_name, PublicAccessBlockConfiguration=access_conf)
+
+    resp = client.get_public_access_block(Bucket=bucket_name)
+    assert resp['PublicAccessBlockConfiguration']['BlockPublicAcls'] == access_conf['BlockPublicAcls']
+    assert resp['PublicAccessBlockConfiguration']['BlockPublicPolicy'] == access_conf['BlockPublicPolicy']
+    assert resp['PublicAccessBlockConfiguration']['IgnorePublicAcls'] == access_conf['IgnorePublicAcls']
+    assert resp['PublicAccessBlockConfiguration']['RestrictPublicBuckets'] == access_conf['RestrictPublicBuckets']
+
+    resp = client.delete_public_access_block(Bucket=bucket_name)
+    assert resp['ResponseMetadata']['HTTPStatusCode'] == 204
+
+    response_code = ""
+    try:
+        resp = client.get_public_access_block(Bucket=bucket_name)
+    except ClientError as e:
+        response_code = e.response['Error']['Code']
+
+    assert response_code == 'NoSuchPublicAccessBlockConfiguration'
 
 def test_multipart_upload_on_a_bucket_with_policy():
     bucket_name = get_new_bucket()