python-botocore/tests/unit/test_http_client_exception_mapping.py
2018-10-04 15:50:52 +09:00

28 lines
1.1 KiB
Python

from nose.tools import assert_raises
from botocore import exceptions as botocore_exceptions
from botocore.vendored.requests import exceptions as requests_exceptions
from botocore.vendored.requests.packages.urllib3 import exceptions as urllib3_exceptions
EXCEPTION_MAPPING = [
(botocore_exceptions.ReadTimeoutError, requests_exceptions.ReadTimeout),
(botocore_exceptions.ReadTimeoutError, urllib3_exceptions.ReadTimeoutError),
(botocore_exceptions.ConnectTimeoutError, requests_exceptions.ConnectTimeout),
(botocore_exceptions.ProxyConnectionError, requests_exceptions.ProxyError),
(botocore_exceptions.SSLError, requests_exceptions.SSLError),
]
def _raise_exception(exception):
raise exception(endpoint_url=None, proxy_url=None, error=None)
def _test_exception_mapping(new_exception, old_exception):
# assert that the new exception can still be caught by the old vendored one
assert_raises(old_exception, _raise_exception, new_exception)
def test_http_client_exception_mapping():
for new_exception, old_exception in EXCEPTION_MAPPING:
yield _test_exception_mapping, new_exception, old_exception