From d2be0bbc181cfa53d7318cff3e6b0587afdc6376 Mon Sep 17 00:00:00 2001 From: Jane Zhu Date: Thu, 23 Jan 2025 22:06:40 +0000 Subject: [PATCH] add test case for stacked delete-markers Signed-off-by: Jane Zhu --- s3tests_boto3/functional/test_s3.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/s3tests_boto3/functional/test_s3.py b/s3tests_boto3/functional/test_s3.py index d8fc2221..fafe6e99 100644 --- a/s3tests_boto3/functional/test_s3.py +++ b/s3tests_boto3/functional/test_s3.py @@ -7581,6 +7581,21 @@ def test_versioning_obj_create_read_remove_head(): clean_up_bucket(client, bucket_name, key, version_ids) +def test_versioning_stack_delete_merkers(): + bucket_name = get_new_bucket() + client = get_client() + check_configure_versioning_retry(bucket_name, "Enabled", "Enabled") + create_multiple_versions(client, bucket_name, "test1/a", 1) + client.delete_object(Bucket=bucket_name, Key="test1/a") + client.delete_object(Bucket=bucket_name, Key="test1/a") + client.delete_object(Bucket=bucket_name, Key="test1/a") + + response = client.list_object_versions(Bucket=bucket_name) + versions = response['Versions'] + delete_markers = response['DeleteMarkers'] + assert len(versions) == 1 + assert len(delete_markers) == 3 + def test_versioning_obj_plain_null_version_removal(): bucket_name = get_new_bucket() check_versioning(bucket_name, None)