Skip to content

Commit 7e96066

Browse files
Additional documentation for returning empty responses
1 parent b516689 commit 7e96066

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

test/unit/bucket/test_bucket.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2186,6 +2186,17 @@ def __init__(self, *args, **kwargs):
21862186
# an empty response pointing to the same file.
21872187
self.last_queried_file = None
21882188

2189+
def _should_return_empty(self, file_name: str) -> bool:
2190+
# Note that every other request is empty – the logic is as follows:
2191+
# 1st request – unknown start name – empty response
2192+
# 2nd request – known start name – normal response with a proper next filename
2193+
# 3rd request – unknown start name (as it's the next filename from the previous request) – empty response
2194+
# 4th request – known start name
2195+
# etc. This works especially well when using limiter of number of files fetched set to 1.
2196+
should_return_empty = self.last_queried_file != file_name
2197+
self.last_queried_file = file_name
2198+
return should_return_empty
2199+
21892200
def list_file_versions(
21902201
self,
21912202
account_auth_token,
@@ -2194,8 +2205,7 @@ def list_file_versions(
21942205
max_file_count=None, # noqa
21952206
prefix=None,
21962207
):
2197-
if self.last_queried_file != start_file_name:
2198-
self.last_queried_file = start_file_name
2208+
if self._should_return_empty(start_file_name):
21992209
return dict(files=[], nextFileName=start_file_name, nextFileId=start_file_id)
22002210
return super().list_file_versions(
22012211
account_auth_token,
@@ -2212,8 +2222,7 @@ def list_file_names(
22122222
max_file_count=None, # noqa
22132223
prefix=None,
22142224
):
2215-
if self.last_queried_file != start_file_name:
2216-
self.last_queried_file = start_file_name
2225+
if self._should_return_empty(start_file_name):
22172226
return dict(files=[], nextFileName=start_file_name)
22182227
return super().list_file_names(
22192228
account_auth_token,

0 commit comments

Comments
 (0)