summaryrefslogtreecommitdiff
path: root/Lib/test/test_urllib2net.py
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2007-06-06 17:15:23 +0000
committerFacundo Batista <facundobatista@gmail.com>2007-06-06 17:15:23 +0000
commit10951d51e27f52ab5b92748b459a5fd40da6b871 (patch)
tree227688e2502f1de358e5939c7626d0a9dfba3598 /Lib/test/test_urllib2net.py
parent92493120209565d6db37fe97c5bdb2f14d6a9c25 (diff)
downloadcpython-git-10951d51e27f52ab5b92748b459a5fd40da6b871.tar.gz
Added an optional timeout parameter to function urllib2.urlopen,
with tests in test_urllib2net.py (must have network resource enabled to execute them). Also modified test_urllib2.py because testing mock classes must take it into acount. Docs are also updated.
Diffstat (limited to 'Lib/test/test_urllib2net.py')
-rw-r--r--Lib/test/test_urllib2net.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
index e76301e3e7..c363140fc2 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -267,6 +267,49 @@ class OtherNetworkTests(unittest.TestCase):
return handlers
+class TimeoutTest(unittest.TestCase):
+ def test_http_basic(self):
+ u = urllib2.urlopen("http://www.python.org")
+ self.assertTrue(u.fp._sock.fp._sock.gettimeout() is None)
+
+ def test_http_NoneWithdefault(self):
+ prev = socket.getdefaulttimeout()
+ socket.setdefaulttimeout(60)
+ try:
+ u = urllib2.urlopen("http://www.python.org", timeout=None)
+ self.assertEqual(u.fp._sock.fp._sock.gettimeout(), 60)
+ finally:
+ socket.setdefaulttimeout(prev)
+
+ def test_http_Value(self):
+ u = urllib2.urlopen("http://www.python.org", timeout=120)
+ self.assertEqual(u.fp._sock.fp._sock.gettimeout(), 120)
+
+ def test_http_NoneNodefault(self):
+ u = urllib2.urlopen("http://www.python.org", timeout=None)
+ self.assertTrue(u.fp._sock.fp._sock.gettimeout() is None)
+
+ def test_ftp_basic(self):
+ u = urllib2.urlopen("ftp://ftp.mirror.nl/pub/mirror/gnu/")
+ self.assertTrue(u.fp.fp._sock.gettimeout() is None)
+
+ def test_ftp_NoneWithdefault(self):
+ prev = socket.getdefaulttimeout()
+ socket.setdefaulttimeout(60)
+ try:
+ u = urllib2.urlopen("ftp://ftp.mirror.nl/pub/mirror/gnu/", timeout=None)
+ self.assertEqual(u.fp.fp._sock.gettimeout(), 60)
+ finally:
+ socket.setdefaulttimeout(prev)
+
+ def test_ftp_NoneNodefault(self):
+ u = urllib2.urlopen("ftp://ftp.mirror.nl/pub/mirror/gnu/", timeout=None)
+ self.assertTrue(u.fp.fp._sock.gettimeout() is None)
+
+ def test_ftp_Value(self):
+ u = urllib2.urlopen("ftp://ftp.mirror.nl/pub/mirror/gnu/", timeout=60)
+ self.assertEqual(u.fp.fp._sock.gettimeout(), 60)
+
def test_main():
test_support.requires("network")
@@ -275,6 +318,7 @@ def test_main():
AuthTests,
OtherNetworkTests,
CloseSocketTest,
+ TimeoutTest,
)
if __name__ == "__main__":