]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
src/test/rgw: Adding a test for check
authorKalpesh Pandya <kapandya@redhat.com>
Mon, 15 Apr 2024 03:23:54 +0000 (08:53 +0530)
committerShilpa Jagannath <smanjara@redhat.com>
Fri, 28 Jun 2024 01:18:19 +0000 (21:18 -0400)
Addition of a test to rgw_multi to check the
working of deleting an object with null version.

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
src/test/rgw/rgw_multi/tests.py

index df9c70a47810a16ca67cb28b5248e31e41fabbe1..ec79027f95ef67f2b965d9431fbc806d3531f1cf 100644 (file)
@@ -919,6 +919,38 @@ def test_versioned_object_incremental_sync():
     for _, bucket in zone_bucket:
         zonegroup_bucket_checkpoint(zonegroup_conns, bucket.name)
 
+def test_null_version_id_delete():
+    zonegroup = realm.master_zonegroup()
+    zonegroup_conns = ZonegroupConns(zonegroup)
+
+    zone = zonegroup_conns.rw_zones[0]
+
+    # create a non-versioned bucket
+    bucket = zone.create_bucket(gen_bucket_name())
+    log.debug('created bucket=%s', bucket.name)
+    zonegroup_meta_checkpoint(zonegroup)
+    obj = 'obj'
+
+    # upload an initial object
+    key1 = new_key(zone, bucket, obj)
+    key1.set_contents_from_string('')
+    log.debug('created initial version id=%s', key1.version_id)
+    zonegroup_bucket_checkpoint(zonegroup_conns, bucket.name)
+
+    # enable versioning
+    bucket.configure_versioning(True)
+    zonegroup_meta_checkpoint(zonegroup)
+
+    # re-upload the object as a new version
+    key2 = new_key(zone, bucket, obj)
+    key2.set_contents_from_string('')
+    log.debug('created new version id=%s', key2.version_id)
+    zonegroup_bucket_checkpoint(zonegroup_conns, bucket.name)
+
+    bucket.delete_key(obj, version_id='null')
+
+    zonegroup_bucket_checkpoint(zonegroup_conns, bucket.name)
+
 def test_concurrent_versioned_object_incremental_sync():
     zonegroup = realm.master_zonegroup()
     zonegroup_conns = ZonegroupConns(zonegroup)