test versioned copy with urlencoded keys

Signed-off-by: Casey Bodley <cbodley@redhat.com>
This commit is contained in:
Casey Bodley 2019-05-30 10:21:51 -04:00
parent aa0f0d6ea9
commit b6647c9860

View file

@ -5450,6 +5450,23 @@ def test_object_copy_versioned_bucket():
eq(data, body) eq(data, body)
eq(size, response['ContentLength']) eq(size, response['ContentLength'])
@attr(resource='object')
@attr(method='put')
@attr(operation='copy object to/from versioned bucket with url-encoded name')
@attr(assertion='works')
def test_object_copy_versioned_url_encoding():
bucket = get_new_bucket_resource()
check_configure_versioning_retry(bucket.name, "Enabled", "Enabled")
src_key = 'foo?bar'
src = bucket.put_object(Key=src_key)
src.load() # HEAD request tests that the key exists
# copy object in the same bucket
dst_key = 'bar&foo'
dst = bucket.Object(dst_key)
dst.copy_from(CopySource={'Bucket': src.bucket_name, 'Key': src.key, 'VersionId': src.version_id})
dst.load() # HEAD request tests that the key exists
def generate_random(size, part_size=5*1024*1024): def generate_random(size, part_size=5*1024*1024):
""" """
Generate the specified number random data. Generate the specified number random data.