mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #21200 -- Consistantly raise errors across all cache backends.
Thanks to tchaumeny for the patch.
This commit is contained in:
15
tests/cache/tests.py
vendored
15
tests/cache/tests.py
vendored
@@ -48,6 +48,11 @@ class C:
|
||||
return 24
|
||||
|
||||
|
||||
class Unpickable(object):
|
||||
def __getstate__(self):
|
||||
raise pickle.PickleError()
|
||||
|
||||
|
||||
@override_settings(CACHES={
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
|
||||
@@ -847,6 +852,16 @@ class BaseCacheTests(object):
|
||||
self.assertEqual(get_cache_data.content, content.encode('utf-8'))
|
||||
self.assertEqual(get_cache_data.cookies, response.cookies)
|
||||
|
||||
def test_add_fail_on_pickleerror(self):
|
||||
"See https://code.djangoproject.com/ticket/21200"
|
||||
with self.assertRaises(pickle.PickleError):
|
||||
cache.add('unpickable', Unpickable())
|
||||
|
||||
def test_set_fail_on_pickleerror(self):
|
||||
"See https://code.djangoproject.com/ticket/21200"
|
||||
with self.assertRaises(pickle.PickleError):
|
||||
cache.set('unpickable', Unpickable())
|
||||
|
||||
|
||||
@override_settings(CACHES=caches_setting_for_tests(
|
||||
BACKEND='django.core.cache.backends.db.DatabaseCache',
|
||||
|
||||
Reference in New Issue
Block a user