Esempio n. 1
0
 def test_get_attr_from_settings_empty(self, mock_logger):
     self.assertEqual(settings.STATIC_URL, None)
     get_attr_from_settings("STATIC_URL", "a test")
     mock_logger.debug.assert_called_with(
         'settings.STATIC_URL is None or empty'
     )
Esempio n. 2
0
 def test_get_attr_from_settings(self):
     obj = get_attr_from_settings("EMAIL_BACKEND", "email backend")
     self.assertIs(obj, EmailBackend)
Esempio n. 3
0
 def test_get_attr_from_settings_not_exists(self, mock_logger):
     get_attr_from_settings("DOESN'T EXISTS", "a test")
     mock_logger.debug.assert_called_with(
         '''"DOESN'T EXISTS" not in settings defined'''
     )
from django_tools.utils.importlib import get_attr_from_settings


logger = getLogger("django-tools.CacheMiddleware")
#logger.setLevel(logging.DEBUG)
#logger.addHandler(logging.StreamHandler())

CACHE_MIDDLEWARE_ANONYMOUS_ONLY = getattr(settings, 'CACHE_MIDDLEWARE_ANONYMOUS_ONLY', False)
RUN_WITH_DEV_SERVER = getattr(settings, "RUN_WITH_DEV_SERVER", "runserver" in sys.argv)
EXTRA_DEBUG = getattr(settings, "CACHE_EXTRA_DEBUG", False)

COUNT_FETCH_FROM_CACHE = getattr(settings, "COUNT_FETCH_FROM_CACHE", False)
COUNT_UPDATE_CACHE = getattr(settings, "COUNT_UPDATE_CACHE", False)
COUNT_IN_CACHE = getattr(settings, "COUNT_IN_CACHE", False)

cache_callback = get_attr_from_settings("CACHE_CALLBACK", "DjangoTools cache callback")
logger.debug("Use cache callback: %s" % repr(cache_callback))


CACHE_REQUESTS = "DJANGOTOOLS_CACHE_REQUESTS_COUNT"
CACHE_REQUEST_HITS = "DJANGOTOOLS_CACHE_REQUEST_HITS_COUNT"
CACHE_RESPONSES = "DJANGOTOOLS_CACHE_RESPONSES_COUNT"
CACHE_RESPONSE_HITS = "DJANGOTOOLS_CACHE_RESPONSE_HITS_COUNT"

_CACHE_KEYS = (CACHE_REQUESTS, CACHE_REQUEST_HITS, CACHE_RESPONSES, CACHE_RESPONSE_HITS)


# Some information from the cache usage.
# Note: These values are only for current process/thread valid and they not thread safe!
# Set settings.COUNT_IN_CACHE=True for process/thread safe counting.
LOCAL_CACHE_INFO = {
from django.utils.cache import get_max_age, patch_response_headers

from django_tools.utils.importlib import get_attr_from_settings


logger = logging.getLogger("django-tools.CacheMiddleware")

CACHE_MIDDLEWARE_ANONYMOUS_ONLY = getattr(settings, 'CACHE_MIDDLEWARE_ANONYMOUS_ONLY', False)
RUN_WITH_DEV_SERVER = getattr(settings, "RUN_WITH_DEV_SERVER", "runserver" in sys.argv)
EXTRA_DEBUG = getattr(settings, "CACHE_EXTRA_DEBUG", False)

COUNT_FETCH_FROM_CACHE = getattr(settings, "COUNT_FETCH_FROM_CACHE", False)
COUNT_UPDATE_CACHE = getattr(settings, "COUNT_UPDATE_CACHE", False)
COUNT_IN_CACHE = getattr(settings, "COUNT_IN_CACHE", False)

cache_callback = get_attr_from_settings("CACHE_CALLBACK", "DjangoTools cache callback")
logger.debug(f"Use cache callback: {cache_callback!r}")


CACHE_REQUESTS = "DJANGOTOOLS_CACHE_REQUESTS_COUNT"
CACHE_REQUEST_HITS = "DJANGOTOOLS_CACHE_REQUEST_HITS_COUNT"
CACHE_RESPONSES = "DJANGOTOOLS_CACHE_RESPONSES_COUNT"
CACHE_RESPONSE_HITS = "DJANGOTOOLS_CACHE_RESPONSE_HITS_COUNT"

_CACHE_KEYS = (CACHE_REQUESTS, CACHE_REQUEST_HITS, CACHE_RESPONSES, CACHE_RESPONSE_HITS)


# Some information from the cache usage.
# Note: These values are only for current process/thread valid and they not thread safe!
# Set settings.COUNT_IN_CACHE=True for process/thread safe counting.
LOCAL_CACHE_INFO = {
 def test_get_attr_from_settings_empty(self, mock_logger):
     self.assertEqual(settings.STATIC_URL, None)
     get_attr_from_settings("STATIC_URL", "a test")
     mock_logger.debug.assert_called_with(
         'settings.STATIC_URL is None or empty')
 def test_get_attr_from_settings_not_exists(self, mock_logger):
     get_attr_from_settings("DOESN'T EXISTS", "a test")
     mock_logger.debug.assert_called_with(
         '''"DOESN'T EXISTS" not in settings defined''')
 def test_get_attr_from_settings(self):
     obj = get_attr_from_settings("EMAIL_BACKEND", "email backend")
     self.assertIs(obj, EmailBackend)