diff options
| author | Andreas Pelme | 2014-03-02 12:40:30 +0100 | 
|---|---|---|
| committer | Andreas Pelme | 2014-03-02 12:40:30 +0100 | 
| commit | 971578ca345c3d3bae7fd93b87c41d43483b6f05 (patch) | |
| tree | 72a6d3d0ced5750a8ba01bedc3a6f8a936e05e2f /conftest.py | |
| parent | 62786a7ad64918022f11f1b95ce84adb8d798830 (diff) | |
| download | django-rest-framework-971578ca345c3d3bae7fd93b87c41d43483b6f05.tar.bz2 | |
Support for running the test suite with py.test
 * Get rid of runtests.py
 * Moved test code  from rest_framework/tests and rest_framework/runtests to tests
 * Invoke py.test from setup.py
 * Invoke py.test from Travis
 * Invoke py.test from tox
 * Changed setUpClass to be just plain setUp in test_permissions.py
 * Updated contribution guideline to show how to invoke py.test
Diffstat (limited to 'conftest.py')
| -rw-r--r-- | conftest.py | 85 | 
1 files changed, 85 insertions, 0 deletions
| diff --git a/conftest.py b/conftest.py new file mode 100644 index 00000000..7cfc77f2 --- /dev/null +++ b/conftest.py @@ -0,0 +1,85 @@ +def pytest_configure(): +    from django.conf import settings + +    settings.configure( +        DEBUG_PROPAGATE_EXCEPTIONS=True, +        DATABASES={'default': {'ENGINE': 'django.db.backends.sqlite3', +                               'NAME': ':memory:'}}, +        SECRET_KEY='not very secret in tests', +        USE_I18N=True, +        USE_L10N=True, +        STATIC_URL='/static/', +        ROOT_URLCONF='tests.urls', +        TEMPLATE_LOADERS=( +            'django.template.loaders.filesystem.Loader', +            'django.template.loaders.app_directories.Loader', +        ), +        MIDDLEWARE_CLASSES=( +            'django.middleware.common.CommonMiddleware', +            'django.contrib.sessions.middleware.SessionMiddleware', +            'django.middleware.csrf.CsrfViewMiddleware', +            'django.contrib.auth.middleware.AuthenticationMiddleware', +            'django.contrib.messages.middleware.MessageMiddleware', +        ), +        INSTALLED_APPS=( +            'django.contrib.auth', +            'django.contrib.contenttypes', +            'django.contrib.sessions', +            'django.contrib.sites', +            'django.contrib.messages', + +            'rest_framework', +            'rest_framework.authtoken', +            'tests', +            'tests.accounts', +            'tests.records', +            'tests.users', +        ), +        PASSWORD_HASHERS=( +            'django.contrib.auth.hashers.SHA1PasswordHasher', +            'django.contrib.auth.hashers.PBKDF2PasswordHasher', +            'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', +            'django.contrib.auth.hashers.BCryptPasswordHasher', +            'django.contrib.auth.hashers.MD5PasswordHasher', +            'django.contrib.auth.hashers.CryptPasswordHasher', +        ), +    ) + +    try: +        import oauth_provider +        import oauth2 +    except ImportError: +        pass +    else: +        settings.INSTALLED_APPS += ( +            'oauth_provider', +        ) + +    try: +        import provider +    except ImportError: +        pass +    else: +        settings.INSTALLED_APPS += ( +            'provider', +            'provider.oauth2', +        ) + +    # guardian is optional +    try: +        import guardian +    except ImportError: +        pass +    else: +        settings.ANONYMOUS_USER_ID = -1 +        settings.AUTHENTICATION_BACKENDS = ( +            'django.contrib.auth.backends.ModelBackend', # default +            'guardian.backends.ObjectPermissionBackend', +        ) +        settings.INSTALLED_APPS += ( +            'guardian', +        ) + +    # Force Django to load all models +    from django.db.models import get_models +    get_models() | 
