(self)
| 314 | ) |
| 315 | |
| 316 | def test_one_retry(self): |
| 317 | request = Request("https://example.com") |
| 318 | spider = self.get_spider() |
| 319 | with LogCapture() as log: |
| 320 | new_request = get_retry_request( |
| 321 | request, |
| 322 | spider=spider, |
| 323 | max_retry_times=1, |
| 324 | ) |
| 325 | assert isinstance(new_request, Request) |
| 326 | assert new_request != request |
| 327 | assert new_request.dont_filter |
| 328 | expected_retry_times = 1 |
| 329 | assert new_request.meta["retry_times"] == expected_retry_times |
| 330 | assert new_request.priority == -1 |
| 331 | expected_reason = "unspecified" |
| 332 | for stat in ("retry/count", f"retry/reason_count/{expected_reason}"): |
| 333 | assert spider.crawler.stats.get_value(stat) == 1 |
| 334 | log.check_present( |
| 335 | ( |
| 336 | "scrapy.downloadermiddlewares.retry", |
| 337 | "DEBUG", |
| 338 | f"Retrying {request} (failed {expected_retry_times} times): " |
| 339 | f"{expected_reason}", |
| 340 | ) |
| 341 | ) |
| 342 | |
| 343 | def test_two_retries(self): |
| 344 | spider = self.get_spider() |
nothing calls this directly
no test coverage detected