6
6
except ImportError :
7
7
import mock
8
8
9
- from scrapy .settings import Settings , SettingsAttribute
9
+ from scrapy .settings import Settings , SettingsAttribute , CrawlerSettings
10
10
from . import default_settings
11
11
12
12
@@ -190,7 +190,7 @@ def test_get(self):
190
190
self .assertEqual (settings .getdict ('TEST_DICT3' , {'key1' : 5 }), {'key1' : 5 })
191
191
self .assertRaises (ValueError , settings .getdict , 'TEST_LIST1' )
192
192
193
- def test_deprecated_attribute (self ):
193
+ def test_deprecated_attribute_overrides (self ):
194
194
self .settings .set ('BAR' , 'fuz' , priority = 'cmdline' )
195
195
with warnings .catch_warnings (record = True ) as w :
196
196
self .settings .overrides ['BAR' ] = 'foo'
@@ -199,6 +199,43 @@ def test_deprecated_attribute(self):
199
199
self .assertEqual (self .settings .overrides .get ('BAR' ), 'foo' )
200
200
self .assertIn ('BAR' , self .settings .overrides )
201
201
202
+ def test_deprecated_attribute_defaults (self ):
203
+ self .settings .set ('BAR' , 'fuz' , priority = 'default' )
204
+ with warnings .catch_warnings (record = True ) as w :
205
+ self .settings .defaults ['BAR' ] = 'foo'
206
+ self .assertIn ("Settings.defaults" , str (w [0 ].message ))
207
+ self .assertEqual (self .settings .get ('BAR' ), 'foo' )
208
+ self .assertEqual (self .settings .defaults .get ('BAR' ), 'foo' )
209
+ self .assertIn ('BAR' , self .settings .defaults )
210
+
211
+
212
+ class CrawlerSettingsTest (unittest .TestCase ):
213
+
214
+ def test_deprecated_crawlersettings (self ):
215
+ def _get_settings (settings_dict = None ):
216
+ settings_module = type ('SettingsModuleMock' , (object ,), settings_dict or {})
217
+ return CrawlerSettings (settings_module )
218
+
219
+ with warnings .catch_warnings (record = True ) as w :
220
+ settings = _get_settings ()
221
+ self .assertIn ("CrawlerSettings is deprecated" , str (w [0 ].message ))
222
+
223
+ # test_global_defaults
224
+ self .assertEqual (settings .getint ('DOWNLOAD_TIMEOUT' ), 180 )
225
+
226
+ # test_defaults
227
+ settings .defaults ['DOWNLOAD_TIMEOUT' ] = '99'
228
+ self .assertEqual (settings .getint ('DOWNLOAD_TIMEOUT' ), 99 )
229
+
230
+ # test_settings_module
231
+ settings = _get_settings ({'DOWNLOAD_TIMEOUT' : '3' })
232
+ self .assertEqual (settings .getint ('DOWNLOAD_TIMEOUT' ), 3 )
233
+
234
+ # test_overrides
235
+ settings = _get_settings ({'DOWNLOAD_TIMEOUT' : '3' })
236
+ settings .overrides ['DOWNLOAD_TIMEOUT' ] = '15'
237
+ self .assertEqual (settings .getint ('DOWNLOAD_TIMEOUT' ), 15 )
238
+
202
239
203
240
if __name__ == "__main__" :
204
241
unittest .main ()
0 commit comments