Skip to content

Commit

Permalink
Merge pull request ceph#546 from jzhu116-bloomberg/wip-64340
Browse files Browse the repository at this point in the history
add test case for object copy in versioning suspended bucket
  • Loading branch information
cbodley committed Feb 12, 2024
2 parents 1d5764d + 1866f04 commit 997f78d
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions s3tests_boto3/functional/test_s3.py
Original file line number Diff line number Diff line change
Expand Up @@ -7587,6 +7587,41 @@ def test_versioning_obj_suspend_versions():
assert len(version_ids) == 0
assert len(version_ids) == len(contents)

@pytest.mark.fails_on_dbstore
def test_versioning_obj_suspended_copy():
bucket_name = get_new_bucket()
client = get_client()

check_configure_versioning_retry(bucket_name, "Enabled", "Enabled")

key1 = 'testobj1'
num_versions = 1
(version_ids, contents) = create_multiple_versions(client, bucket_name, key1, num_versions)

check_configure_versioning_retry(bucket_name, "Suspended", "Suspended")

content = 'null content'
overwrite_suspended_versioning_obj(client, bucket_name, key1, version_ids, contents, content)

# copy to another object
key2 = 'testobj2'
copy_source = {'Bucket': bucket_name, 'Key': key1}
client.copy_object(Bucket=bucket_name, Key=key2, CopySource=copy_source)

# delete the source object. keep the 'null' entry in version_ids
client.delete_object(Bucket=bucket_name, Key=key1)

# get the target object
response = client.get_object(Bucket=bucket_name, Key=key2)
body = _get_body(response)
assert body == content

# cleaning up
client.delete_object(Bucket=bucket_name, Key=key2)
client.delete_object(Bucket=bucket_name, Key=key2, VersionId='null')

clean_up_bucket(client, bucket_name, key1, version_ids)

def test_versioning_obj_create_versions_remove_all():
bucket_name = get_new_bucket()
client = get_client()
Expand Down

0 comments on commit 997f78d

Please sign in to comment.