@@ -769,21 +769,55 @@ def test_adjust_timeout():
769
769
770
770
def test_spider_attribute ():
771
771
req_url = "http://scrapy.org"
772
- req1 = scrapy .Request (req_url )
773
-
774
772
spider = scrapy .Spider ("example" )
773
+ mw = _get_mw ()
774
+
775
+ req1 = scrapy .Request (req_url )
775
776
spider .splash = {"args" : {"images" : 0 }}
776
777
777
778
mw = _get_mw ()
778
779
req1 = mw .process_request (req1 , spider )
779
780
assert "_splash_processed" in req1 .meta
780
781
assert "render.json" in req1 .url
781
- assert "url" in json .loads (req1 .body )
782
- assert json .loads (req1 .body ).get ("url" ) == req_url
783
- assert "images" in json .loads (req1 .body )
782
+ request_data = json .loads (req1 .body .decode ('utf8' ))
783
+ assert "url" in request_data
784
+ assert request_data .get ("url" ) == req_url
785
+ assert "images" in request_data
784
786
assert req1 .method == 'POST'
785
787
786
788
# spider attribute blank middleware disabled
787
789
spider .splash = {}
790
+ req3 = mw .process_request (req1 , spider )
791
+ assert req3 is None
792
+
793
+
794
+ def test_spider_attribute_dont_splash ():
795
+ req_url = "http://scrapy.org"
796
+ spider = scrapy .Spider ("example" )
797
+ mw = _get_mw ()
798
+
799
+ req1 = scrapy .Request (req_url , meta = {'dont_splash' : True })
800
+ spider .splash = {"args" : {"images" : 0 }}
801
+
802
+ req2 = mw .process_request (req1 , spider )
803
+ assert req2 is None
804
+
805
+ response = Response ("http://example.com" , request = req1 )
806
+ response2 = mw .process_response (req1 , response , None )
807
+ assert response2 is response
808
+
809
+
810
+ def test_spider_attribute_blank ():
811
+ req_url = "http://scrapy.org"
812
+ spider = scrapy .Spider ("example" )
813
+ mw = _get_mw ()
814
+
815
+ req1 = scrapy .Request (req_url )
816
+ spider .splash = {}
817
+
788
818
req2 = mw .process_request (req1 , spider )
789
819
assert req2 is None
820
+
821
+ response = Response ("http://example.com" , request = req1 )
822
+ response2 = mw .process_response (req1 , response , None )
823
+ assert response2 is response
0 commit comments