aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/test_page_iterator.py
diff options
context:
space:
mode:
authorDov Shlachter <dovs@google.com>2019-11-01 11:08:15 -0700
committerBu Sun Kim <8822365+busunkim96@users.noreply.github.com>2019-11-01 11:08:15 -0700
commit9230dd4b8ad9b457d53a6dd5fd353c780cc06ed5 (patch)
tree458f109dd920bacd0f9083a188baf1dea8e6908e /tests/unit/test_page_iterator.py
parent6ac4dc2277a624f7bfe104b6c93d905dd2119360 (diff)
downloadpython-api-core-9230dd4b8ad9b457d53a6dd5fd353c780cc06ed5.tar.gz
feat(api_core): provide a 'raw_page' field for page_iterator.Page (#9486)
* Provide a 'raw_page' field for page_iterator.Page Some paginated response messages include additional fields that users may wish to inspect.
Diffstat (limited to 'tests/unit/test_page_iterator.py')
-rw-r--r--tests/unit/test_page_iterator.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/tests/unit/test_page_iterator.py b/tests/unit/test_page_iterator.py
index 6335001..2bf7424 100644
--- a/tests/unit/test_page_iterator.py
+++ b/tests/unit/test_page_iterator.py
@@ -36,9 +36,10 @@ class TestPage(object):
assert page.remaining == 3
assert page._parent is parent
assert page._item_to_value is item_to_value
+ assert page.raw_page is None
def test___iter__(self):
- page = page_iterator.Page(None, (), None)
+ page = page_iterator.Page(None, (), None, None)
assert iter(page) is page
def test_iterator_calls_parent_item_to_value(self):
@@ -69,6 +70,18 @@ class TestPage(object):
item_to_value.assert_called_with(parent, 12)
assert page.remaining == 97
+ def test_raw_page(self):
+ parent = mock.sentinel.parent
+ item_to_value = mock.sentinel.item_to_value
+
+ raw_page = mock.sentinel.raw_page
+
+ page = page_iterator.Page(parent, (1, 2, 3), item_to_value, raw_page=raw_page)
+ assert page.raw_page is raw_page
+
+ with pytest.raises(AttributeError):
+ page.raw_page = None
+
class PageIteratorImpl(page_iterator.Iterator):
def _next_page(self):
@@ -116,8 +129,7 @@ class TestIterator(object):
def test__page_iter_increment(self):
iterator = PageIteratorImpl(None, None)
page = page_iterator.Page(
- iterator, ("item",), page_iterator._item_to_value_identity
- )
+ iterator, ("item",), page_iterator._item_to_value_identity)
iterator._next_page = mock.Mock(side_effect=[page, None])
assert iterator.num_results == 0
@@ -147,11 +159,9 @@ class TestIterator(object):
# Make pages from mock responses
parent = mock.sentinel.parent
page1 = page_iterator.Page(
- parent, (item1, item2), page_iterator._item_to_value_identity
- )
+ parent, (item1, item2), page_iterator._item_to_value_identity)
page2 = page_iterator.Page(
- parent, (item3,), page_iterator._item_to_value_identity
- )
+ parent, (item3,), page_iterator._item_to_value_identity)
iterator = PageIteratorImpl(None, None)
iterator._next_page = mock.Mock(side_effect=[page1, page2, None])