Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions s3tests_boto3/functional/test_s3.py
Original file line number Diff line number Diff line change
Expand Up @@ -1450,6 +1450,51 @@ def test_bucket_list_return_data_versioning():
assert obj['VersionId'] == key_data['VersionId']
_compare_dates(obj['LastModified'],key_data['LastModified'])

def test_bucket_list_return_data_versioning_key_marker():

bucket_name = get_new_bucket()
check_configure_versioning_retry(bucket_name, "Enabled", "Enabled")
key_names = ['file1', 'file2', 'file3','file1','file2','file3']
bucket_name = _create_objects(bucket_name=bucket_name,keys=key_names)

client = get_client()
list_object_versions_response = client.list_object_versions(Bucket=bucket_name)

all_keys=[obj['Key'] for obj in list_object_versions_response['Versions']]
all_version_ids=[obj['VersionId'] for obj in list_object_versions_response['Versions']]

expected_keys_response=all_keys[4:]
expected_version_ids_response=all_version_ids[4:]

response = client.list_object_versions(Bucket=bucket_name,KeyMarker='file2')
assert response['KeyMarker'] == 'file2'
assert response['IsTruncated'] == False

keys_response = [obj['Key'] for obj in response['Versions']]
version_ids_response = [obj['VersionId'] for obj in response['Versions']]

assert keys_response == expected_keys_response
assert version_ids_response == expected_version_ids_response

def test_bucket_list_return_data_versioning_version_id_marker():

bucket_name = get_new_bucket()
check_configure_versioning_retry(bucket_name, "Enabled", "Enabled")
key_names = ['bar', 'bar', 'bar','baz']
bucket_name = _create_objects(bucket_name=bucket_name,keys=key_names)

client = get_client()
list_object_versions_response = client.list_object_versions(Bucket=bucket_name)
all_version_ids=[obj['VersionId'] for obj in list_object_versions_response['Versions']]

version_id_marker=all_version_ids[1]
expected_version_ids_response=all_version_ids[2:]

response = client.list_object_versions(Bucket=bucket_name, KeyMarker='bar', VersionIdMarker=version_id_marker)
version_ids_response=[obj['VersionId'] for obj in response['Versions']]

assert expected_version_ids_response==version_ids_response

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