Fix import for new AWS aiobotocore lib (#64769)

* Fix import for new AWS aiobotocore lib

* Fix patch for tests
This commit is contained in:
Simone Chemelli 2022-01-24 13:02:51 +01:00 committed by GitHub
parent 27cb41a62c
commit 7884de3a31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 14 deletions

View file

@ -3,7 +3,7 @@ import asyncio
from collections import OrderedDict
import logging
import aiobotocore
from aiobotocore.session import AioSession
import voluptuous as vol
from homeassistant import config_entries
@ -165,14 +165,14 @@ async def _validate_aws_credentials(hass, credential):
del aws_config[CONF_VALIDATE]
if (profile := aws_config.get(CONF_PROFILE_NAME)) is not None:
session = aiobotocore.session.AioSession(profile=profile)
session = AioSession(profile=profile)
del aws_config[CONF_PROFILE_NAME]
if CONF_ACCESS_KEY_ID in aws_config:
del aws_config[CONF_ACCESS_KEY_ID]
if CONF_SECRET_ACCESS_KEY in aws_config:
del aws_config[CONF_SECRET_ACCESS_KEY]
else:
session = aiobotocore.session.AioSession()
session = AioSession()
if credential[CONF_VALIDATE]:
async with session.create_client("iam", **aws_config) as client:

View file

@ -4,7 +4,7 @@ import base64
import json
import logging
import aiobotocore
from aiobotocore.session import AioSession
from homeassistant.components.notify import (
ATTR_TARGET,
@ -27,7 +27,7 @@ _LOGGER = logging.getLogger(__name__)
async def get_available_regions(hass, service):
"""Get available regions for a service."""
session = aiobotocore.session.get_session()
session = AioSession()
return await session.get_available_regions(service)
@ -83,10 +83,10 @@ async def async_get_service(hass, config, discovery_info=None):
if session is None:
if (profile := aws_config.get(CONF_PROFILE_NAME)) is not None:
session = aiobotocore.session.AioSession(profile=profile)
session = AioSession(profile=profile)
del aws_config[CONF_PROFILE_NAME]
else:
session = aiobotocore.session.AioSession()
session = AioSession()
aws_config[CONF_REGION] = region_name

View file

@ -36,7 +36,7 @@ class MockAioSession:
async def test_empty_config(hass):
"""Test a default config will be create for empty config."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch("homeassistant.components.aws.AioSession", new=MockAioSession):
await async_setup_component(hass, "aws", {"aws": {}})
await hass.async_block_till_done()
@ -51,7 +51,7 @@ async def test_empty_config(hass):
async def test_empty_credential(hass):
"""Test a default config will be create for empty credential section."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch("homeassistant.components.aws.AioSession", new=MockAioSession):
await async_setup_component(
hass,
"aws",
@ -84,7 +84,7 @@ async def test_empty_credential(hass):
async def test_profile_credential(hass):
"""Test credentials with profile name."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch("homeassistant.components.aws.AioSession", new=MockAioSession):
await async_setup_component(
hass,
"aws",
@ -122,7 +122,7 @@ async def test_profile_credential(hass):
async def test_access_key_credential(hass):
"""Test credentials with access key."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch("homeassistant.components.aws.AioSession", new=MockAioSession):
await async_setup_component(
hass,
"aws",
@ -167,7 +167,11 @@ async def test_access_key_credential(hass):
async def test_notify_credential(hass):
"""Test notify service can use access key directly."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch(
"homeassistant.components.aws.AioSession", new=MockAioSession
), async_patch(
"homeassistant.components.aws.notify.AioSession", new=MockAioSession
):
await async_setup_component(
hass,
"aws",
@ -201,7 +205,11 @@ async def test_notify_credential(hass):
async def test_notify_credential_profile(hass):
"""Test notify service can use profile directly."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch(
"homeassistant.components.aws.AioSession", new=MockAioSession
), async_patch(
"homeassistant.components.aws.notify.AioSession", new=MockAioSession
):
await async_setup_component(
hass,
"aws",
@ -233,7 +241,7 @@ async def test_notify_credential_profile(hass):
async def test_credential_skip_validate(hass):
"""Test credential can skip validate."""
with async_patch("aiobotocore.session.AioSession", new=MockAioSession):
with async_patch("homeassistant.components.aws.AioSession", new=MockAioSession):
await async_setup_component(
hass,
"aws",