summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJordan Cook <jordan.cook.git@proton.me>2022-07-19 19:11:08 -0500
committerJordan Cook <jordan.cook.git@proton.me>2022-07-30 17:12:19 -0500
commitdc34cda843f427ff3788ad4a283f06547ba72409 (patch)
tree88d659f6a318dbc0220c8e77889c2955707edfac /tests
parent1d78f345dbef217cd40d9192ce91f3acc41f8b4a (diff)
downloadrequests-cache-dc34cda843f427ff3788ad4a283f06547ba72409.tar.gz
Update only_if_cached to take precedence over refresh or other revalidation conditions
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/test_session.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/unit/test_session.py b/tests/unit/test_session.py
index b2ed786..5151a7d 100644
--- a/tests/unit/test_session.py
+++ b/tests/unit/test_session.py
@@ -775,6 +775,16 @@ def test_request_only_if_cached__stale_if_error__expired(mock_session):
assert response.is_expired is True
+def test_request_only_if_cached__skips_revalidate(mock_session):
+ """only_if_cached should skip other revalidation conditions if the response isn't expired.
+ This includes taking precedence over refresh=True.
+ """
+ mock_session.get(MOCKED_URL)
+ response = mock_session.get(MOCKED_URL, only_if_cached=True, refresh=True)
+ assert response.from_cache is True
+ assert response.is_expired is False
+
+
def test_request_only_if_cached__prepared_request(mock_session):
"""The only_if_cached option should also work for PreparedRequests with CachedSession.send()"""
request = Request(method='GET', url=MOCKED_URL, headers={}).prepare()