rgw/boto3_s3:Adds delete_objects key limit for list-objects-v2

(cherry picked from commit 459e3c870a)
This commit is contained in:
iraj465 2021-07-16 03:15:53 +05:30 committed by Ali Maredia
parent 907331d90c
commit 93a6d89681

View file

@ -2050,6 +2050,30 @@ def test_multi_object_delete_key_limit():
status, error_code = _get_status_and_error_code(e.response) status, error_code = _get_status_and_error_code(e.response)
eq(status, 400) eq(status, 400)
@attr(resource='object')
@attr(method='post')
@attr(operation='delete multiple objects has upper limit of 1000 keys with list-objects-v2')
@attr(assertion='fails 400')
def test_multi_objectv2_delete_key_limit():
key_names = [f"key-{i}" for i in range(1001)]
bucket_name = _create_objects(keys=key_names)
client = get_client()
paginator = client.get_paginator('list_objects_v2')
pages = paginator.paginate(Bucket=bucket_name)
numKeys = 0
for page in pages:
numKeys += len(page['Contents'])
response = client.list_objects(Bucket=bucket_name)
eq(numKeys, 1001)
objs_dict = _make_objs_dict(key_names=key_names)
e = assert_raises(ClientError,client.delete_objects,Bucket=bucket_name,Delete=objs_dict)
status, error_code = _get_status_and_error_code(e.response)
eq(status, 400)
@attr(resource='object') @attr(resource='object')
@attr(method='put') @attr(method='put')
@attr(operation='write zero-byte key') @attr(operation='write zero-byte key')