Skip to content

Commit aab9e38

Browse files
committed
Add tests for PageIterator in test_pagination.py
These tests improve coverage and ensure proper behavior of `PageIterator` with rate limiting and page size adjustments.
1 parent 4b86304 commit aab9e38

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

tests/test_pagination.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
from pynamodb.pagination import RateLimiter
2+
from pynamodb.pagination import RateLimiter, PageIterator
33

44

55
class MockTime():
@@ -77,3 +77,25 @@ def test_basic_rate_limiting_large_increment():
7777

7878
# The operation takes longer than the minimum wait, so rate limiting should have no effect
7979
assert mock_time.time() == 1100.0
80+
81+
82+
def test_page_iterator_with_rate_limit():
83+
def mock_operation():
84+
pass
85+
86+
args = None
87+
kwargs = {'exclusive_start_key': None}
88+
rate_limit = 0.1
89+
page_iter = PageIterator(mock_operation, args, kwargs, rate_limit)
90+
assert page_iter._rate_limiter.rate_limit == rate_limit
91+
92+
93+
def test_page_iterator_page_size_getter():
94+
page_iter = PageIterator(None, None, {'limit': 10})
95+
assert page_iter.page_size == 10
96+
97+
98+
def test_page_iterator_page_size_setter():
99+
page_iter = PageIterator(None, None, {})
100+
page_iter.page_size = 20
101+
assert page_iter._kwargs['limit'] == 20

0 commit comments

Comments
 (0)