summaryrefslogtreecommitdiffstats
path: root/conftest.py
blob: e35352361b1ee9c8f0ca1cd6ed03b82f1de7e408 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from django.conf import settings
import os.path
import sys


collect_ignore = []
if sys.version_info[0] > 2:
    if sys.version_info[1] < 3:
        collect_ignore.append("tests/contrib/flask")
    if sys.version_info[1] == 2:
        collect_ignore.append("tests/handlers/logbook")

try:
    import gevent
except ImportError:
    collect_ignore.append("tests/transport/gevent")

try:
    import web
except ImportError:
    collect_ignore.append("tests/contrib/webpy")


INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.admin',
    'django.contrib.sessions',
    'django.contrib.sites',

    # Included to fix Disqus' test Django which solves IntegrityMessage case
    'django.contrib.contenttypes',

    'raven.contrib.django',
    'tests.contrib.django',
]


use_djcelery = True
try:
    import djcelery
    INSTALLED_APPS.append('djcelery')
except ImportError:
    use_djcelery = False


def pytest_configure(config):
    where_am_i = os.path.dirname(os.path.abspath(__file__))

    if not settings.configured:
        settings.configure(
            DATABASE_ENGINE='sqlite3',
            DATABASES={
                'default': {
                    'NAME': ':memory:',
                    'ENGINE': 'django.db.backends.sqlite3',
                    'TEST_NAME': ':memory:',
                },
            },
            DATABASE_NAME=':memory:',
            TEST_DATABASE_NAME=':memory:',
            INSTALLED_APPS=INSTALLED_APPS,
            ROOT_URLCONF='',
            DEBUG=False,
            SITE_ID=1,
            BROKER_HOST="localhost",
            BROKER_PORT=5672,
            BROKER_USER="guest",
            BROKER_PASSWORD="guest",
            BROKER_VHOST="/",
            SENTRY_ALLOW_ORIGIN='*',
            CELERY_ALWAYS_EAGER=True,
            TEMPLATE_DEBUG=True,
            PROJECT_ROOT=where_am_i,
            TEMPLATE_DIRS=[os.path.join(where_am_i, 'tests', 'contrib', 'django', 'templates')],
            ALLOWED_HOSTS=['*'],
        )