This repository has been archived by the owner on Jun 11, 2024. It is now read-only.
forked from getsentry/raven-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
conftest.py
112 lines (92 loc) · 2.73 KB
/
conftest.py
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
from __future__ import absolute_import
import os.path
import pytest
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 # NOQA
except ImportError:
collect_ignore.append('tests/transport/gevent')
try:
import web # NOQA
except ImportError:
collect_ignore.append('tests/contrib/webpy')
try:
import django # NOQA
except ImportError:
django = None
collect_ignore.append('tests/contrib/django')
try:
import tastypie # NOQA
except ImportError:
collect_ignore.append('tests/contrib/django/test_tastypie.py')
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'raven.contrib.django',
'tests.contrib.django',
]
use_djcelery = True
try:
import djcelery # NOQA
INSTALLED_APPS.append('djcelery')
except ImportError:
use_djcelery = False
def configure_django(project_root):
from django.conf import settings
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='tests.contrib.django.urls',
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,
LANGUAGE_CODE='en',
LANGUAGES=(('en', 'English'),),
TEMPLATE_DIRS=[
os.path.join(project_root, 'tests', 'contrib', 'django', 'templates'),
],
TEMPLATES=[{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'APP_DIRS': True,
'DIRS': [
os.path.join(project_root, 'tests', 'contrib', 'django', 'templates'),
],
}],
ALLOWED_HOSTS=['*'],
DISABLE_SENTRY_INSTRUMENTATION=True,
SENTRY_CLIENT='tests.contrib.django.tests.MockClient'
)
def pytest_configure(config):
if django:
configure_django(os.path.dirname(os.path.abspath(__file__)))
def pytest_runtest_teardown(item):
if django:
from raven.contrib.django.models import client
client.events = []
@pytest.fixture
def project_root():
return os.path.dirname(os.path.abspath(__file__))