diff options
author | Dov Shlachter <dovs@google.com> | 2019-11-01 11:08:15 -0700 |
---|---|---|
committer | Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> | 2019-11-01 11:08:15 -0700 |
commit | 9230dd4b8ad9b457d53a6dd5fd353c780cc06ed5 (patch) | |
tree | 458f109dd920bacd0f9083a188baf1dea8e6908e /tests/unit/test_page_iterator.py | |
parent | 6ac4dc2277a624f7bfe104b6c93d905dd2119360 (diff) | |
download | python-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.py | 24 |
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]) |