diff options
author | Andrey Petrov <andrey.petrov@shazow.net> | 2014-07-01 14:16:04 -0700 |
---|---|---|
committer | Andrey Petrov <andrey.petrov@shazow.net> | 2014-07-01 14:16:04 -0700 |
commit | 5a3de803aa96cc491939cd4c8e48e9764e0580fd (patch) | |
tree | d318c9244a5e1f787aaad6555e0accd886914122 | |
parent | 656b87cc518c8e8d304c2f19b45f8a67c0391a70 (diff) | |
download | urllib3-5a3de803aa96cc491939cd4c8e48e9764e0580fd.tar.gz |
Removed count, fixed py3 tests.
-rw-r--r-- | test/test_retry.py | 16 | ||||
-rw-r--r-- | test/with_dummyserver/test_socketlevel.py | 21 | ||||
-rw-r--r-- | urllib3/connectionpool.py | 4 | ||||
-rw-r--r-- | urllib3/util/retry.py | 11 |
4 files changed, 16 insertions, 36 deletions
diff --git a/test/test_retry.py b/test/test_retry.py index d6b3e285..7a3aa400 100644 --- a/test/test_retry.py +++ b/test/test_retry.py @@ -14,10 +14,10 @@ class RetryTest(unittest.TestCase): def test_string(self): """ Retry string representation looks the way we expect """ retry = Retry() - self.assertEqual(str(retry), 'Retry(count=0)') + self.assertEqual(str(retry), 'Retry(total=10, connect=None, read=None, redirect=None)') for _ in range(3): retry = retry.increment() - self.assertEqual(str(retry), 'Retry(count=3)') + self.assertEqual(str(retry), 'Retry(total=7, connect=None, read=None, redirect=None)') def test_retry_both_specified(self): """Total can win if it's lower than the connect value""" @@ -96,19 +96,11 @@ class RetryTest(unittest.TestCase): except MaxRetryError as e: self.assertEqual(e.reason, error) - def test_count(self): - retry = Retry() - self.assertEqual(retry.count, 0) - retry = retry.increment() - self.assertEqual(retry.count, 1) - retry = retry.increment() - self.assertEqual(retry.count, 2) - def test_backoff(self): """ Backoff is computed correctly """ max_backoff = Retry.BACKOFF_MAX - retry = Retry(total=None, backoff_factor=0.2) + retry = Retry(total=100, backoff_factor=0.2) self.assertEqual(retry.get_backoff_time(), 0) # First request retry = retry.increment() @@ -116,7 +108,7 @@ class RetryTest(unittest.TestCase): retry = retry.increment() self.assertEqual(retry.backoff_factor, 0.2) - self.assertEqual(retry.count, 2) + self.assertEqual(retry.total, 98) self.assertEqual(retry.get_backoff_time(), 0.4) # Start backoff retry = retry.increment() diff --git a/test/with_dummyserver/test_socketlevel.py b/test/with_dummyserver/test_socketlevel.py index 98f8d0cf..e1ac1c6e 100644 --- a/test/with_dummyserver/test_socketlevel.py +++ b/test/with_dummyserver/test_socketlevel.py @@ -504,11 +504,16 @@ class TestSSL(SocketDummyServerTestCase): timed_out.set() +def consume_socket(sock, chunks=65536): + while not sock.recv(chunks).endswith(b'\r\n\r\n'): + pass + + def create_response_handler(response, num=1): def socket_handler(listener): - for _ in xrange(num): + for _ in range(num): sock = listener.accept()[0] - all(buf for buf in sock.recv(65536) if not buf.endswith(b'\r\n\r\n')) + consume_socket(sock) sock.send(response) sock.close() @@ -526,11 +531,7 @@ class TestErrorWrapping(SocketDummyServerTestCase): ) self._start_server(handler) pool = HTTPConnectionPool(self.host, self.port, retries=False) - try: - r = pool.request('GET', '/') - self.fail("Failed to raise exception: %r" % r) - except ProtocolError as e: - self.assertEqual(type(e.args[1]).__name__, 'BadStatusLine') + self.assertRaises(ProtocolError, pool.request, 'GET', '/') def test_unknown_protocol(self): handler = create_response_handler( @@ -540,8 +541,4 @@ class TestErrorWrapping(SocketDummyServerTestCase): ) self._start_server(handler) pool = HTTPConnectionPool(self.host, self.port, retries=False) - try: - r = pool.request('GET', '/') - self.fail("Failed to raise exception: %r" % r) - except ProtocolError as e: - self.assertEqual(type(e.args[1]).__name__, 'UnknownProtocol') + self.assertRaises(ProtocolError, pool.request, 'GET', '/') diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py index 5425be53..9d046ffb 100644 --- a/urllib3/connectionpool.py +++ b/urllib3/connectionpool.py @@ -566,8 +566,8 @@ class HTTPConnectionPool(ConnectionPool, RequestMethods): if not conn: # Try again - log.warning("Retrying (%s retries) after connection " - "broken by '%r': %s" % (retries.count, err, url)) + log.warning("Retrying (%r) after connection " + "broken by '%r': %s" % (retries, err, url)) return self.urlopen(method, url, body, headers, retries, redirect, assert_same_host, timeout=timeout, pool_timeout=pool_timeout, diff --git a/urllib3/util/retry.py b/urllib3/util/retry.py index 1168d395..0c532dfe 100644 --- a/urllib3/util/retry.py +++ b/urllib3/util/retry.py @@ -115,12 +115,7 @@ class Retry(object): self.method_whitelist = method_whitelist self.backoff_factor = backoff_factor self.raise_on_redirect = raise_on_redirect - self._observed_errors = _observed_errors # XXX: use .history instead? - - @property - def count(self): - # XXX: This is wrong right now. - return self._observed_errors + self._observed_errors = _observed_errors # TODO: use .history instead? def new(self, **kw): params = dict( @@ -268,10 +263,6 @@ class Retry(object): 'read={self.read}, redirect={self.redirect})').format( cls=type(self), self=self) - def __str__(self): - return '{cls.__name__}(count={count})'.format( - cls=type(self), count=self.count) - # For backwards compatibility (equivalent to pre-v1.9): Retry.DEFAULT = Retry(3) |