@@ -32,15 +32,15 @@ def __init__(self, total_items: int, page_size: int):
3232    # Override plus_one_paging to accommodate this weird hybrid 
3333    self .plus_one_paging  =  False 
3434
35- class  TestPageIterator (_BasePageIterator ):
35+ class  BaseTestPageIterator (_BasePageIterator ):
3636  """ 
3737  A test subclass of the _BasePager under test. 
3838  """ 
3939  operation : Callable  =  None 
4040  page_keys : list [str ] =  []
4141
4242  def  __init__ (self , client , opts ):
43-     super ().__init__ (client , TestPageIterator .operation  or  client .post_view , TestPageIterator .page_keys , opts )
43+     super ().__init__ (client , BaseTestPageIterator .operation  or  client .post_view , BaseTestPageIterator .page_keys , opts )
4444
4545  def  _result_converter (self ) ->  Callable [[dict ], ViewResult ]:
4646    return  lambda  d : ViewResult .from_dict (d )
@@ -58,7 +58,7 @@ class TestBasePageIterator(MockClientBaseCase):
5858  def  test_init (self ):
5959    operation  =  self .client .post_view 
6060    opts  =  {'db' : 'test' , 'limit' : 20 }
61-     page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (self .client , opts )
61+     page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (self .client , opts )
6262    # Assert client is set 
6363    self .assertEqual (page_iterator ._client , self .client , 'The supplied client should be set.' )
6464    # Assert operation is set 
@@ -72,40 +72,40 @@ def test_partial_options(self):
7272    page_opts  =  {'foo' : 'boo' , 'bar' : 'far' }
7373    opts  =  {** static_opts , ** page_opts }
7474    # Use page_opts.keys() to pass the list of names for page options 
75-     with  patch ('test_pagination_base.TestPageIterator .page_keys' , page_opts .keys ()):
76-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (self .client , opts )
75+     with  patch ('test_pagination_base.BaseTestPageIterator .page_keys' , page_opts .keys ()):
76+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (self .client , opts )
7777    # Assert partial function has only static opts 
7878    self .assertEqual (page_iterator ._next_request_function .keywords , static_opts , 'The partial function kwargs should be only the static options.' )
7979    # Assert next page options 
8080    self .assertEqual (page_iterator ._next_page_opts , page_opts , 'The next page options should match the expected.' )
8181
8282  def  test_default_page_size (self ):
8383    opts  =  {'db' : 'test' }
84-     page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (self .client , opts )
84+     page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (self .client , opts )
8585    # Assert the default page size 
8686    expected_page_size  =  200 
8787    self .assertEqual (page_iterator ._page_size , expected_page_size , 'The default page size should be set.' )
8888    self .assertEqual (page_iterator ._next_request_function .keywords , opts  |  {'limit' : expected_page_size }, 'The default page size should be present in the options.' )
8989
9090  def  test_limit_page_size (self ):
9191    opts  =  {'db' : 'test' , 'limit' : 42 }
92-     page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (self .client , opts )
92+     page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (self .client , opts )
9393    # Assert the provided page size 
9494    expected_page_size  =  42 
9595    self .assertEqual (page_iterator ._page_size , expected_page_size , 'The default page size should be set.' )
9696    self .assertEqual (page_iterator ._next_request_function .keywords , opts  |  {'limit' : expected_page_size }, 'The default page size should be present in the options.' )
9797
9898  def  test_has_next_initially_true (self ):
9999    opts  =  {'limit' : 1 }
100-     page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (self .client , opts )
100+     page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (self .client , opts )
101101    # Assert _has_next 
102102    self .assertTrue (page_iterator ._has_next , '_has_next should initially return True.' )
103103
104104  def  test_has_next_true_for_result_equal_to_limit (self ):
105105    page_size  =  1 
106106    # Init with mock that returns only a single row 
107-     with  patch ('test_pagination_base.TestPageIterator .operation' , BasePageMockResponses (1 , page_size ).get_next_page ):
108-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
107+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , BasePageMockResponses (1 , page_size ).get_next_page ):
108+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
109109          self .client ,
110110          {'limit' : page_size })
111111      # Get first page with 1 result 
@@ -116,8 +116,8 @@ def test_has_next_true_for_result_equal_to_limit(self):
116116  def  test_has_next_false_for_result_less_than_limit (self ):
117117    page_size  =  1 
118118    # Init with mock that returns zero rows 
119-     with  patch ('test_pagination_base.TestPageIterator .operation' , BasePageMockResponses (0 , page_size ).get_next_page ):
120-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
119+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , BasePageMockResponses (0 , page_size ).get_next_page ):
120+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
121121          self .client ,
122122          {'limit' : page_size })
123123      # Get first page with 0 result 
@@ -129,8 +129,8 @@ def test_next_first_page(self):
129129    page_size  =  25 
130130    # Mock that returns one page of 25 items 
131131    mock  =  BasePageMockResponses (page_size , page_size )
132-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
133-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
132+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
133+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
134134          self .client ,
135135          {'limit' : page_size })
136136      # Get first page 
@@ -142,8 +142,8 @@ def test_next_two_pages(self):
142142    page_size  =  3 
143143    # Mock that returns two pages of 3 items 
144144    mock  =  BasePageMockResponses (2 * page_size , page_size )
145-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
146-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
145+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
146+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
147147          self .client ,
148148          {'limit' : page_size })
149149      # Get first page 
@@ -163,8 +163,8 @@ def test_next_until_empty(self):
163163    page_size  =  3 
164164    # Mock that returns 3 pages of 3 items 
165165    mock  =  BasePageMockResponses (3 * page_size , page_size )
166-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
167-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
166+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
167+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
168168          self .client ,
169169          {'limit' : page_size })
170170      page_count  =  0 
@@ -182,8 +182,8 @@ def test_next_until_smaller(self):
182182    page_size  =  3 
183183    # Mock that returns 3 pages of 3 items, then 1 more page with 1 item 
184184    mock  =  BasePageMockResponses (3 * page_size  +  1 , page_size )
185-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
186-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
185+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
186+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
187187          self .client ,
188188          {'limit' : page_size })
189189      page_count  =  0 
@@ -201,8 +201,8 @@ def test_next_exception(self):
201201    page_size  =  2 
202202    # Mock that returns one page of one item 
203203    mock  =  BasePageMockResponses (page_size  -  1 , page_size )
204-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
205-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
204+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
205+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
206206          self .client ,
207207          {'limit' : page_size })
208208      # Get first and only page 
@@ -218,8 +218,8 @@ def test_next_exception(self):
218218  def  test_pages_immutable (self ):
219219    page_size  =  1 
220220    mock  =  BasePageMockResponses (page_size , page_size )
221-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
222-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
221+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
222+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
223223          self .client ,
224224          {'limit' : page_size })
225225      # Get page 
@@ -230,8 +230,8 @@ def test_pages_immutable(self):
230230  def  test_set_next_page_options (self ):
231231    page_size  =  1 
232232    mock  =  BasePageMockResponses (5 * page_size , page_size )
233-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
234-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
233+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
234+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
235235          self .client ,
236236          {'limit' : page_size })
237237      self .assertIsNone (page_iterator ._next_page_opts .get ('start_key' ), "The start key should intially be None." )
@@ -248,8 +248,8 @@ def test_set_next_page_options(self):
248248  def  test_next_resumes_after_error (self ):
249249    page_size  =  1 
250250    mock  =  BasePageMockResponses (3 * page_size , page_size )
251-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
252-       page_iterator : Iterable [ViewResultRow ] =  TestPageIterator (
251+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
252+       page_iterator : Iterable [ViewResultRow ] =  BaseTestPageIterator (
253253          self .client ,
254254          {'limit' : page_size })
255255      self .assertIsNone (page_iterator ._next_page_opts .get ('start_key' ), "The start key should intially be None." )
@@ -269,8 +269,8 @@ def test_next_resumes_after_error(self):
269269  def  test_pages_iterable (self ):
270270    page_size  =  23 
271271    mock  =  BasePageMockResponses (3 * page_size - 1 , page_size )
272-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
273-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
272+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
273+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
274274      # Check pages are iterable 
275275      page_number  =  0 
276276      for  page  in  pagination .pages ():
@@ -282,8 +282,8 @@ def test_pages_iterable(self):
282282  def  test_rows_iterable (self ):
283283    page_size  =  23 
284284    mock  =  BasePageMockResponses (3 * page_size - 1 , page_size )
285-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
286-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
285+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
286+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
287287      actual_items  =  []
288288      # Check rows are iterable 
289289      for  row  in  pagination .rows ():
@@ -294,8 +294,8 @@ def test_as_pager_get_next_first_page(self):
294294    page_size  =  7 
295295    # Mock that returns two pages of 7 items 
296296    mock  =  BasePageMockResponses (2 * page_size , page_size )
297-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
298-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
297+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
298+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
299299      pager  =  pagination .pager ()
300300      # Get first page 
301301      actual_page : list [ViewResultRow ] =  pager .get_next ()
@@ -305,8 +305,8 @@ def test_as_pager_get_all(self):
305305    page_size  =  11 
306306    # Mock that returns 6 pages of 11 items, then 1 more page with 5 items 
307307    mock  =  BasePageMockResponses (71 , page_size )
308-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
309-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
308+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
309+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
310310      pager : Pager [ViewResultRow ] =  pagination .pager ()
311311      actual_items  =  pager .get_all ()
312312      self .assertSequenceEqual (actual_items , mock .all_expected_items (), "The results should match all the pages." )
@@ -326,8 +326,8 @@ def test_as_pager_get_all_restarts_after_error(self):
326326      first_page ,
327327      mock .get_next_page ()
328328    ])
329-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
330-     with  patch ('test_pagination_base.TestPageIterator .operation' , mockmock ):
329+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
330+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mockmock ):
331331      pager  =  pagination .pager ()
332332      with  self .assertRaises (Exception ):
333333        pager .get_all ()
@@ -337,8 +337,8 @@ def test_as_pager_get_next_get_all_raises(self):
337337    page_size  =  11 
338338    # Mock that returns 6 pages of 11 items, then 1 more page with 5 items 
339339    mock  =  BasePageMockResponses (71 , page_size )
340-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
341-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
340+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
341+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
342342      pager : Pager [ViewResultRow ] =  pagination .pager ()
343343      first_page  =  pager .get_next ()
344344      self .assertSequenceEqual (first_page , mock .get_expected_page (1 ), "The actual page should match the expected page" )
@@ -358,8 +358,8 @@ def test_as_pager_get_all_get_next_raises(self):
358358      first_page ,
359359      Exception ('test exception' )
360360    ])
361-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
362-     with  patch ('test_pagination_base.TestPageIterator .operation' , mockmock ):
361+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
362+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mockmock ):
363363      pager  =  pagination .pager ()
364364      # Stop get all part way through so it isn't consumed when we call get Next 
365365      with  self .assertRaises (Exception ):
@@ -378,8 +378,8 @@ def test_as_pager_get_next_resumes_after_error(self):
378378      Exception ('test exception' ),
379379      mock .get_next_page ()
380380    ])
381-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
382-     with  patch ('test_pagination_base.TestPageIterator .operation' , mockmock ):
381+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
382+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mockmock ):
383383      pager  =  pagination .pager ()
384384      # Assert first page 
385385      self .assertSequenceEqual (pager .get_next (), mock .get_expected_page (1 ), "The actual page should match the expected page" )
@@ -392,8 +392,8 @@ def test_as_pager_get_next_until_consumed(self):
392392    page_size  =  7 
393393    # Mock that returns two pages of 7 items 
394394    mock  =  BasePageMockResponses (2 * page_size , page_size )
395-     pagination  =  Pagination (self .client , TestPageIterator , {'limit' : page_size })
396-     with  patch ('test_pagination_base.TestPageIterator .operation' , mock .get_next_page ):
395+     pagination  =  Pagination (self .client , BaseTestPageIterator , {'limit' : page_size })
396+     with  patch ('test_pagination_base.BaseTestPageIterator .operation' , mock .get_next_page ):
397397      pager  =  pagination .pager ()
398398      page_count  =  0 
399399      while  pager .has_next ():
0 commit comments