File tree 2 files changed +7
-3
lines changed
2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change 17
17
REST framework settings, checking for user settings first, then falling
18
18
back to the defaults.
19
19
"""
20
+ import warnings
20
21
from __future__ import unicode_literals
21
22
22
23
from django .conf import settings
@@ -216,7 +217,7 @@ def __check_user_settings(self, user_settings):
216
217
SETTINGS_DOC = "http://www.django-rest-framework.org/api-guide/settings/"
217
218
for setting in REMOVED_SETTINGS :
218
219
if setting in user_settings :
219
- raise AttributeError ("The '%s' setting has been removed. Please refer to '%s' for available settings." % (setting , SETTINGS_DOC ))
220
+ warnings . warn ("The '%s' setting has been removed. Please refer to '%s' for available settings." % (setting , SETTINGS_DOC ), DeprecationWarning )
220
221
return user_settings
221
222
222
223
Original file line number Diff line number Diff line change @@ -18,15 +18,18 @@ def test_import_error_message_maintained(self):
18
18
with self .assertRaises (ImportError ):
19
19
settings .DEFAULT_RENDERER_CLASSES
20
20
21
- def test_loud_error_raised_on_removed_setting (self ):
21
+ def test_warning_raised_on_removed_setting (self ):
22
22
"""
23
23
Make sure user is alerted with an error when a removed setting
24
24
is set.
25
25
"""
26
- with self .assertRaises (AttributeError ):
26
+ with warnings .catch_warnings (record = True ) as w :
27
+ warnings .simplefilter ("always" )
27
28
APISettings ({
28
29
'MAX_PAGINATE_BY' : 100
29
30
})
31
+ self .assertEqual (len (w ), 1 )
32
+ self .assertTrue (issubclass (w [- 1 ].category , DeprecationWarning ))
30
33
31
34
32
35
class TestSettingTypes (TestCase ):
You can’t perform that action at this time.
0 commit comments