forked from TrueCloudLab/s3-tests
test_s3: add bucket listing tests
Test prefix, delimiter, common prefixes, max_keys. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
b07fce46a0
commit
a23c81187b
1 changed files with 45 additions and 0 deletions
|
@ -183,6 +183,51 @@ def test_bucket_list_delimiter_basic():
|
||||||
eq(len(prefixes), 2)
|
eq(len(prefixes), 2)
|
||||||
eq(prefix_names, ['foo/', 'quux/'])
|
eq(prefix_names, ['foo/', 'quux/'])
|
||||||
|
|
||||||
|
def validate_bucket_list(bucket, prefix, delimiter, marker, max_keys,
|
||||||
|
is_truncated, check_objs, check_prefixes, next_marker):
|
||||||
|
#
|
||||||
|
li = bucket.get_all_keys(delimiter=delimiter, prefix=prefix, max_keys=max_keys, marker=marker)
|
||||||
|
|
||||||
|
eq(li.is_truncated, is_truncated)
|
||||||
|
eq(li.next_marker, next_marker)
|
||||||
|
|
||||||
|
(keys, prefixes) = _get_keys_prefixes(li)
|
||||||
|
|
||||||
|
eq(len(keys), len(check_objs))
|
||||||
|
eq(len(prefixes), len(check_prefixes))
|
||||||
|
|
||||||
|
objs = [e.name for e in keys]
|
||||||
|
eq(objs, check_objs)
|
||||||
|
|
||||||
|
prefix_names = [e.name for e in prefixes]
|
||||||
|
eq(prefix_names, check_prefixes)
|
||||||
|
|
||||||
|
return li.next_marker
|
||||||
|
|
||||||
|
@attr(resource='bucket')
|
||||||
|
@attr(method='get')
|
||||||
|
@attr(operation='list')
|
||||||
|
@attr(assertion='prefixes in multi-component object names')
|
||||||
|
def test_bucket_list_delimiter_prefix():
|
||||||
|
bucket = _create_keys(keys=['asdf', 'boo/bar', 'boo/baz/xyzzy', 'cquux/thud', 'cquux/bla'])
|
||||||
|
|
||||||
|
delim = '/'
|
||||||
|
marker = ''
|
||||||
|
prefix = ''
|
||||||
|
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, '', 1, True, ['asdf'], [], 'asdf')
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, marker, 1, True, [], ['boo/'], 'boo/')
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, marker, 1, False, [], ['cquux/'], None)
|
||||||
|
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, '', 2, True, ['asdf'], ['boo/'], 'boo/')
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, marker, 2, False, [], ['cquux/'], None)
|
||||||
|
|
||||||
|
prefix = 'boo/'
|
||||||
|
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, '', 1, True, ['boo/bar'], [], 'boo/bar')
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, marker, 1, False, [], ['boo/baz/'], None)
|
||||||
|
|
||||||
|
marker = validate_bucket_list(bucket, prefix, delim, '', 2, False, ['boo/bar'], ['boo/baz/'], None)
|
||||||
|
|
||||||
@attr(resource='bucket')
|
@attr(resource='bucket')
|
||||||
@attr(method='get')
|
@attr(method='get')
|
||||||
|
|
Loading…
Reference in a new issue