mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-23 01:57:00 +03:00
Merge branch 'master' into version-3.1
This commit is contained in:
commit
74483338ab
|
@ -48,7 +48,6 @@ DEFAULTS = {
|
|||
'DEFAULT_METADATA_CLASS': 'rest_framework.metadata.SimpleMetadata',
|
||||
|
||||
# Generic view behavior
|
||||
'DEFAULT_MODEL_SERIALIZER_CLASS': 'rest_framework.serializers.ModelSerializer',
|
||||
'DEFAULT_PAGINATION_SERIALIZER_CLASS': 'rest_framework.pagination.PaginationSerializer',
|
||||
'DEFAULT_FILTER_BACKENDS': (),
|
||||
|
||||
|
@ -124,7 +123,6 @@ IMPORT_STRINGS = (
|
|||
'DEFAULT_THROTTLE_CLASSES',
|
||||
'DEFAULT_CONTENT_NEGOTIATION_CLASS',
|
||||
'DEFAULT_METADATA_CLASS',
|
||||
'DEFAULT_MODEL_SERIALIZER_CLASS',
|
||||
'DEFAULT_PAGINATION_SERIALIZER_CLASS',
|
||||
'DEFAULT_FILTER_BACKENDS',
|
||||
'EXCEPTION_HANDLER',
|
||||
|
@ -176,8 +174,8 @@ class APISettings(object):
|
|||
"""
|
||||
def __init__(self, user_settings=None, defaults=None, import_strings=None):
|
||||
self.user_settings = user_settings or {}
|
||||
self.defaults = defaults or {}
|
||||
self.import_strings = import_strings or ()
|
||||
self.defaults = defaults or DEFAULTS
|
||||
self.import_strings = import_strings or IMPORT_STRINGS
|
||||
|
||||
def __getattr__(self, attr):
|
||||
if attr not in self.defaults.keys():
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
raise ValueError
|
|
@ -1,22 +1,17 @@
|
|||
"""Tests for the settings module"""
|
||||
from __future__ import unicode_literals
|
||||
from django.test import TestCase
|
||||
|
||||
from rest_framework.settings import APISettings, DEFAULTS, IMPORT_STRINGS
|
||||
from rest_framework.settings import APISettings
|
||||
|
||||
|
||||
class TestSettings(TestCase):
|
||||
"""Tests relating to the api settings"""
|
||||
|
||||
def test_non_import_errors(self):
|
||||
"""Make sure other errors aren't suppressed."""
|
||||
settings = APISettings({'DEFAULT_MODEL_SERIALIZER_CLASS': 'tests.extras.bad_import.ModelSerializer'}, DEFAULTS, IMPORT_STRINGS)
|
||||
with self.assertRaises(ValueError):
|
||||
settings.DEFAULT_MODEL_SERIALIZER_CLASS
|
||||
|
||||
def test_import_error_message_maintained(self):
|
||||
"""Make sure real import errors are captured and raised sensibly."""
|
||||
settings = APISettings({'DEFAULT_MODEL_SERIALIZER_CLASS': 'tests.extras.not_here.ModelSerializer'}, DEFAULTS, IMPORT_STRINGS)
|
||||
with self.assertRaises(ImportError) as cm:
|
||||
settings.DEFAULT_MODEL_SERIALIZER_CLASS
|
||||
self.assertTrue('ImportError' in str(cm.exception))
|
||||
"""
|
||||
Make sure import errors are captured and raised sensibly.
|
||||
"""
|
||||
settings = APISettings({
|
||||
'DEFAULT_RENDERER_CLASSES': [
|
||||
'tests.invalid_module.InvalidClassName'
|
||||
]
|
||||
})
|
||||
with self.assertRaises(ImportError):
|
||||
settings.DEFAULT_RENDERER_CLASSES
|
||||
|
|
Loading…
Reference in New Issue
Block a user