diff --git a/acme/acme/client.py b/acme/acme/client.py index eaca6dc7d..79d7c5df4 100644 --- a/acme/acme/client.py +++ b/acme/acme/client.py @@ -4,6 +4,7 @@ import datetime import heapq import logging import time +from email.utils import parsedate_tz import six from six.moves import http_client # pylint: disable=import-error @@ -17,7 +18,6 @@ from acme import jose from acme import jws from acme import messages -from email.utils import parsedate_tz logger = logging.getLogger(__name__) diff --git a/acme/acme/client_test.py b/acme/acme/client_test.py index 29f60c25d..93c86862d 100644 --- a/acme/acme/client_test.py +++ b/acme/acme/client_test.py @@ -205,8 +205,12 @@ class ClientTest(unittest.TestCase): datetime.datetime(2015, 3, 27, 0, 0, 10), self.client.retry_after(response=self.response, default=10)) - # wrong date -> ValueError + @mock.patch('acme.client.datetime') + def test_retry_after_overflow(self, dt_mock): + dt_mock.datetime.now.return_value = datetime.datetime(2015, 3, 27) + dt_mock.timedelta = datetime.timedelta dt_mock.datetime.side_effect = datetime.datetime + self.response.headers['Retry-After'] = "Tue, 116 Feb 2016 11:50:00 MST" self.assertEqual( datetime.datetime(2015, 3, 27, 0, 0, 10),