Add test case for tunneling proxy

Conflicts:
	scrapy/tests/test_proxy_connect.py
This commit is contained in:
ivannotes 2014-08-01 09:25:13 +08:00 committed by Daniel Graña
parent d8793afccf
commit f090260d10
1 changed files with 12 additions and 5 deletions

View File

@ -1,5 +1,5 @@
import json
import os
import subprocess
import time
from threading import Thread
@ -8,14 +8,12 @@ from netlib import http_auth
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 @@ class ProxyConnectTestCase(TestCase):
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'