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