コード例 #1
0
    def test_default(self):
        """Test passing a default value"""

        caches = redisify(default='redis://localhost')

        self.assertEqual(caches['default']['LOCATION'], 'localhost:6379')
        self.assertEqual(caches['default']['OPTIONS']['DB'], 0)
コード例 #2
0
    def test_redis_url(self):
        """Test `REDIS_URL` setting"""

        os.environ['REDIS_URL'] = 'redis://localhost/1'

        caches = redisify(default='redis://localhost')

        self.assertEqual(caches['default']['LOCATION'], 'localhost:6379')
        self.assertEqual(caches['default']['OPTIONS']['DB'], 1)
コード例 #3
0
    def test_settings(self):
        """Test settings.CACHES"""

        caches = redisify(default='redis://*****:*****@hostname:1234/5')

        self.assertEqual(caches['default']['BACKEND'], 'redis_cache.RedisCache')
        self.assertEqual(caches['default']['LOCATION'], 'hostname:1234')

        self.assertEqual(caches['default']['OPTIONS']['DB'], 5)
        self.assertEqual(caches['default']['OPTIONS']['PARSER_CLASS'],
                         'redis.connection.HiredisParser')
        self.assertEqual(caches['default']['OPTIONS']['PASSWORD'], 'password')
コード例 #4
0
    def test_all(self):
        """Test all settings"""

        os.environ['REDIS_URL'] = 'redis://localhost/1'
        os.environ['OTHER_REDIS_URL'] = 'redis://localhost/2'

        caches = redisify(default='redis://localhost')

        self.assertEqual(caches['default']['LOCATION'], 'localhost:6379')
        self.assertEqual(caches['OTHER_REDIS']['LOCATION'], 'localhost:6379')

        self.assertEqual(caches['default']['OPTIONS']['DB'], 1)
        self.assertEqual(caches['OTHER_REDIS']['OPTIONS']['DB'], 2)
コード例 #5
0
    def test_others(self):
        """Test other environment settings"""

        os.environ['OTHER_REDIS_URL'] = 'redis://localhost/1'
        os.environ['ANOTHER_REDIS_URI'] = 'redis://localhost/2'

        caches = redisify()

        self.assertTrue('default' in caches)

        self.assertTrue(caches['default'] == caches['OTHER_REDIS'] or
                        caches['default'] == caches['ANOTHER_REDIS'])

        self.assertEqual(caches['OTHER_REDIS']['LOCATION'], 'localhost:6379')
        self.assertEqual(caches['ANOTHER_REDIS']['LOCATION'], 'localhost:6379')

        self.assertEqual(caches['OTHER_REDIS']['OPTIONS']['DB'], 1)
        self.assertEqual(caches['ANOTHER_REDIS']['OPTIONS']['DB'], 2)
コード例 #6
0
    def test_redistogo(self):
        """Test using REDISTOGO_URL"""
        if "REDISTOGO_URL" in os.environ:
            tmp = os.environ["REDISTOGO_URL"]
        else:
            tmp = None

        os.environ["REDISTOGO_URL"] = self.redistogo

        caches = redisify()

        # Make sure to clean up the setting
        if tmp is None:
            del os.environ["REDISTOGO_URL"]
        else:
            os.environ["REDISTOGO_URL"] = tmp

        self.assertEqual(caches["LOCATION"], "example.redistogo.com:6379")
        self.assertEqual(caches["OPTIONS"]["PASSWORD"], "password")
コード例 #7
0
    def test_none(self):
        """Test no values at all"""

        caches = redisify()

        self.assertEqual(caches, {})
コード例 #8
0
class Production(Common):

    ########## INSTALLED_APPS
    INSTALLED_APPS = Common.INSTALLED_APPS
    ########## END INSTALLED_APPS

    ########## SECRET KEY
    SECRET_KEY = values.SecretValue()
    ########## END SECRET KEY

    ########## django-secure
    INSTALLED_APPS += ("djangosecure", )

    # set this to 60 seconds and then to 518400 when you can prove it works
    SECURE_HSTS_SECONDS = 60
    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)
    SECURE_FRAME_DENY = values.BooleanValue(True)
    SECURE_CONTENT_TYPE_NOSNIFF = values.BooleanValue(True)
    SECURE_BROWSER_XSS_FILTER = values.BooleanValue(True)
    SESSION_COOKIE_SECURE = values.BooleanValue(False)
    SESSION_COOKIE_HTTPONLY = values.BooleanValue(True)
    SECURE_SSL_REDIRECT = values.BooleanValue(True)
    ########## end django-secure

    ########## SITE CONFIGURATION
    # Hosts/domain names that are valid for this site
    # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
    ALLOWED_HOSTS = ["*"]
    ########## END SITE CONFIGURATION

    INSTALLED_APPS += ("gunicorn", )

    ########## STORAGE CONFIGURATION
    # See: http://django-storages.readthedocs.org/en/latest/index.html
    INSTALLED_APPS += (
        'storages',
    )

    # See: http://django-storages.readthedocs.org/en/latest/backends/amazon-S3.html#settings
    STATICFILES_STORAGE = DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

    # See: http://django-storages.readthedocs.org/en/latest/backends/amazon-S3.html#settings
    AWS_ACCESS_KEY_ID = values.SecretValue()
    AWS_SECRET_ACCESS_KEY = values.SecretValue()
    AWS_STORAGE_BUCKET_NAME = values.SecretValue()
    AWS_AUTO_CREATE_BUCKET = True
    AWS_QUERYSTRING_AUTH = False

    # see: https://github.com/antonagestam/collectfast
    AWS_PRELOAD_METADATA = True
    INSTALLED_APPS += ("collectfast", )

    # AWS cache settings, don't change unless you know what you're doing:
    AWS_EXPIREY = 60 * 60 * 24 * 7
    AWS_HEADERS = {
        'Cache-Control': 'max-age=%d, s-maxage=%d, must-revalidate' % (AWS_EXPIREY,
            AWS_EXPIREY)
    }

    # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url
    STATIC_URL = 'https://s3.amazonaws.com/%s/' % AWS_STORAGE_BUCKET_NAME
    ########## END STORAGE CONFIGURATION

    ########## EMAIL
    DEFAULT_FROM_EMAIL = values.Value(
            'memuri <*****@*****.**>')
    EMAIL_HOST = values.Value('smtp.sendgrid.com')
    EMAIL_HOST_PASSWORD = values.SecretValue(environ_prefix="", environ_name="SENDGRID_PASSWORD")
    EMAIL_HOST_USER = values.SecretValue(environ_prefix="", environ_name="SENDGRID_USERNAME")
    EMAIL_PORT = values.IntegerValue(587, environ_prefix="", environ_name="EMAIL_PORT")
    EMAIL_SUBJECT_PREFIX = values.Value('[memuri] ', environ_name="EMAIL_SUBJECT_PREFIX")
    EMAIL_USE_TLS = True
    SERVER_EMAIL = EMAIL_HOST_USER
    ########## END EMAIL

    ########## TEMPLATE CONFIGURATION

    # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs
    TEMPLATE_LOADERS = (
        ('django.template.loaders.cached.Loader', (
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
        )),
    )
    ########## END TEMPLATE CONFIGURATION

    ########## CACHING
    # Redis Cache. TODO: make this Django configuration stylee or move it somewhere more appropriate?
    #CACHE_URL = values.SecretValue(environ_prefix="", environ_name="REDISCLOUD_URL")
    #CACHES = values.CacheURLValue()
    CACHES = redisify(default='redis://localhost')
コード例 #9
0
DEBUG = True if os.environ.get('DJANGO_DEBUG', None) == '1' else False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', '*****@*****.**'),
)

MANAGERS = ADMINS

ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '.herokuapp.com').split(':')

import dj_database_url
DATABASES = {'default': dj_database_url.config()}

from redisify import redisify
CACHES = redisify(default='redis://localhost/0')

# Configure sessions using Redis. This depends on the caching settings above.
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS_HOST, SESSION_REDIS_PORT = \
        CACHES['default']['LOCATION'].split(':')
SESSION_REDIS_PORT = int(SESSION_REDIS_PORT)
SESSION_REDIS_DB = CACHES['default']['OPTIONS']['DB']
SESSION_REDIS_PASSWORD = CACHES['default']['OPTIONS']['PASSWORD']
SESSION_REDIS_PREFIX = 'sess'

# Use Redis as the broker for Celery tasks
BROKER_URL = (lambda password, db: 'redis://:%%s@%(LOCATION)s/%%d' \
        % CACHES['default'] % (password, db))( \
          CACHES['default']['OPTIONS']['PASSWORD'] or '',
          CACHES['default']['OPTIONS']['DB'] or 0,
コード例 #10
0
    def test_parser_class(self):
        """Test the PARSER_CLASS setting"""
        caches = redisify(default=self.localhost)

        self.assertEqual(caches["OPTIONS"]["PARSER_CLASS"], "redis.connection.HiredisParser")
コード例 #11
0
    def test_no_default(self):
        """Test passing no default value"""
        caches = redisify()

        self.assertTrue(caches is None)
コード例 #12
0
    def test_default(self):
        """Test passing a default value"""
        caches = redisify(default=self.localhost)

        self.assertEqual(caches["LOCATION"], "localhost")
        self.assertTrue(caches["OPTIONS"]["PASSWORD"] is None)
コード例 #13
0
    def test_backend(self):
        """Test the BACKEND setting"""
        caches = redisify(default=self.localhost)

        self.assertEqual(caches["BACKEND"], "redis_cache.RedisCache")
コード例 #14
0
ファイル: settings.py プロジェクト: guyt101z/django-sis
    RAVEN_CONFIG = {
        'dsn': os.getenv('RAVEN_DSN'),
    }

COMPRESS_PRECOMPILERS = (
   ('text/coffeescript', 'coffee --compile --stdio'),
   ('text/x-scss', 'django_libsass.SassCompiler'),
)

REDIS_ADDR = os.environ.get('REDIS_1_PORT_6379_TCP_ADDR', 'localhost')
REDIS_PORT = os.environ.get('REDIS_1_PORT_6379_TCP_PORT', '6379')
REDIS_URL = os.environ.get('REDISCLOUD_URL') or 'redis://{}:{}/0'.format(REDIS_ADDR, REDIS_PORT)

from redisify import redisify
if REDIS_URL:
    CACHES = redisify(default=REDIS_URL)
else:
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        }
    }

BROKER_URL = REDIS_URL
BROKER_TRANSPORT_OPTIONS = {
    'fanout_prefix': True,
    'fanout_patterns': True,
}

CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'
from celery.schedules import crontab
コード例 #15
0
ファイル: settings.py プロジェクト: vilamajomaxi/django-sis
        'dsn': os.getenv('RAVEN_DSN'),
    }

COMPRESS_PRECOMPILERS = (
    ('text/coffeescript', 'coffee --compile --stdio'),
    ('text/x-scss', 'django_libsass.SassCompiler'),
)

REDIS_ADDR = os.environ.get('REDIS_1_PORT_6379_TCP_ADDR', 'localhost')
REDIS_PORT = os.environ.get('REDIS_1_PORT_6379_TCP_PORT', '6379')
REDIS_URL = os.environ.get('REDISCLOUD_URL') or 'redis://{}:{}/0'.format(
    REDIS_ADDR, REDIS_PORT)

from redisify import redisify
if REDIS_URL:
    CACHES = redisify(default=REDIS_URL)
else:
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        }
    }

BROKER_URL = REDIS_URL
BROKER_TRANSPORT_OPTIONS = {
    'fanout_prefix': True,
    'fanout_patterns': True,
}

CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
from celery.schedules import crontab
コード例 #16
0
DEBUG = True if os.environ.get('DJANGO_DEBUG', None) == '1' else False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', '*****@*****.**'),
)

MANAGERS = ADMINS

ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '.herokuapp.com').split(':')

import dj_database_url
DATABASES = {'default': dj_database_url.config()}

from redisify import redisify
CACHES = redisify(default='redis://localhost/0')

# Configure sessions using Redis. This depends on the caching settings above.
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS_HOST, SESSION_REDIS_PORT = \
        CACHES['default']['LOCATION'].split(':')
SESSION_REDIS_PORT = int(SESSION_REDIS_PORT)
SESSION_REDIS_DB = CACHES['default']['OPTIONS']['DB']
SESSION_REDIS_PASSWORD = CACHES['default']['OPTIONS']['PASSWORD']
SESSION_REDIS_PREFIX = 'sess'
SESSION_COOKIE_SECURE = True

# Use Redis as the broker for Celery tasks
BROKER_URL = (lambda password, db: 'redis://:%%s@%(LOCATION)s/%%d' \
        % CACHES['default'] % (password, db))( \
          CACHES['default']['OPTIONS']['PASSWORD'] or '',
コード例 #17
0
ファイル: settings.py プロジェクト: peppelorum/kod100
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '../../../test.db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}


DATABASES['default'] =  dj_database_url.config()

from redisify import redisify
CACHES = {'default': redisify(default='redis://localhost')}

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = 'America/Chicago'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.