From: schlamar Date: Thu, 13 Mar 2014 17:27:12 +0000 (+0100) Subject: Added test case to handle response of streamed redirects. X-Git-Tag: v2.3.0~2^2~2^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5e860c08d8b3f14bcdf0382b0535da39a4d5a02e;p=services%2Fpython-requests.git Added test case to handle response of streamed redirects. Credits go to @zackw. --- diff --git a/test_requests.py b/test_requests.py index a1df1f1..e3eacd6 100755 --- a/test_requests.py +++ b/test_requests.py @@ -917,6 +917,25 @@ class RequestsTestCase(unittest.TestCase): assert h1 == h2 + def test_manual_redirect_with_partial_body_read(self): + s = requests.Session() + r1 = s.get(httpbin('redirect/2'), allow_redirects=False, stream=True) + assert r1.is_redirect + rg = s.resolve_redirects(r1, r1.request, stream=True) + + # read only the first eight bytes of the response body, + # then follow the redirect + r1.iter_content(8) + r2 = next(rg) + assert r2.is_redirect + + # read all of the response via iter_content, + # then follow the redirect + for _ in r2.iter_content(): + pass + r3 = next(rg) + assert not r3.is_redirect + class TestContentEncodingDetection(unittest.TestCase): @@ -1321,7 +1340,7 @@ def test_data_argument_accepts_tuples(list_of_tuples): hooks=default_hooks() ) assert p.body == urlencode(data) - + if __name__ == '__main__': unittest.main()