Skip to content

Commit 94050fd

Browse files
committed
DeleteObjects: ensure 400 MalformedXML is returned for empty list
Ref: ceph/ceph#60579 Signed-off-by: Seena Fallah <[email protected]>
1 parent d245097 commit 94050fd

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

s3tests_boto3/functional/test_s3.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,6 +1694,24 @@ def test_multi_object_delete():
16941694
response = client.list_objects(Bucket=bucket_name)
16951695
assert 'Contents' not in response
16961696

1697+
def test_multi_object_delete_empty_list():
1698+
bucket_name = get_new_bucket()
1699+
client = get_client()
1700+
1701+
e = assert_raises(ClientError, client.delete_objects, Bucket=bucket_name, Delete={'Objects': [], 'Quiet': False})
1702+
status, error_code = _get_status_and_error_code(e.response)
1703+
assert status == 400
1704+
assert error_code == 'MalformedXML'
1705+
1706+
def test_multi_object_delete_empty_list_access_forbidden():
1707+
bucket_name = get_new_bucket()
1708+
alt_client = get_alt_client()
1709+
1710+
e = assert_raises(ClientError, alt_client.delete_objects, Bucket=bucket_name, Delete={'Objects': [], 'Quiet': False})
1711+
status, error_code = _get_status_and_error_code(e.response)
1712+
assert status == 400
1713+
assert error_code == 'MalformedXML'
1714+
16971715
@pytest.mark.list_objects_v2
16981716
def test_multi_objectv2_delete():
16991717
key_names = ['key0', 'key1', 'key2']

0 commit comments

Comments
 (0)