Parametrized decode response tests

This commit is contained in:
Michael Hunsinger
2016-09-15 21:25:23 -06:00
parent 713f56ea53
commit 55e511dd10
+9 -10
View File
@@ -1039,23 +1039,22 @@ class TestRequests:
r = requests.Response()
r.raw = io.BytesIO(b'the content')
r.encoding = 'ascii'
chunks = r.iter_content(decode_unicode=True)
assert all(isinstance(chunk, str) for chunk in chunks)
@pytest.mark.parametrize(
'encoding, exception', (
(None, TypeError),
('invalid encoding', LookupError),
))
def test_decode_unicode_encoding(self, encoding, exception):
# raise an exception if encoding isn't set
r = requests.Response()
r.raw = io.BytesIO(b'the content')
r.encoding = None
r.encoding = encoding
with pytest.raises(TypeError):
chunks = r.iter_content(decode_unicode=True)
# raises an exception if the encoding is garbage
r = requests.Response()
r.raw = io.BytesIO(b'the content')
r.encoding = 'invalid encoding'
with pytest.raises(LookupError):
with pytest.raises(exception):
chunks = r.iter_content(decode_unicode=True)
def test_response_reason_unicode(self):