mirror of
https://github.com/jazzband/django-axes.git
synced 2026-03-16 22:30:23 +00:00
Refactor cache checks
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
This commit is contained in:
parent
677d4c48f4
commit
8b3c5e7b5a
2 changed files with 13 additions and 15 deletions
|
|
@ -20,22 +20,22 @@ class Codes:
|
|||
|
||||
@register(Tags.caches)
|
||||
def axes_cache_backend_check(app_configs, **kwargs): # pylint: disable=unused-argument
|
||||
errors = []
|
||||
axes_handler = getattr(settings, 'AXES_HANDLER', '')
|
||||
|
||||
axes_cache_key = getattr(settings, 'AXES_CACHE', 'default')
|
||||
axes_cache_config = settings.CACHES.get(axes_cache_key, {})
|
||||
axes_cache_backend = axes_cache_config.get('BACKEND', '')
|
||||
|
||||
axes_cache_incompatible_backends = [
|
||||
axes_cache_backend_incompatible = [
|
||||
'django.core.cache.backends.dummy.DummyCache',
|
||||
'django.core.cache.backends.locmem.LocMemCache',
|
||||
'django.core.cache.backends.filebased.FileBasedCache',
|
||||
]
|
||||
|
||||
axes_handler = getattr(settings, 'AXES_HANDLER', '')
|
||||
errors = []
|
||||
|
||||
if axes_handler == 'axes.handlers.cache.AxesCacheHandler':
|
||||
if axes_cache_backend in axes_cache_incompatible_backends:
|
||||
if axes_cache_backend in axes_cache_backend_incompatible:
|
||||
errors.append(Error(
|
||||
msg=Messages.CACHE_INVALID,
|
||||
hint=Hints.CACHE_INVALID,
|
||||
|
|
|
|||
|
|
@ -6,17 +6,15 @@ from axes.conf import settings
|
|||
from axes.tests.base import AxesTestCase
|
||||
|
||||
|
||||
@override_settings(AXES_HANDLER='axes.handlers.cache.AxesCacheHandler')
|
||||
class CacheCheckTestCase(AxesTestCase):
|
||||
@override_settings(
|
||||
AXES_HANDLER='axes.handlers.cache.AxesCacheHandler',
|
||||
AXES_CACHE='axes',
|
||||
CACHES={
|
||||
'axes': {
|
||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
|
||||
},
|
||||
},
|
||||
)
|
||||
def test_cache_misconfiguration_produces_check_error(self):
|
||||
@override_settings(CACHES={'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'}})
|
||||
def test_cache_check(self):
|
||||
errors = run_checks()
|
||||
self.assertEqual([], errors)
|
||||
|
||||
@override_settings(CACHES={'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}})
|
||||
def test_cache_check_errors(self):
|
||||
errors = run_checks()
|
||||
error = Error(
|
||||
msg=Messages.CACHE_INVALID,
|
||||
|
|
@ -25,4 +23,4 @@ class CacheCheckTestCase(AxesTestCase):
|
|||
id=Codes.CACHE_INVALID,
|
||||
)
|
||||
|
||||
self.assertIn(error, errors)
|
||||
self.assertEqual([error], errors)
|
||||
|
|
|
|||
Loading…
Reference in a new issue