(caplog)
| 291 | |
| 292 | |
| 293 | def test_debug(caplog): |
| 294 | settings = {"AUTOTHROTTLE_DEBUG": True} |
| 295 | crawler = get_crawler(settings) |
| 296 | at = build_from_crawler(AutoThrottle, crawler) |
| 297 | spider = DefaultSpider() |
| 298 | at._spider_opened(spider) |
| 299 | meta = {"download_latency": 1.0, "download_slot": "foo"} |
| 300 | request = Request("https://example.com", meta=meta) |
| 301 | response = Response(request.url, body=b"foo") |
| 302 | |
| 303 | crawler.engine = Mock() |
| 304 | crawler.engine.downloader = Mock() |
| 305 | crawler.engine.downloader.slots = {} |
| 306 | slot = Mock() |
| 307 | slot.delay = 2.0 |
| 308 | slot.transferring = (None, None) |
| 309 | crawler.engine.downloader.slots["foo"] = slot |
| 310 | |
| 311 | caplog.clear() |
| 312 | with caplog.at_level(INFO): |
| 313 | at._response_downloaded(response, request, spider) |
| 314 | |
| 315 | assert caplog.record_tuples == [ |
| 316 | ( |
| 317 | "scrapy.extensions.throttle", |
| 318 | INFO, |
| 319 | "slot: foo | conc: 2 | delay: 1500 ms (-500) | latency: 1000 ms | size: 3 bytes", |
| 320 | ), |
| 321 | ] |
| 322 | |
| 323 | |
| 324 | def test_debug_disabled(caplog): |
nothing calls this directly
no test coverage detected