From 52cd5c8f50cd68d46490d59e144b4b1352a82d26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Apr 2021 16:02:40 -0700 Subject: [PATCH] Bump aiohttp from 3.3.2 to 3.7.4 and botocore to 1.20.49 (#856) * Bump aiohttp from 3.3.2 to 3.7.4 and botocore to 1.20.49 Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.3.2 to 3.7.4. - [Release notes](https://github.com/aio-libs/aiohttp/releases) - [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst) - [Commits](https://github.com/aio-libs/aiohttp/compare/v3.3.2...v3.7.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alexander Mohr --- CHANGES.rst | 4 ++++ Pipfile | 27 ++++++++++++++------------- aiobotocore/__init__.py | 2 +- aiobotocore/args.py | 1 + aiobotocore/endpoint.py | 3 +++ aiobotocore/waiter.py | 4 ++-- setup.py | 6 +++--- tests/test_patches.py | 11 ++++++----- tests/test_sqs.py | 1 + 9 files changed, 35 insertions(+), 24 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 639ea625..5e0c0295 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,5 +1,9 @@ Changes ------- +1.3.0 (2021-04-09) +^^^^^^^^^^^^^^^^^^ +* Bump to botocore 1.20.49 #856 + 1.2.2 (2021-03-11) ^^^^^^^^^^^^^^^^^^ * Await call to async method _load_creds_via_assume_role #851 (thanks @puzza007) diff --git a/Pipfile b/Pipfile index c3ed0fb4..39627a1d 100644 --- a/Pipfile +++ b/Pipfile @@ -4,22 +4,23 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] -codecov = "*" -coverage = "==5.0.3" -flake8 = "==3.7.9" +codecov = "2.1.11" +coverage = "==5.5" +flake8 = "==3.9.0" flake8-formatter-abspath = "==1.0.1" -docker = '<4' # fix: client version 1.39 is too new. Maximum supported API version is 1.38 -moto = {extras = ["server"],version = "==1.3.16"} -idna = "==2.8" # broken pipenv resolver -pytest = "==5.3.5" -pytest-cov = "==2.8.1" -pytest-asyncio = "==0.10.0" -pytest-xdist = "==1.31.0" -dill = "==0.3.1.1" +docker = '5.0.0' +moto = {extras = ["server","s3","sqs","lambda","dynamodb","cloudformation", "sns", "batch"],version = "==2.0.4"} +pytest = "==6.2.3" +pytest-cov = "==2.11.1" +pytest-asyncio = "==0.14.0" +pytest-xdist = "==2.2.1" -# for some reason this is needed when running setup.py check -rms on travis on 3.6.10 +# this is needed for test_patches +dill = "==0.3.3" + +# this is needed when running setup.py check -rms Pygments = "*" [packages] -aiohttp = "==3.3.2" +aiohttp = "==3.7.4.post0" aiobotocore = {editable = true,extras = ["awscli", "boto3"],path = "."} diff --git a/aiobotocore/__init__.py b/aiobotocore/__init__.py index 5986057c..5e7dbb1f 100644 --- a/aiobotocore/__init__.py +++ b/aiobotocore/__init__.py @@ -1,4 +1,4 @@ from .session import get_session, AioSession __all__ = ['get_session', 'AioSession'] -__version__ = '1.2.2' +__version__ = '1.3.0' diff --git a/aiobotocore/args.py b/aiobotocore/args.py index 3f04f8f7..5c96b2af 100644 --- a/aiobotocore/args.py +++ b/aiobotocore/args.py @@ -59,6 +59,7 @@ def get_client_args(self, service_model, region_name, is_secure, timeout=(new_config.connect_timeout, new_config.read_timeout), socket_options=socket_options, client_cert=new_config.client_cert, + proxies_config=new_config.proxies_config, connector_args=new_config.connector_args) serializer = botocore.serialize.create_serializer( diff --git a/aiobotocore/endpoint.py b/aiobotocore/endpoint.py index 6d22ff38..bf89ba0c 100644 --- a/aiobotocore/endpoint.py +++ b/aiobotocore/endpoint.py @@ -260,6 +260,7 @@ def create_endpoint(self, service_model, region_name, endpoint_url, proxies=None, socket_options=None, client_cert=None, + proxies_config=None, connector_args=None): if not is_valid_endpoint_url(endpoint_url): @@ -304,6 +305,8 @@ def create_endpoint(self, service_model, region_name, endpoint_url, ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH, cafile=str(verify)) + # TODO: add support for proxies_config + connector = aiohttp.TCPConnector( limit=max_pool_connections, verify_ssl=bool(verify), diff --git a/aiobotocore/waiter.py b/aiobotocore/waiter.py index fa0d0cee..4e4d602c 100644 --- a/aiobotocore/waiter.py +++ b/aiobotocore/waiter.py @@ -4,7 +4,7 @@ from botocore.exceptions import ClientError from botocore.waiter import WaiterModel # noqa: F401, lgtm[py/unused-import] from botocore.waiter import Waiter, xform_name, logger, WaiterError, \ - NormalizedOperationMethod as _NormalizedOperationMethod + NormalizedOperationMethod as _NormalizedOperationMethod, is_valid_waiter_error from botocore.docs.docstring import WaiterDocstring from botocore.utils import get_service_module_name @@ -40,7 +40,7 @@ async def wait(self, **kwargs): # If none of the acceptors matched, we should # transition to the failure state if an error # response was received. - if 'Error' in response: + if is_valid_waiter_error(response): # Transition to a failure state, which we # can just handle here by raising an exception. raise WaiterError( diff --git a/setup.py b/setup.py index 823b6290..ae3e72b0 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ # NOTE: When updating botocore make sure to update awscli/boto3 versions below install_requires = [ # pegged to also match items in `extras_require` - 'botocore>=1.19.52,<1.19.53', + 'botocore>=1.20.49,<1.20.50', 'aiohttp>=3.3.1', 'wrapt>=1.10.10', 'aioitertools>=0.5.1', @@ -19,8 +19,8 @@ def read(f): extras_require = { - 'awscli': ['awscli==1.18.212'], - 'boto3': ['boto3==1.16.52'], + 'awscli': ['awscli==1.19.49'], + 'boto3': ['boto3==1.17.49'], } diff --git a/tests/test_patches.py b/tests/test_patches.py index 7f16413d..0a3f1066 100644 --- a/tests/test_patches.py +++ b/tests/test_patches.py @@ -49,7 +49,8 @@ # github.com/aio-libs/aiobotocore/pull/248 _AIOHTTP_DIGESTS = { # for using _body - ClientResponse: {'e178726065b609c69a1c02e8bb78f22efce90792'}, + ClientResponse: {'e178726065b609c69a1c02e8bb78f22efce90792', + '225e8033bfcff8cccbc2e975d7bd0c7993f14366'}, } # These are guards to our main patches @@ -73,7 +74,7 @@ # If you're changing these, most likely need to update setup.py as well. _API_DIGESTS = { # args.py - ClientArgsCreator.get_client_args: {'e3a44e6f50159e8e31c3d76f5e8a1110dda495fa'}, + ClientArgsCreator.get_client_args: {'96d97f97fce6d883281dc4ffe0fa0743e190f7bd'}, # client.py ClientCreator.create_client: {'281fbf7afc4e6282e5c881c7a03717c9e5e4e176'}, @@ -91,7 +92,7 @@ # config.py Config.merge: {'c3dd8c3ffe0da86953ceba4a35267dfb79c6a2c8'}, - Config: {'2dcc44190a3dc2a4b26ab0ed9410daefcd7c93c1'}, + Config: {'e63975f828f8d20e4d739dbdb4d496ec3a3e3dc9'}, # credentials.py create_mfa_serial_refresher: {'180b81fc40c91d1cf40de1a28e32ae7d601e1d50'}, @@ -198,7 +199,7 @@ Endpoint._needs_retry: {'0f40f52d8c90c6e10b4c9e1c4a5ca00ef2c72850'}, Endpoint._send: {'644c7e5bb88fecaa0b2a204411f8c7e69cc90bf1'}, - EndpointCreator.create_endpoint: {'36065caa2398573be229bee500e27303bc362348'}, + EndpointCreator.create_endpoint: {'502315533a86991ea5f57c04973ea5c837bf6197'}, # eventstream.py EventStream._create_raw_event_generator: { @@ -285,7 +286,7 @@ # waiter.py NormalizedOperationMethod.__call__: {'79723632d023739aa19c8a899bc2b814b8ab12ff'}, - Waiter.wait: {'3a4ff0fdfc78b7ec42bfd41f3e1ba3b741f2d2b9'}, + Waiter.wait: {'e9c7f98b12ac8d9ba44637e89499617590bc4f6f'}, create_waiter_with_client: {'c3d12c9a4293105cc8c2ecfc7e69a2152ad564de'}, } diff --git a/tests/test_sqs.py b/tests/test_sqs.py index f41e3aed..17926066 100644 --- a/tests/test_sqs.py +++ b/tests/test_sqs.py @@ -36,6 +36,7 @@ async def test_put_pull_delete_test(sqs_client, sqs_queue_url): response = await sqs_client.receive_message( QueueUrl=sqs_queue_url, + MessageAttributeNames=['attr1'] ) pytest.aio.assert_status_code(response, 200)