@@ -388,6 +388,58 @@ async def test_logging_record_spider(self):
388
388
389
389
assert any (getattr (rec , "spider" , None ) is spider for rec in self ._caplog .records )
390
390
391
+ @allow_windows
392
+ @patch ("scrapy_playwright.handler._make_request_logger" )
393
+ async def test_request_logger_disabled (self , make_request_logger : MagicMock ):
394
+ self ._caplog .set_level (logging .DEBUG + 1 , "scrapy-playwright" )
395
+ async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
396
+ with MockServer () as server :
397
+ req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
398
+ await handler ._download_request (req , Spider ("foo" ))
399
+
400
+ debug_message = (
401
+ f"[Context=default] Request: <{ req .method } { req .url } > (resource type: document)"
402
+ )
403
+ assert not any (rec .message == debug_message for rec in self ._caplog .records )
404
+ make_request_logger .assert_not_called ()
405
+
406
+ @allow_windows
407
+ async def test_request_logger_enabled (self ):
408
+ self ._caplog .set_level (logging .DEBUG , "scrapy-playwright" )
409
+ async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
410
+ with MockServer () as server :
411
+ req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
412
+ await handler ._download_request (req , Spider ("foo" ))
413
+
414
+ debug_message = (
415
+ f"[Context=default] Request: <{ req .method } { req .url } > (resource type: document)"
416
+ )
417
+ assert any (rec .message == debug_message for rec in self ._caplog .records )
418
+
419
+ @allow_windows
420
+ @patch ("scrapy_playwright.handler._make_response_logger" )
421
+ async def test_response_logger_disabled (self , make_response_logger : MagicMock ):
422
+ self ._caplog .set_level (logging .DEBUG + 1 , "scrapy-playwright" )
423
+ async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
424
+ with MockServer () as server :
425
+ req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
426
+ response = await handler ._download_request (req , Spider ("foo" ))
427
+
428
+ debug_message = f"[Context=default] Response: <{ response .status } { response .url } >"
429
+ assert not any (rec .message == debug_message for rec in self ._caplog .records )
430
+ make_response_logger .assert_not_called ()
431
+
432
+ @allow_windows
433
+ async def test_response_logger_enabled (self ):
434
+ self ._caplog .set_level (logging .DEBUG , "scrapy-playwright" )
435
+ async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
436
+ with MockServer () as server :
437
+ request = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
438
+ response = await handler ._download_request (request , Spider ("foo" ))
439
+
440
+ debug_message = f"[Context=default] Response: <{ response .status } { response .url } >"
441
+ assert any (rec .message == debug_message for rec in self ._caplog .records )
442
+
391
443
@allow_windows
392
444
async def test_download_file_ok (self ):
393
445
settings_dict = {
0 commit comments