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(self): obj = get_attr_from_settings("EMAIL_BACKEND", "email backend") self.assertIs(obj, EmailBackend)
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)