mirror of https://github.com/scrapy/scrapy.git
StopDownload: check partial response contents
This commit is contained in:
parent
9514393bd1
commit
fbe915d9cb
|
|
@ -293,10 +293,12 @@ class BytesReceivedCallbackSpider(MetaSpider):
|
|||
self.meta["failure"] = failure
|
||||
|
||||
def bytes_received(self, data, request, spider):
|
||||
self.meta["bytes_received"] = data
|
||||
raise StopDownload(fail=False)
|
||||
|
||||
|
||||
class BytesReceivedErrbackSpider(BytesReceivedCallbackSpider):
|
||||
|
||||
def bytes_received(self, data, request, spider):
|
||||
self.meta["bytes_received"] = data
|
||||
raise StopDownload(fail=True)
|
||||
|
|
|
|||
|
|
@ -478,7 +478,8 @@ with multiples lines
|
|||
yield crawler.crawl(mockserver=self.mockserver)
|
||||
self.assertIsNone(crawler.spider.meta.get("failure"))
|
||||
self.assertIsInstance(crawler.spider.meta["response"], Response)
|
||||
self.assertLess(len(crawler.spider.meta["response"].text), crawler.spider.full_response_length)
|
||||
self.assertEqual(crawler.spider.meta["response"].body, crawler.spider.meta.get("bytes_received"))
|
||||
self.assertLess(len(crawler.spider.meta["response"].body), crawler.spider.full_response_length)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_stop_download_errback(self):
|
||||
|
|
@ -488,4 +489,5 @@ with multiples lines
|
|||
self.assertIsInstance(crawler.spider.meta["failure"], Failure)
|
||||
self.assertIsInstance(crawler.spider.meta["failure"].value, StopDownload)
|
||||
self.assertIsInstance(crawler.spider.meta["failure"].response, Response)
|
||||
self.assertLess(len(crawler.spider.meta["failure"].response.text), crawler.spider.full_response_length)
|
||||
self.assertEqual(crawler.spider.meta["failure"].response.body, crawler.spider.meta.get("bytes_received"))
|
||||
self.assertLess(len(crawler.spider.meta["failure"].response.body), crawler.spider.full_response_length)
|
||||
|
|
|
|||
Loading…
Reference in New Issue