summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Petrov <andrey.petrov@shazow.net>2014-07-01 14:16:04 -0700
committerAndrey Petrov <andrey.petrov@shazow.net>2014-07-01 14:16:04 -0700
commit5a3de803aa96cc491939cd4c8e48e9764e0580fd (patch)
treed318c9244a5e1f787aaad6555e0accd886914122
parent656b87cc518c8e8d304c2f19b45f8a67c0391a70 (diff)
downloadurllib3-5a3de803aa96cc491939cd4c8e48e9764e0580fd.tar.gz
Removed count, fixed py3 tests.
-rw-r--r--test/test_retry.py16
-rw-r--r--test/with_dummyserver/test_socketlevel.py21
-rw-r--r--urllib3/connectionpool.py4
-rw-r--r--urllib3/util/retry.py11
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)