]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/commitdiff
add test_object_copy_16m to test refcounting of tail objects 473/head
authorCasey Bodley <cbodley@redhat.com>
Fri, 30 Sep 2022 16:28:28 +0000 (12:28 -0400)
committerCasey Bodley <cbodley@redhat.com>
Wed, 5 Oct 2022 18:37:09 +0000 (14:37 -0400)
i don't think any of our CopyObj test cases were large enough to have
tail objects, so weren't exercising our tail object ref counting
strategy

Signed-off-by: Casey Bodley <cbodley@redhat.com>
s3tests_boto3/functional/test_s3.py

index 0bd901b5706f7866de06277e7ee2adc83fe5c6c1..20ae4f1d0ab2276db33b847fce9940ad2357770a 100644 (file)
@@ -6287,6 +6287,23 @@ def test_object_copy_zero_size():
     response = client.get_object(Bucket=bucket_name, Key='bar321foo')
     eq(response['ContentLength'], 0)
 
+@attr(resource='object')
+@attr(method='put')
+@attr(operation='copy 16mb object in same bucket')
+@attr(assertion='works')
+@attr('fails_on_dbstore')
+def test_object_copy_16m():
+    bucket_name = get_new_bucket()
+    key1 = 'obj1'
+    client = get_client()
+    client.put_object(Bucket=bucket_name, Key=key1, Body=bytearray(16*1024*1024))
+
+    copy_source = {'Bucket': bucket_name, 'Key': key1}
+    key2 = 'obj2'
+    client.copy_object(Bucket=bucket_name, Key=key2, CopySource=copy_source)
+    response = client.get_object(Bucket=bucket_name, Key=key2)
+    eq(response['ContentLength'], 16*1024*1024)
+
 @attr(resource='object')
 @attr(method='put')
 @attr(operation='copy object in same bucket')