From: Shivaram Lingamneni Date: Fri, 4 May 2012 04:16:46 +0000 (-0700) Subject: test for #458 X-Git-Tag: v0.12.1~10^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d4d5ab0df6a0295599a49927de57fd039650358;p=services%2Fpython-requests.git test for #458 --- diff --git a/tests/test_requests.py b/tests/test_requests.py index db176f5..a701939 100755 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -848,14 +848,28 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): r.text def test_max_redirects(self): + """Test the max_redirects config variable, normally and under safe_mode.""" def unsafe_callable(): - requests.get("http://httpbin.org/redirect/3", config=dict(max_redirects=2)) + requests.get(httpbin('redirect', '3'), config=dict(max_redirects=2)) self.assertRaises(requests.exceptions.TooManyRedirects, unsafe_callable) # add safe mode - response = requests.get("http://httpbin.org/redirect/3", config=dict(safe_mode=True, max_redirects=2)) + response = requests.get(httpbin('redirect', '3'), config=dict(safe_mode=True, max_redirects=2)) self.assertTrue(response.content is None) self.assertTrue(isinstance(response.error, requests.exceptions.TooManyRedirects)) + def test_connection_keepalive_and_close(self): + """Test that we send 'Connection: close' when keep_alive is disabled.""" + # keep-alive should be on by default + r1 = requests.get(httpbin('get')) + # XXX due to proxying issues, test the header sent back by httpbin, rather than + # the header reported in its message body. See kennethreitz/httpbin#46 + self.assertEqual(r1.headers['Connection'].lower(), 'keep-alive') + + # but when we disable it, we should send a 'Connection: close' + # and get the same back: + r2 = requests.get(httpbin('get'), config=dict(keep_alive=False)) + self.assertEqual(r2.headers['Connection'].lower(), 'close') + if __name__ == '__main__': unittest.main()