mirror of https://github.com/scrapy/scrapy.git
Complete coverage for addons.py (#7612)
This commit is contained in:
parent
983e6c1182
commit
af30cfea12
|
|
@ -71,6 +71,37 @@ class TestAddonManager:
|
|||
manager = crawler.addons
|
||||
assert not manager.addons
|
||||
|
||||
def test_notconfigured_with_args(self):
|
||||
class NotConfiguredAddon:
|
||||
def update_settings(self, settings):
|
||||
raise NotConfigured("addon disabled reason")
|
||||
|
||||
settings_dict = {
|
||||
"ADDONS": {NotConfiguredAddon: 0},
|
||||
}
|
||||
with patch("scrapy.addons.logger") as logger_mock:
|
||||
crawler = get_crawler(settings_dict=settings_dict)
|
||||
assert not crawler.addons.addons
|
||||
logger_mock.warning.assert_called_once_with(
|
||||
"Disabled %(clspath)s: %(eargs)s",
|
||||
{"clspath": NotConfiguredAddon, "eargs": "addon disabled reason"},
|
||||
extra={"crawler": crawler},
|
||||
)
|
||||
|
||||
def test_no_update_settings(self):
|
||||
class PreCrawlerOnlyAddon:
|
||||
@classmethod
|
||||
def update_pre_crawler_settings(cls, settings):
|
||||
settings.set("PRE_CRAWLER_KEY", "value", priority="addon")
|
||||
|
||||
settings_dict = {
|
||||
"ADDONS": {PreCrawlerOnlyAddon: 0},
|
||||
}
|
||||
crawler = get_crawler(settings_dict=settings_dict)
|
||||
manager = crawler.addons
|
||||
assert len(manager.addons) == 1
|
||||
assert isinstance(manager.addons[0], PreCrawlerOnlyAddon)
|
||||
|
||||
def test_load_settings_order(self):
|
||||
# Get three addons with different settings
|
||||
addonlist = []
|
||||
|
|
|
|||
Loading…
Reference in New Issue