Skip to content

Commit a69ffd2

Browse files
authored
fix: more should be boolean in fetch_page call (googleapis#423)
* fix: more should be boolean in fetch_page call refs googleapis#422
1 parent cebf9f4 commit a69ffd2

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

google/cloud/ndb/query.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2372,7 +2372,7 @@ def fetch_page_async(self, page_size, **kwargs):
23722372
results.append(result.entity())
23732373
cursor = result.cursor
23742374

2375-
more = results and (
2375+
more = bool(results) and (
23762376
iterator._more_results_after_limit or iterator.probably_has_next()
23772377
)
23782378
raise tasklets.Return(results, cursor, more)

tests/unit/test_query.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2295,6 +2295,36 @@ def has_next_async(self):
22952295
raw=True,
22962296
)
22972297

2298+
@staticmethod
2299+
@pytest.mark.usefixtures("in_context")
2300+
@mock.patch("google.cloud.ndb._datastore_query")
2301+
def test_fetch_page_no_results(_datastore_query):
2302+
class DummyQueryIterator:
2303+
_more_results_after_limit = True
2304+
2305+
def __init__(self):
2306+
self.items = []
2307+
2308+
def has_next_async(self):
2309+
return utils.future_result(bool(self.items))
2310+
2311+
_datastore_query.iterate.return_value = DummyQueryIterator()
2312+
query = query_module.Query()
2313+
query.filters = mock.Mock(
2314+
_multiquery=False, _post_filters=mock.Mock(return_value=False),
2315+
)
2316+
results, cursor, more = query.fetch_page(5)
2317+
assert results == []
2318+
assert cursor is None
2319+
assert more is False
2320+
2321+
_datastore_query.iterate.assert_called_once_with(
2322+
query_module.QueryOptions(
2323+
filters=query.filters, project="testing", limit=5
2324+
),
2325+
raw=True,
2326+
)
2327+
22982328
@staticmethod
22992329
@pytest.mark.usefixtures("in_context")
23002330
@mock.patch("google.cloud.ndb._datastore_query")

0 commit comments

Comments
 (0)