@@ -609,3 +609,61 @@ async def test_assertions_response_is_ok_fail(page: Page, server: Server) -> Non
609
609
error_message = str (excinfo .value )
610
610
assert ("→ GET " + server .PREFIX + "/unknown" ) in error_message
611
611
assert "← 404 Not Found" in error_message
612
+
613
+
614
+ async def test_should_print_response_with_text_content_type_if_to_be_ok_fails (
615
+ page : Page , server : Server
616
+ ) -> None :
617
+ server .set_route (
618
+ "/text-content-type" ,
619
+ lambda r : (
620
+ r .setResponseCode (404 ),
621
+ r .setHeader ("content-type" , "text/plain" ),
622
+ r .write (b"Text error" ),
623
+ r .finish (),
624
+ ),
625
+ )
626
+ server .set_route (
627
+ "/no-content-type" ,
628
+ lambda r : (
629
+ r .setResponseCode (404 ),
630
+ r .write (b"No content type error" ),
631
+ r .finish (),
632
+ ),
633
+ )
634
+ server .set_route (
635
+ "/binary-content-type" ,
636
+ lambda r : (
637
+ r .setResponseCode (404 ),
638
+ r .setHeader ("content-type" , "image/bmp" ),
639
+ r .write (b"Image content type error" ),
640
+ r .finish (),
641
+ ),
642
+ )
643
+
644
+ response = await page .request .get (server .PREFIX + "/text-content-type" )
645
+ with pytest .raises (AssertionError ) as excinfo :
646
+ await expect (response ).to_be_ok ()
647
+ error_message = str (excinfo .value )
648
+ assert ("→ GET " + server .PREFIX + "/text-content-type" ) in error_message
649
+ assert "← 404 Not Found" in error_message
650
+ assert "Response Text:" in error_message
651
+ assert "Text error" in error_message
652
+
653
+ response = await page .request .get (server .PREFIX + "/no-content-type" )
654
+ with pytest .raises (AssertionError ) as excinfo :
655
+ await expect (response ).to_be_ok ()
656
+ error_message = str (excinfo .value )
657
+ assert ("→ GET " + server .PREFIX + "/no-content-type" ) in error_message
658
+ assert "← 404 Not Found" in error_message
659
+ assert "Response Text:" not in error_message
660
+ assert "No content type error" not in error_message
661
+
662
+ response = await page .request .get (server .PREFIX + "/binary-content-type" )
663
+ with pytest .raises (AssertionError ) as excinfo :
664
+ await expect (response ).to_be_ok ()
665
+ error_message = str (excinfo .value )
666
+ assert ("→ GET " + server .PREFIX + "/binary-content-type" ) in error_message
667
+ assert "← 404 Not Found" in error_message
668
+ assert "Response Text:" not in error_message
669
+ assert "Image content type error" not in error_message
0 commit comments