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