forked from openhealthcare/opal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruntests.py
115 lines (105 loc) · 3.08 KB
/
runtests.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
113
114
115
"""
Standalone test runner for OPAL plugin
"""
import os
import sys
from django.conf import settings
PROJECT_PATH = os.path.join(
os.path.realpath(os.path.dirname(__file__)), "opal"
)
test_settings_config = dict(
DEBUG=True,
DATABASES={
'default': {
'ENGINE': 'django.db.backends.sqlite3',
}
},
PROJECT_PATH=PROJECT_PATH,
ROOT_URLCONF='opal.urls',
USE_TZ=True,
OPAL_EXTRA_APPLICATION='',
DATE_FORMAT='d/m/Y',
DATE_INPUT_FORMATS=['%d/%m/%Y'],
DATETIME_FORMAT='d/m/Y H:i:s',
DATETIME_INPUT_FORMATS=['%d/%m/%Y %H:%M:%S'],
STATIC_URL='/assets/',
COMPRESS_ROOT='/tmp/',
TIME_ZONE='UTC',
OPAL_BRAND_NAME = 'opal',
INTEGRATING=False,
DEFAULT_DOMAIN='localhost',
MIDDLEWARE_CLASSES=(
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'opal.middleware.AngularCSRFRename',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'opal.middleware.DjangoReversionWorkaround',
'reversion.middleware.RevisionMiddleware',
'axes.middleware.FailedLoginMiddleware',
),
INSTALLED_APPS=(
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.staticfiles',
'django.contrib.sessions',
'django.contrib.admin',
'reversion',
'compressor',
'axes',
'djcelery',
'opal',
'opal.tests',
'opal.core.search',
'opal.core.pathway.tests.pathway_test',
'opal.core.pathway',
),
MIGRATION_MODULES={
'opal': 'opal.nomigrations'
},
TEMPLATE_LOADERS = ((
'django.template.loaders.cached.Loader', (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
),),
CELERY_ALWAYS_EAGER=True,
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'opal.core.log.ConfidentialEmailer'
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
)
settings.configure(**test_settings_config)
from opal.tests import dummy_opal_application # NOQA
import django
django.setup()
from opal.core import celery
celery.app.config_from_object('django.conf:settings')
from django.test.runner import DiscoverRunner
test_runner = DiscoverRunner(verbosity=1)
if len(sys.argv) == 2:
failures = test_runner.run_tests([sys.argv[-1], ])
else:
failures = test_runner.run_tests(['opal', ])
if failures:
sys.exit(failures)