[kennethreitz/requests#1208] adding unit test for max_retries

This commit is contained in:
Wilfred Hughes
2013-02-27 16:01:36 +00:00
parent 796d3225dd
commit 18b29ea005

View File

@@ -354,5 +354,26 @@ class RequestsTestCase(unittest.TestCase):
r = requests.Request(url=HTTPBIN)
self.assertRaises(ValueError, requests.Session().send, r)
def test_can_specify_retries(self):
# monkey patch urlopen
from requests.packages.urllib3.poolmanager import HTTPConnectionPool
old_urlopen = HTTPConnectionPool.urlopen
max_retries_used = []
def urlopen(*args, **kwargs):
"""Save what value we used for retries each time we call urlopen."""
max_retries_used.append(kwargs.get('retries'))
return old_urlopen(*args, **kwargs)
HTTPConnectionPool.urlopen = urlopen
# do the request and check that max_retries was passed through
requests.get(httpbin('get'), max_retries=5)
self.assertEqual(max_retries_used, [5])
# undo monkey patch
HTTPConnectionPool.urlopen = old_urlopen
if __name__ == '__main__':
unittest.main()