(self)
| 80 | |
| 81 | @inline_callbacks_test |
| 82 | def test_settings_in_from_crawler(self): |
| 83 | spider_settings = {"TEST1": "spider", "TEST2": "spider"} |
| 84 | project_settings = { |
| 85 | "TEST1": "project", |
| 86 | "TEST3": "project", |
| 87 | **get_reactor_settings(), |
| 88 | } |
| 89 | |
| 90 | class TestSpider(self.spider_class): |
| 91 | name = "test" |
| 92 | custom_settings = spider_settings |
| 93 | |
| 94 | @classmethod |
| 95 | def from_crawler(cls, crawler: Crawler, *args: Any, **kwargs: Any): |
| 96 | spider = super().from_crawler(crawler, *args, **kwargs) |
| 97 | spider.settings.set("TEST1", "spider_instance", priority="spider") |
| 98 | return spider |
| 99 | |
| 100 | crawler = Crawler(TestSpider, project_settings) |
| 101 | assert crawler.settings.get("TEST1") == "spider" |
| 102 | assert crawler.settings.get("TEST2") == "spider" |
| 103 | assert crawler.settings.get("TEST3") == "project" |
| 104 | yield crawler.crawl() |
| 105 | assert crawler.settings.get("TEST1") == "spider_instance" |
| 106 | |
| 107 | def test_logger(self): |
| 108 | spider = self.spider_class("example.com") |
nothing calls this directly
no test coverage detected