MCPcopy
hub / github.com/scrapy/scrapy / test_settings_priority

Method test_settings_priority

tests/test_addons.py:100–133  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

98 assert crawler.settings.get("MYADDON_KEY") == "val"
99
100 def test_settings_priority(self):
101 config = {
102 "KEY": 15, # priority=addon
103 }
104 settings_dict = {
105 "ADDONS": {get_addon_cls(config): 1},
106 **get_reactor_settings(),
107 }
108 crawler = get_crawler(settings_dict=settings_dict)
109 assert crawler.settings.getint("KEY") == 15
110
111 runner_cls = (
112 CrawlerRunner
113 if settings_dict.get("TWISTED_REACTOR_ENABLED", True)
114 else AsyncCrawlerRunner
115 )
116
117 settings = Settings(settings_dict)
118 settings.set("KEY", 0, priority="default")
119 runner = runner_cls(settings)
120 crawler = runner.create_crawler(Spider)
121 crawler._apply_settings()
122 assert crawler.settings.getint("KEY") == 15
123
124 settings_dict = {
125 "KEY": 20, # priority=project
126 "ADDONS": {get_addon_cls(config): 1},
127 **get_reactor_settings(),
128 }
129 settings = Settings(settings_dict)
130 settings.set("KEY", 0, priority="default")
131 runner = runner_cls(settings)
132 crawler = runner.create_crawler(Spider)
133 assert crawler.settings.getint("KEY") == 20
134
135 def test_fallback_workflow(self):
136 FALLBACK_SETTING = "MY_FALLBACK_SCHEDULER"

Callers

nothing calls this directly

Calls 9

get_reactor_settingsFunction · 0.90
get_crawlerFunction · 0.90
SettingsClass · 0.90
get_addon_clsFunction · 0.85
getintMethod · 0.80
create_crawlerMethod · 0.80
_apply_settingsMethod · 0.80
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected