summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorCollin Winter <collinw@gmail.com>2009-05-18 22:32:26 (GMT)
committerCollin Winter <collinw@gmail.com>2009-05-18 22:32:26 (GMT)
commit9a4414d76d20419921f52624f43448ee2ba8684b (patch)
treeb6abd98e557211933fa26614125ccff378184fd4 /Lib
parentc384b226d765d5f57a909df8da3f4fcdfb4b7246 (diff)
downloadcpython-9a4414d76d20419921f52624f43448ee2ba8684b.zip
cpython-9a4414d76d20419921f52624f43448ee2ba8684b.tar.gz
cpython-9a4414d76d20419921f52624f43448ee2ba8684b.tar.bz2
Merged revisions 72777 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r72777 | collin.winter | 2009-05-18 14:35:40 -0700 (Mon, 18 May 2009) | 1 line Issue 6032: fix refleaks in test_urllib2_localnet. ........
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_urllib2_localnet.py38
1 files changed, 21 insertions, 17 deletions
diff --git a/Lib/test/test_urllib2_localnet.py b/Lib/test/test_urllib2_localnet.py
index 90d3c88..8641c4b 100644
--- a/Lib/test/test_urllib2_localnet.py
+++ b/Lib/test/test_urllib2_localnet.py
@@ -195,7 +195,11 @@ class FakeProxyHandler(http.server.BaseHTTPRequestHandler):
testing.
"""
- digest_auth_handler = DigestAuthHandler()
+ def __init__(self, digest_auth_handler, *args, **kwargs):
+ # This has to be set before calling our parent's __init__(), which will
+ # try to call do_GET().
+ self.digest_auth_handler = digest_auth_handler
+ http.server.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
def log_message(self, format, *args):
# Uncomment the next line for debugging.
@@ -225,50 +229,51 @@ class ProxyAuthTests(unittest.TestCase):
REALM = "TestRealm"
def setUp(self):
- FakeProxyHandler.digest_auth_handler.set_users({
- self.USER : self.PASSWD
- })
- FakeProxyHandler.digest_auth_handler.set_realm(self.REALM)
+ self.digest_auth_handler = DigestAuthHandler()
+ self.digest_auth_handler.set_users({self.USER: self.PASSWD})
+ self.digest_auth_handler.set_realm(self.REALM)
+ def create_fake_proxy_handler(*args, **kwargs):
+ return FakeProxyHandler(self.digest_auth_handler, *args, **kwargs)
- self.server = LoopbackHttpServerThread(FakeProxyHandler)
+ self.server = LoopbackHttpServerThread(create_fake_proxy_handler)
self.server.start()
self.server.ready.wait()
proxy_url = "http://127.0.0.1:%d" % self.server.port
handler = urllib.request.ProxyHandler({"http" : proxy_url})
- self._digest_auth_handler = urllib.request.ProxyDigestAuthHandler()
+ self.proxy_digest_handler = urllib.request.ProxyDigestAuthHandler()
self.opener = urllib.request.build_opener(
- handler, self._digest_auth_handler)
+ handler, self.proxy_digest_handler)
def tearDown(self):
self.server.stop()
def test_proxy_with_bad_password_raises_httperror(self):
- self._digest_auth_handler.add_password(self.REALM, self.URL,
+ self.proxy_digest_handler.add_password(self.REALM, self.URL,
self.USER, self.PASSWD+"bad")
- FakeProxyHandler.digest_auth_handler.set_qop("auth")
+ self.digest_auth_handler.set_qop("auth")
self.assertRaises(urllib.error.HTTPError,
self.opener.open,
self.URL)
def test_proxy_with_no_password_raises_httperror(self):
- FakeProxyHandler.digest_auth_handler.set_qop("auth")
+ self.digest_auth_handler.set_qop("auth")
self.assertRaises(urllib.error.HTTPError,
self.opener.open,
self.URL)
def test_proxy_qop_auth_works(self):
- self._digest_auth_handler.add_password(self.REALM, self.URL,
+ self.proxy_digest_handler.add_password(self.REALM, self.URL,
self.USER, self.PASSWD)
- FakeProxyHandler.digest_auth_handler.set_qop("auth")
+ self.digest_auth_handler.set_qop("auth")
result = self.opener.open(self.URL)
while result.read():
pass
result.close()
def test_proxy_qop_auth_int_works_or_throws_urlerror(self):
- self._digest_auth_handler.add_password(self.REALM, self.URL,
+ self.proxy_digest_handler.add_password(self.REALM, self.URL,
self.USER, self.PASSWD)
- FakeProxyHandler.digest_auth_handler.set_qop("auth-int")
+ self.digest_auth_handler.set_qop("auth-int")
try:
result = self.opener.open(self.URL)
except urllib.error.URLError:
@@ -474,8 +479,7 @@ class TestUrlopen(unittest.TestCase):
"http://sadflkjsasf.i.nvali.d/")
def test_main():
- support.run_unittest(ProxyAuthTests)
- support.run_unittest(TestUrlopen)
+ support.run_unittest(ProxyAuthTests, TestUrlopen)
if __name__ == "__main__":
test_main()