debian-django-cachalot/settings.py

171 lines
4.6 KiB
Python
Raw Normal View History

2014-11-23 20:09:42 +01:00
# coding: utf-8
from __future__ import unicode_literals
import os
from django import VERSION as django_version
2014-11-23 20:09:42 +01:00
DATABASES = {
'sqlite3': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'cachalot.sqlite3',
},
'postgresql': {
'ENGINE': 'django.db.backends.postgresql',
2014-11-23 20:09:42 +01:00
'NAME': 'cachalot',
'USER': 'cachalot',
},
'mysql': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'cachalot',
'USER': 'root',
},
}
if django_version[:2] == (1, 8):
DATABASES['postgresql']['ENGINE'] = 'django.db.backends.postgresql_psycopg2'
2014-11-23 20:09:42 +01:00
for alias in DATABASES:
2016-09-13 20:15:30 +02:00
if 'TEST' not in DATABASES[alias]:
test_db_name = 'test_' + DATABASES[alias]['NAME']
DATABASES[alias]['TEST'] = {'NAME': test_db_name}
2014-11-23 20:09:42 +01:00
2014-12-07 03:43:16 +01:00
DATABASES['default'] = DATABASES.pop(os.environ.get('DB_ENGINE', 'sqlite3'))
2014-11-23 20:09:42 +01:00
DATABASE_ROUTERS = ['cachalot.tests.db_router.PostgresRouter']
2014-11-23 20:09:42 +01:00
CACHES = {
'redis': {
2014-12-07 06:32:19 +01:00
'BACKEND': 'django_redis.cache.RedisCache',
2014-12-13 19:56:34 +01:00
'LOCATION': 'redis://127.0.0.1:6379/0',
'OPTIONS': {
# Since we are using both Python 2 & 3 in tests, we need to use
# a compatible pickle version to avoid unpickling errors when
# running a Python 2 test after a Python 3 test.
'PICKLE_VERSION': 2,
2015-12-18 13:10:08 +01:00
},
2014-11-23 20:09:42 +01:00
},
'memcached': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
},
2015-04-11 01:57:13 +02:00
'locmem': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'OPTIONS': {
# We want that limit to be infinite, otherwise we cant
# reliably count the number of SQL queries executed in tests.
# In this context, 10e9 is enough to be considered
# infinite.
'MAX_ENTRIES': 10e9,
}
},
'filebased': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/tmp/django_cache',
'OPTIONS': {
'MAX_ENTRIES': 10e9, # (See locmem)
2015-12-18 13:10:08 +01:00
},
}
2015-04-11 01:57:13 +02:00
}
try:
import pylibmc
except ImportError:
pass
else:
CACHES['pylibmc'] = {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': '127.0.0.1:11211',
}
2014-12-07 03:43:16 +01:00
DEFAULT_CACHE_ALIAS = os.environ.get('CACHE_BACKEND', 'locmem')
2014-12-08 03:47:11 +01:00
CACHES['default'] = CACHES.pop(DEFAULT_CACHE_ALIAS)
2014-12-08 05:00:52 +01:00
if DEFAULT_CACHE_ALIAS == 'memcached' and 'pylibmc' in CACHES:
2014-12-08 03:47:11 +01:00
del CACHES['pylibmc']
elif DEFAULT_CACHE_ALIAS == 'pylibmc':
del CACHES['memcached']
2014-12-07 03:43:16 +01:00
2014-11-23 20:09:42 +01:00
INSTALLED_APPS = [
'cachalot',
'django.contrib.auth',
'django.contrib.contenttypes',
2016-07-21 12:19:20 +02:00
'django.contrib.postgres', # Enables the unaccent lookup.
2014-11-23 20:09:42 +01:00
]
2015-01-18 17:44:19 +01:00
MIGRATION_MODULES = {
'cachalot': 'cachalot.tests.migrations',
2015-01-18 17:44:19 +01:00
}
2016-07-21 10:57:06 +02:00
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
},
2016-09-13 20:15:30 +02:00
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'APP_DIRS': True,
'OPTIONS': {
'extensions': [
'cachalot.jinja2ext.cachalot',
2016-09-13 20:15:30 +02:00
],
},
}
2016-07-21 10:57:06 +02:00
]
2016-10-23 20:06:58 +02:00
MIDDLEWARE_CLASSES = []
PASSWORD_HASHERS = ['django.contrib.auth.hashers.MD5PasswordHasher']
2016-09-13 20:15:30 +02:00
SECRET_KEY = 'its not important in tests but we have to set it'
2015-10-04 21:04:54 +02:00
USE_TZ = False # Time zones are not supported by MySQL,
# we only enable it in tests when needed.
TIME_ZONE = 'UTC'
CACHALOT_ENABLED = True
2016-10-23 20:06:58 +02:00
#
# Settings for django-debug-toolbar
#
# We put django-debug-toolbar before to reproduce the conditions of this issue:
# https://github.com/BertrandBordage/django-cachalot/issues/62
INSTALLED_APPS = [
2016-10-23 20:06:58 +02:00
'debug_toolbar',
] + INSTALLED_APPS + ['django.contrib.staticfiles']
2016-10-23 20:06:58 +02:00
DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'cachalot.panels.CachalotPanel',
]
DEBUG_TOOLBAR_CONFIG = {
# Djangos test client sets wsgi.multiprocess to True inappropriately.
'RENDER_PANELS': False,
}
MIDDLEWARE_CLASSES += [
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
INTERNAL_IPS = ['127.0.0.1']
ROOT_URLCONF = 'runtests_urls'
STATIC_URL = '/static/'