Added test case to handle response of streamed redirects.

Credits go to @zackw.
This commit is contained in:
schlamar
2014-03-13 18:27:12 +01:00
parent 59c8d81381
commit 5e860c08d8
+20 -1
View File
@@ -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()