Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Add test case for tunneling proxy
Conflicts:
scrapy/tests/test_proxy_connect.py
- Loading branch information
Showing
with
12 additions
and
5 deletions.
-
+12
−5
scrapy/tests/test_proxy_connect.py
|
|
@@ -1,5 +1,5 @@ |
|
|
import json |
|
|
import os |
|
|
import subprocess |
|
|
import time |
|
|
|
|
|
from threading import Thread |
|
@@ -8,14 +8,12 @@ |
|
|
|
|
|
from twisted.internet import defer |
|
|
from twisted.trial.unittest import TestCase |
|
|
from scrapy.http import Request |
|
|
from scrapy.utils.test import get_testlog, docrawl |
|
|
from scrapy.tests.spiders import SimpleSpider |
|
|
from scrapy.tests.spiders import SimpleSpider, SingleRequestSpider |
|
|
from scrapy.tests.mockserver import MockServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class HTTPSProxy(controller.Master, Thread): |
|
|
|
|
|
def __init__(self, port): |
|
@@ -79,6 +77,15 @@ def test_https_tunnel_auth_error(self): |
|
|
self._assert_got_tunnel_error() |
|
|
os.environ['https_proxy'] = 'http://scrapy:scrapy@localhost:8888' |
|
|
|
|
|
@defer.inlineCallbacks |
|
|
def test_https_tunnel_without_leak_proxy_authorization_header(self): |
|
|
request = Request("https://localhost:8999/echo") |
|
|
spider = SingleRequestSpider(seed=request) |
|
|
yield docrawl(spider) |
|
|
self._assert_got_response_code(200) |
|
|
echo = json.loads(spider.meta['responses'][0].body) |
|
|
self.assertTrue('Proxy-Authorization' not in echo['headers']) |
|
|
|
|
|
@defer.inlineCallbacks |
|
|
def test_https_noconnect_auth_error(self): |
|
|
os.environ['https_proxy'] = 'http://wrong:wronger@localhost:8888?noconnect' |
|
|