diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-06-05 07:21:52 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-06-05 07:24:04 +0200 |
| commit | b2b2723512dd0024567fba0c680424ebb7fa1149 (patch) | |
| tree | de4125c046e81e857793202835f21fe4025e4d21 | |
| parent | b87719034a2f6dbea132f1e16f90ee91b8140be0 (diff) | |
[2.2.x] Fixed #31654 -- Fixed cache key validation messages.
Backport of 926148ef019abcac3a9988c78734d9336d69f24e from master.
| -rw-r--r-- | django/core/cache/backends/base.py | 2 | ||||
| -rw-r--r-- | docs/releases/2.2.14.txt | 13 | ||||
| -rw-r--r-- | docs/releases/index.txt | 1 | ||||
| -rw-r--r-- | tests/cache/tests.py | 6 |
4 files changed, 19 insertions, 3 deletions
diff --git a/django/core/cache/backends/base.py b/django/core/cache/backends/base.py index 70de0a8b70..245c2fb828 100644 --- a/django/core/cache/backends/base.py +++ b/django/core/cache/backends/base.py @@ -287,6 +287,6 @@ def memcache_key_warnings(key): if ord(char) < 33 or ord(char) == 127: yield ( 'Cache key contains characters that will cause errors if ' - 'used with memcached: %r' % key, CacheKeyWarning + 'used with memcached: %r' % key ) break diff --git a/docs/releases/2.2.14.txt b/docs/releases/2.2.14.txt new file mode 100644 index 0000000000..0c7232fe08 --- /dev/null +++ b/docs/releases/2.2.14.txt @@ -0,0 +1,13 @@ +=========================== +Django 2.2.14 release notes +=========================== + +*Expected July 1, 2020* + +Django 2.2.14 fixes a bug in 2.2.13. + +Bugfixes +======== + +* Fixed messages of ``InvalidCacheKey`` exceptions and ``CacheKeyWarning`` + warnings raised by cache key validation (:ticket:`31654`). diff --git a/docs/releases/index.txt b/docs/releases/index.txt index d9fccd441e..2a355d3d94 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -25,6 +25,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 2.2.14 2.2.13 2.2.12 2.2.11 diff --git a/tests/cache/tests.py b/tests/cache/tests.py index d18a917106..0581aa37aa 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -619,8 +619,9 @@ class BaseCacheTests: cache.key_func = func try: - with self.assertWarnsMessage(CacheKeyWarning, expected_warning): + with self.assertWarns(CacheKeyWarning) as cm: cache.set(key, 'value') + self.assertEqual(str(cm.warning), expected_warning) finally: cache.key_func = old_func @@ -1257,8 +1258,9 @@ class BaseMemcachedTests(BaseCacheTests): invalid key. """ msg = expected_warning.replace(key, cache.make_key(key)) - with self.assertRaisesMessage(InvalidCacheKey, msg): + with self.assertRaises(InvalidCacheKey) as cm: cache.set(key, 'value') + self.assertEqual(str(cm.exception), msg) def test_default_never_expiring_timeout(self): # Regression test for #22845 |
