MCPcopy
hub / github.com/scrapy/scrapy / test_enable_addon_in_spider

Method test_enable_addon_in_spider

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

Source from the content-addressed store, hash-verified

185
186 @inline_callbacks_test
187 def test_enable_addon_in_spider(self):
188 class MySpider(Spider):
189 name = "myspider"
190
191 @classmethod
192 def from_crawler(cls, crawler, *args, **kwargs):
193 spider = super().from_crawler(crawler, *args, **kwargs)
194 addon_config = {"KEY": "addon"}
195 addon_cls = get_addon_cls(addon_config)
196 spider.settings.set("ADDONS", {addon_cls: 1}, priority="spider")
197 return spider
198
199 settings = Settings()
200 settings.setdict(get_reactor_settings())
201 settings.set("KEY", "default", priority="default")
202 runner_cls = (
203 CrawlerRunner
204 if settings.getbool("TWISTED_REACTOR_ENABLED", True)
205 else AsyncCrawlerRunner
206 )
207 runner = runner_cls(settings)
208 crawler = runner.create_crawler(MySpider)
209 assert crawler.settings.get("KEY") == "default"
210 yield crawler.crawl()
211 assert crawler.settings.get("KEY") == "addon"

Callers

nothing calls this directly

Calls 8

SettingsClass · 0.90
get_reactor_settingsFunction · 0.90
setdictMethod · 0.80
create_crawlerMethod · 0.80
setMethod · 0.45
getboolMethod · 0.45
getMethod · 0.45
crawlMethod · 0.45

Tested by

no test coverage detected