def test_host_header_seted_in_request_headers(self): def _test(response): self.assertEquals(response.body, 'example.com') self.assertEquals(request.headers.get('Host'), 'example.com') request = Request(self.getURL('host'), headers={'Host': 'example.com'}) return download_http(request, BaseSpider()).addCallback(_test) d = download_http(request, BaseSpider()) d.addCallback(lambda r: r.body) d.addCallback(self.assertEquals, 'example.com') return d
def test_payload(self): body = '1'*100 # PayloadResource requires body length to be 100 request = Request(self.getURL('payload'), method='POST', body=body) d = download_http(request, BaseSpider()) d.addCallback(lambda r: r.body) d.addCallback(self.assertEquals, body) return d
def test_host_header_not_in_request_headers(self): def _test(response): self.assertEquals(response.body, '127.0.0.1:%d' % self.portno) self.assertEquals(request.headers, {}) request = Request(self.getURL('host')) return download_http(request, BaseSpider()).addCallback(_test)
def test_download_without_proxy(self): def _test(response): self.assertEquals(response.status, 200) self.assertEquals(response.url, request.url) self.assertEquals(response.body, '/path/to/resource') request = Request(self.getURL('path/to/resource')) return download_http(request, BaseSpider()).addCallback(_test)
def test_download_with_proxy(self): def _test(response): self.assertEquals(response.status, 200) self.assertEquals(response.url, request.url) self.assertEquals(response.body, 'https://example.com') http_proxy = self.getURL('') request = Request('https://example.com', meta={'proxy': http_proxy}) return download_http(request, BaseSpider()).addCallback(_test)
def test_timeout_download_from_spider(self): spider = BaseSpider() spider.download_timeout = 0.000001 request = Request(self.getURL('wait')) d = download_http(request, spider) return self.assertFailure(d, defer.TimeoutError)
def test_redirect_status(self): request = Request(self.getURL('redirect')) d = download_http(request, BaseSpider()) d.addCallback(lambda r: r.status) d.addCallback(self.assertEquals, 302) return d
def test_download(self): request = Request(self.getURL('file')) d = download_http(request, BaseSpider()) d.addCallback(lambda r: r.body) d.addCallback(self.assertEquals, "0123456789") return d
def test_broken_download(self): request = Request(self.getURL('broken')) d = download_http(request, BaseSpider()) return self.assertFailure(d, PartialDownloadError)
def test_download_head(self): request = Request(self.getURL('file'), method='HEAD') d = download_http(request, BaseSpider('foo')) d.addCallback(lambda r: r.body) d.addCallback(self.assertEquals, '') return d