kopia lustrzana https://github.com/wagtail/wagtail
WAGTAILFRONTENDCACHE_LOCATION compatibility
rodzic
a343403c6a
commit
703ddbbb94
|
@ -1,22 +1,27 @@
|
||||||
from django.test import TestCase
|
from django.test import TestCase, override_settings
|
||||||
|
|
||||||
from wagtail.contrib.wagtailfrontendcache.utils import get_backends
|
from wagtail.contrib.wagtailfrontendcache.utils import get_backends
|
||||||
from wagtail.contrib.wagtailfrontendcache.backends import HTTPBackend, CloudflareBackend
|
from wagtail.contrib.wagtailfrontendcache.backends import HTTPBackend, CloudflareBackend
|
||||||
|
|
||||||
|
|
||||||
class TestBackendConfiguration(TestCase):
|
class TestBackendConfiguration(TestCase):
|
||||||
|
def test_default(self):
|
||||||
|
backends = get_backends()
|
||||||
|
|
||||||
|
self.assertEqual(len(backends), 0)
|
||||||
|
|
||||||
def test_varnish(self):
|
def test_varnish(self):
|
||||||
backends = get_backends(backend_settings={
|
backends = get_backends(backend_settings={
|
||||||
'varnish': {
|
'varnish': {
|
||||||
'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend',
|
'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend',
|
||||||
'LOCATION': 'http://localhost:8000/',
|
'LOCATION': 'http://localhost:8000',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
self.assertEqual(len(backends), 1)
|
self.assertEqual(len(backends), 1)
|
||||||
self.assertIsInstance(backends[0], HTTPBackend)
|
self.assertIsInstance(backends[0], HTTPBackend)
|
||||||
|
|
||||||
self.assertEqual(backends[0].cache_location, 'http://localhost:8000/')
|
self.assertEqual(backends[0].cache_location, 'http://localhost:8000')
|
||||||
|
|
||||||
def test_cloudflare(self):
|
def test_cloudflare(self):
|
||||||
backends = get_backends(backend_settings={
|
backends = get_backends(backend_settings={
|
||||||
|
@ -33,7 +38,7 @@ class TestBackendConfiguration(TestCase):
|
||||||
self.assertEqual(backends[0].cloudflare_email, 'test@test.com')
|
self.assertEqual(backends[0].cloudflare_email, 'test@test.com')
|
||||||
self.assertEqual(backends[0].cloudflare_token, 'this is the token')
|
self.assertEqual(backends[0].cloudflare_token, 'this is the token')
|
||||||
|
|
||||||
def test_both(self):
|
def test_multiple(self):
|
||||||
backends = get_backends(backend_settings={
|
backends = get_backends(backend_settings={
|
||||||
'varnish': {
|
'varnish': {
|
||||||
'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend',
|
'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend',
|
||||||
|
@ -63,3 +68,11 @@ class TestBackendConfiguration(TestCase):
|
||||||
|
|
||||||
self.assertEqual(len(backends), 1)
|
self.assertEqual(len(backends), 1)
|
||||||
self.assertIsInstance(backends[0], CloudflareBackend)
|
self.assertIsInstance(backends[0], CloudflareBackend)
|
||||||
|
|
||||||
|
@override_settings(WAGTAILFRONTENDCACHE_LOCATION='http://localhost:8000')
|
||||||
|
def test_backwards_compatibility(self):
|
||||||
|
backends = get_backends()
|
||||||
|
|
||||||
|
self.assertEqual(len(backends), 1)
|
||||||
|
self.assertIsInstance(backends[0], HTTPBackend)
|
||||||
|
self.assertEqual(backends[0].cache_location, 'http://localhost:8000')
|
||||||
|
|
|
@ -45,9 +45,23 @@ def import_string(dotted_path):
|
||||||
|
|
||||||
|
|
||||||
def get_backends(backend_settings=None, backends=None):
|
def get_backends(backend_settings=None, backends=None):
|
||||||
|
# Get backend settings from WAGTAILFRONTENDCACHE setting
|
||||||
if backend_settings is None:
|
if backend_settings is None:
|
||||||
backend_settings = getattr(settings, 'WAGTAILFRONTENDCACHE', None)
|
backend_settings = getattr(settings, 'WAGTAILFRONTENDCACHE', None)
|
||||||
|
|
||||||
|
# Fallback to using WAGTAILFRONTENDCACHE_LOCATION setting (backwards compatibility)
|
||||||
|
if backend_settings is None:
|
||||||
|
cache_location = getattr(settings, 'WAGTAILFRONTENDCACHE_LOCATION', None)
|
||||||
|
|
||||||
|
if cache_location is not None:
|
||||||
|
backend_settings = {
|
||||||
|
'default': {
|
||||||
|
'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend',
|
||||||
|
'LOCATION': cache_location,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# No settings found, return empty list
|
||||||
if backend_settings is None:
|
if backend_settings is None:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue