From 84e2f2f321609aaf1510d4be06483d09c85f3744 Mon Sep 17 00:00:00 2001 From: Jane Zhu Date: Tue, 18 Mar 2025 03:49:42 +0000 Subject: [PATCH] rgw: fix stacked delete marker test in test_rgw_versioning Signed-off-by: Jane Zhu --- qa/workunits/rgw/test_rgw_versioning.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/qa/workunits/rgw/test_rgw_versioning.py b/qa/workunits/rgw/test_rgw_versioning.py index f175203ea0bf3..1eaab22494e08 100755 --- a/qa/workunits/rgw/test_rgw_versioning.py +++ b/qa/workunits/rgw/test_rgw_versioning.py @@ -58,9 +58,21 @@ def main(): assert 'DeleteMarker' in resp, 'DeleteMarker key not present in response' assert resp['DeleteMarker'], 'DeleteMarker value not True in response' assert 'VersionId' in resp, 'VersionId key not present in response' - version_id = resp['VersionId'] - bucket.Object(key).delete() - connection.ObjectVersion(bucket.name, key, version_id).delete() + version_id_1 = resp['VersionId'] + + resp = bucket.Object(key).delete() + assert 'DeleteMarker' in resp, 'DeleteMarker key not present in response' + assert resp['DeleteMarker'], 'DeleteMarker value not True in response' + assert 'VersionId' in resp, 'VersionId key not present in response' + version_id_2 = resp['VersionId'] + + connection.ObjectVersion(bucket.name, key, version_id_2).delete() + # bucket index should only include entries for an object version + out = exec_cmd(f'radosgw-admin bi list --bucket {BUCKET_NAME}') + json_out = json.loads(out.replace(b'\x80', b'0x80')) + assert len(json_out) == 4, 'bucket index did not only include entries for an object version' + + connection.ObjectVersion(bucket.name, key, version_id_1).delete() # bucket index should now be empty out = exec_cmd(f'radosgw-admin bi list --bucket {BUCKET_NAME}') json_out = json.loads(out.replace(b'\x80', b'0x80')) -- 2.39.5