@@ -209,48 +209,28 @@ async def test_route_continue_exception(self, logger):
209209 await req_handler (route , playwright_request )
210210
211211 @allow_windows
212- async def test_event_handler_dialog_callable (self ):
212+ async def test_event_handler_dialog (self ):
213213 async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
214214 with StaticMockServer () as server :
215- spider = DialogSpider ()
216- req = Request (
217- url = server .urljoin ("/index.html" ),
218- meta = {
219- "playwright" : True ,
220- "playwright_page_methods" : [
221- # trigger an alert
222- PageMethod ("evaluate" , "alert('foobar');" ),
223- ],
224- "playwright_page_event_handlers" : {
225- "dialog" : spider .handle_dialog ,
226- },
227- },
228- )
229- await handler ._download_request (req , spider )
230-
231- assert spider .dialog_message == "foobar"
232-
233- @allow_windows
234- async def test_event_handler_dialog_str (self ):
235- async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
236- with StaticMockServer () as server :
237- spider = DialogSpider ()
238- req = Request (
239- url = server .urljoin ("/index.html" ),
240- meta = {
241- "playwright" : True ,
242- "playwright_page_methods" : [
243- # trigger an alert
244- PageMethod ("evaluate" , "alert('foobar');" ),
245- ],
246- "playwright_page_event_handlers" : {
247- "dialog" : "handle_dialog" ,
215+ for use_callable in (True , False ):
216+ spider = DialogSpider ()
217+ req = Request (
218+ url = server .urljoin ("/index.html" ),
219+ meta = {
220+ "playwright" : True ,
221+ "playwright_page_methods" : [
222+ # trigger an alert
223+ PageMethod ("evaluate" , "alert('foobar');" ),
224+ ],
225+ "playwright_page_event_handlers" : {
226+ "dialog" : (
227+ spider .handle_dialog if use_callable else "handle_dialog"
228+ ),
229+ },
248230 },
249- },
250- )
251- await handler ._download_request (req , spider )
252-
253- assert spider .dialog_message == "foobar"
231+ )
232+ await handler ._download_request (req , spider )
233+ assert spider .dialog_message == "foobar"
254234
255235 @allow_windows
256236 async def test_event_handler_dialog_missing (self ):
@@ -435,56 +415,40 @@ async def test_logging_record_spider(self):
435415 assert any (getattr (rec , "spider" , None ) is spider for rec in self ._caplog .records )
436416
437417 @allow_windows
438- @patch ("scrapy_playwright.handler._make_request_logger" )
439- async def test_request_logger_disabled (self , make_request_logger : MagicMock ):
440- self ._caplog .set_level (logging .DEBUG + 1 , "scrapy-playwright" )
441- async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
442- with MockServer () as server :
443- req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
444- await handler ._download_request (req , Spider ("foo" ))
445-
446- debug_message = (
447- f"[Context=default] Request: <{ req .method } { req .url } > (resource type: document)"
448- )
449- assert not any (rec .message == debug_message for rec in self ._caplog .records )
450- make_request_logger .assert_not_called ()
451-
452- @allow_windows
453- async def test_request_logger_enabled (self ):
454- self ._caplog .set_level (logging .DEBUG , "scrapy-playwright" )
418+ async def test_request_logger (self ):
455419 async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
456420 with MockServer () as server :
421+ with self ._caplog .at_level (logging .DEBUG + 1 , logger = "scrapy-playwright" ):
422+ with patch ("scrapy_playwright.handler._make_request_logger" ) as mock_logger :
423+ req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
424+ await handler ._download_request (req , Spider ("foo" ))
425+ msg = f"[Context=default] Request: <{ req .method } { req .url } > (resource type: document)" # noqa: E501
426+ assert not any (rec .message == msg for rec in self ._caplog .records )
427+ mock_logger .assert_not_called ()
428+
429+ self ._caplog .set_level (logging .DEBUG , "scrapy-playwright" )
457430 req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
458431 await handler ._download_request (req , Spider ("foo" ))
459-
460- debug_message = (
461- f"[Context=default] Request: <{ req .method } { req .url } > (resource type: document)"
462- )
463- assert any (rec .message == debug_message for rec in self ._caplog .records )
432+ msg = f"[Context=default] Request: <{ req .method } { req .url } > (resource type: document)" # noqa: E501
433+ assert any (rec .message == msg for rec in self ._caplog .records )
464434
465435 @allow_windows
466- @patch ("scrapy_playwright.handler._make_response_logger" )
467- async def test_response_logger_disabled (self , make_response_logger : MagicMock ):
468- self ._caplog .set_level (logging .DEBUG + 1 , "scrapy-playwright" )
469- async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
470- with MockServer () as server :
471- req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
472- response = await handler ._download_request (req , Spider ("foo" ))
473-
474- debug_message = f"[Context=default] Response: <{ response .status } { response .url } >"
475- assert not any (rec .message == debug_message for rec in self ._caplog .records )
476- make_response_logger .assert_not_called ()
477-
478- @allow_windows
479- async def test_response_logger_enabled (self ):
480- self ._caplog .set_level (logging .DEBUG , "scrapy-playwright" )
436+ async def test_response_logger (self ):
481437 async with make_handler ({"PLAYWRIGHT_BROWSER_TYPE" : self .browser_type }) as handler :
482438 with MockServer () as server :
439+ with self ._caplog .at_level (logging .DEBUG + 1 , logger = "scrapy-playwright" ):
440+ with patch ("scrapy_playwright.handler._make_response_logger" ) as mock_logger :
441+ req = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
442+ response = await handler ._download_request (req , Spider ("foo" ))
443+ debug_message = f"[Context=default] Response: <{ response .status } { response .url } >"
444+ assert not any (rec .message == debug_message for rec in self ._caplog .records )
445+ mock_logger .assert_not_called ()
446+
447+ self ._caplog .set_level (logging .DEBUG , "scrapy-playwright" )
483448 request = Request (url = server .urljoin ("/index.html" ), meta = {"playwright" : True })
484449 response = await handler ._download_request (request , Spider ("foo" ))
485-
486- debug_message = f"[Context=default] Response: <{ response .status } { response .url } >"
487- assert any (rec .message == debug_message for rec in self ._caplog .records )
450+ debug_message = f"[Context=default] Response: <{ response .status } { response .url } >"
451+ assert any (rec .message == debug_message for rec in self ._caplog .records )
488452
489453 @allow_windows
490454 async def test_download_file_ok (self ):
0 commit comments