summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2020-06-05 07:21:52 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-06-05 07:24:04 +0200
commitb2b2723512dd0024567fba0c680424ebb7fa1149 (patch)
treede4125c046e81e857793202835f21fe4025e4d21
parentb87719034a2f6dbea132f1e16f90ee91b8140be0 (diff)
[2.2.x] Fixed #31654 -- Fixed cache key validation messages.
Backport of 926148ef019abcac3a9988c78734d9336d69f24e from master.
-rw-r--r--django/core/cache/backends/base.py2
-rw-r--r--docs/releases/2.2.14.txt13
-rw-r--r--docs/releases/index.txt1
-rw-r--r--tests/cache/tests.py6
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