(
self, *mw_classes: type[Any]
)
| 261 | MW_SIMPLE = ProcessStartSimpleMiddleware |
| 262 | |
| 263 | async def _get_processed_start( |
| 264 | self, *mw_classes: type[Any] |
| 265 | ) -> AsyncIterator[Any] | None: |
| 266 | class TestSpider(Spider): |
| 267 | name = "test" |
| 268 | |
| 269 | async def start(self): |
| 270 | for i in range(2): |
| 271 | yield Request(f"https://example.com/{i}", dont_filter=True) |
| 272 | yield {"name": "test item"} |
| 273 | |
| 274 | setting = self._construct_mw_setting(*mw_classes) |
| 275 | self.crawler = get_crawler( |
| 276 | TestSpider, {"SPIDER_MIDDLEWARES_BASE": {}, "SPIDER_MIDDLEWARES": setting} |
| 277 | ) |
| 278 | self.crawler.spider = self.crawler._create_spider() |
| 279 | self.mwman = SpiderMiddlewareManager.from_crawler(self.crawler) |
| 280 | return await self.mwman.process_start() |
| 281 | |
| 282 | @coroutine_test |
| 283 | async def test_simple(self): |
no test coverage detected