Revision 20c94832 kamaki/clients/connection/test.py
b/kamaki/clients/connection/test.py | ||
---|---|---|
33 | 33 |
|
34 | 34 |
from unittest import TestCase, TestSuite, makeSuite, TextTestRunner |
35 | 35 |
from mock import Mock, patch |
36 |
from random import randrange |
|
36 | 37 |
|
37 | 38 |
from kamaki.clients import connection |
38 | 39 |
from kamaki.clients.connection import errors, kamakicon |
... | ... | |
203 | 204 |
from json import loads |
204 | 205 |
self.assertEquals(loads(sample2), self.resp.json) |
205 | 206 |
|
207 |
def test_pool_lock(self): |
|
208 |
conn_num = 2000 |
|
209 |
for i in range(conn_num): |
|
210 |
kre = errors.KamakiResponseError |
|
211 |
with patch.object(self.HTC, 'close', return_value=True): |
|
212 |
self.resp = kamakicon.KamakiHTTPResponse(self.HTC('X', 'Y')) |
|
213 |
if randrange(10): |
|
214 |
with patch.object( |
|
215 |
self.HTC, |
|
216 |
'getresponse', |
|
217 |
return_value=self.FR()): |
|
218 |
self.assertEquals(self.resp.text, self.FR.sample) |
|
219 |
else: |
|
220 |
with patch.object( |
|
221 |
self.HTC, |
|
222 |
'getresponse', |
|
223 |
side_effect=kre('A random error')): |
|
224 |
try: |
|
225 |
self.resp.text |
|
226 |
except kre: |
|
227 |
pass |
|
228 |
self.HTC.close.assert_called_with() |
|
229 |
|
|
206 | 230 |
|
207 | 231 |
class KamakiResponse(TestCase): |
208 | 232 |
|
Also available in: Unified diff