|
12 | 12 | import aiohttp
|
13 | 13 | from aiohttp.client import ClientRequest, ClientResponse, HttpClient
|
14 | 14 |
|
| 15 | +try: |
| 16 | + import chardet |
| 17 | +except ImportError: |
| 18 | + chardet = None |
| 19 | + |
15 | 20 |
|
16 | 21 | class RequestTests(unittest.TestCase):
|
17 | 22 |
|
@@ -186,9 +191,14 @@ def second_call(*args, **kwargs):
|
186 | 191 | content.read.side_effect = side_effect
|
187 | 192 | self.response.close = unittest.mock.Mock()
|
188 | 193 |
|
189 |
| - res = self.loop.run_until_complete(self.response.text()) |
190 |
| - self.assertEqual(res, '{"тест": "пройден"}') |
191 |
| - self.assertTrue(self.response.close.called) |
| 194 | + if chardet is None: |
| 195 | + self.assertRaises(UnicodeDecodeError, |
| 196 | + self.loop.run_until_complete, |
| 197 | + self.response.text()) |
| 198 | + else: |
| 199 | + res = self.loop.run_until_complete(self.response.text()) |
| 200 | + self.assertEqual(res, '{"тест": "пройден"}') |
| 201 | + self.assertTrue(self.response.close.called) |
192 | 202 |
|
193 | 203 | def test_json(self):
|
194 | 204 | def side_effect(*args, **kwargs):
|
@@ -260,9 +270,14 @@ def second_call(*args, **kwargs):
|
260 | 270 | content.read.side_effect = side_effect
|
261 | 271 | self.response.close = unittest.mock.Mock()
|
262 | 272 |
|
263 |
| - res = self.loop.run_until_complete(self.response.json()) |
264 |
| - self.assertEqual(res, {'тест': 'пройден'}) |
265 |
| - self.assertTrue(self.response.close.called) |
| 273 | + if chardet is None: |
| 274 | + self.assertRaises(UnicodeDecodeError, |
| 275 | + self.loop.run_until_complete, |
| 276 | + self.response.json()) |
| 277 | + else: |
| 278 | + res = self.loop.run_until_complete(self.response.json()) |
| 279 | + self.assertEqual(res, {'тест': 'пройден'}) |
| 280 | + self.assertTrue(self.response.close.called) |
266 | 281 |
|
267 | 282 | def test_override_flow_control(self):
|
268 | 283 | class MyResponse(ClientResponse):
|
|
0 commit comments