diff --git a/rest_framework/settings.py b/rest_framework/settings.py index 79da23ca4..33f848138 100644 --- a/rest_framework/settings.py +++ b/rest_framework/settings.py @@ -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(): diff --git a/tests/extras/__init__.py b/tests/extras/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/extras/bad_import.py b/tests/extras/bad_import.py deleted file mode 100644 index 68263d947..000000000 --- a/tests/extras/bad_import.py +++ /dev/null @@ -1 +0,0 @@ -raise ValueError diff --git a/tests/test_settings.py b/tests/test_settings.py index e29fc34aa..f2ff4ca14 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -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