From: Casey Bodley Date: Wed, 22 Mar 2017 18:12:27 +0000 (-0400) Subject: test/rgw: test_bucket_delete_notempty in test_multi.py X-Git-Tag: v12.0.2~278^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fd6f382ee5eaf9c300f6169aa55207659acf15fe;p=ceph.git test/rgw: test_bucket_delete_notempty in test_multi.py Signed-off-by: Casey Bodley --- diff --git a/src/test/rgw/test_multi.py b/src/test/rgw/test_multi.py index a0e7d48e7235..636c0ac46dca 100644 --- a/src/test/rgw/test_multi.py +++ b/src/test/rgw/test_multi.py @@ -821,6 +821,30 @@ def test_bucket_acl(): bucket.set_acl('public-read') assert(len(bucket.get_acl().acl.grants) == 2) # new grant on AllUsers +def test_bucket_delete_notempty(): + buckets, zone_bucket = create_bucket_per_zone() + realm.meta_checkpoint() + + for zone, bucket_name in zone_bucket.items(): + # upload an object to each bucket on its own zone + conn = zone.get_connection(user) + bucket = conn.get_bucket(bucket_name) + k = bucket.new_key('foo') + k.set_contents_from_string('bar') + # attempt to delete the bucket before this object can sync + try: + conn.delete_bucket(bucket_name) + except boto.exception.S3ResponseError, e: + assert(e.error_code == 'BucketNotEmpty') + continue + assert False # expected 409 BucketNotEmpty + + # assert that each bucket still exists on the master + z1 = realm.get_zone('us-1') + c1 = z1.get_connection(user) + for _, bucket_name in zone_bucket.items(): + assert c1.get_bucket(bucket_name) + def test_multi_period_incremental_sync(): if len(realm.clusters) < 3: from nose.plugins.skip import SkipTest