From d20f445419529ea0fb5d8c6e851cd7d4cc56f65f Mon Sep 17 00:00:00 2001 From: Jordan Cook Date: Thu, 30 Mar 2023 19:15:30 -0500 Subject: Don't normalize CachedResponse.url when redacting ignored params --- tests/unit/test_cache_keys.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/test_cache_keys.py b/tests/unit/test_cache_keys.py index 40cca7f..3e2f243 100644 --- a/tests/unit/test_cache_keys.py +++ b/tests/unit/test_cache_keys.py @@ -4,9 +4,14 @@ This just contains tests for some extra edge cases not covered elsewhere. import json import pytest -from requests import Request +from requests import Request, Response -from requests_cache.cache_keys import MAX_NORM_BODY_SIZE, create_key, normalize_request +from requests_cache.cache_keys import ( + MAX_NORM_BODY_SIZE, + create_key, + normalize_request, + redact_response, +) CACHE_KEY = 'e25f7e6326966e82' @@ -61,6 +66,19 @@ def test_create_key__normalize_duplicate_params(): assert create_key(request_1) == create_key(request_2) +def test_redact_response__escaped_params(): + """Test that redact_response() handles escaped request parameters""" + request = Request( + method='GET', + url='https://img.site.com/base/img.jpg?ignored_param=value_1¶m_2=value_2', + ) + response = Response() + response.url = 'https://img.site.com/base/img.jpg?where=code%3D123' + response.request = request + redacted_response = redact_response(response, []) + assert redacted_response.url == 'https://img.site.com/base/img.jpg?where=code%3D123' + + def test_normalize_request__json_body(): request = Request( method='GET', -- cgit v1.2.1