diff --git a/s3tests_boto3/functional/test_s3.py b/s3tests_boto3/functional/test_s3.py index a776f44..68029a0 100644 --- a/s3tests_boto3/functional/test_s3.py +++ b/s3tests_boto3/functional/test_s3.py @@ -2026,6 +2026,22 @@ def test_multi_objectv2_delete(): response = client.list_objects_v2(Bucket=bucket_name) assert 'Contents' not in response +@attr(resource='object') +@attr(method='post') +@attr(operation='delete multiple objects has upper limit of 1000 keys') +@attr(assertion='fails 400') +def test_multi_object_delete_key_limit(): + key_names = [f"key-{i}" for i in range(1001)] + bucket_name = _create_objects(keys=key_names) + client = get_client() + + response = client.list_objects(Bucket=bucket_name) + eq(len(response['Contents']), 1001) + + objs_dict = _make_objs_dict(key_names=key_names) + e = assert_raises(ClientError,client.delete_objects,Bucket=bucket_name,Delete=objs_dict) + eq(e.response['Error']['Code'], 400) + @attr(resource='object') @attr(method='put') @attr(operation='write zero-byte key')