Bumped AIOAladdinConnect 0.1.46 (#78767)

This commit is contained in:
mkmer 2022-09-19 15:18:53 -04:00 committed by GitHub
parent d591787077
commit 08c8ab7302
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 11 deletions

View File

@ -4,6 +4,7 @@ import logging
from typing import Final from typing import Final
from AIOAladdinConnect import AladdinConnectClient from AIOAladdinConnect import AladdinConnectClient
from AIOAladdinConnect.session_manager import InvalidPasswordError
from aiohttp import ClientConnectionError from aiohttp import ClientConnectionError
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
@ -27,10 +28,11 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
username, password, async_get_clientsession(hass), CLIENT_ID username, password, async_get_clientsession(hass), CLIENT_ID
) )
try: try:
if not await acc.login(): await acc.login()
raise ConfigEntryAuthFailed("Incorrect Password")
except (ClientConnectionError, asyncio.TimeoutError) as ex: except (ClientConnectionError, asyncio.TimeoutError) as ex:
raise ConfigEntryNotReady("Can not connect to host") from ex raise ConfigEntryNotReady("Can not connect to host") from ex
except InvalidPasswordError as ex:
raise ConfigEntryAuthFailed("Incorrect Password") from ex
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = acc hass.data.setdefault(DOMAIN, {})[entry.entry_id] = acc
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

View File

@ -7,7 +7,7 @@ import logging
from typing import Any from typing import Any
from AIOAladdinConnect import AladdinConnectClient from AIOAladdinConnect import AladdinConnectClient
from aiohttp import ClientError from AIOAladdinConnect.session_manager import InvalidPasswordError
from aiohttp.client_exceptions import ClientConnectionError from aiohttp.client_exceptions import ClientConnectionError
import voluptuous as vol import voluptuous as vol
@ -43,9 +43,13 @@ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> None:
async_get_clientsession(hass), async_get_clientsession(hass),
CLIENT_ID, CLIENT_ID,
) )
login = await acc.login() try:
if not login: await acc.login()
raise InvalidAuth except (ClientConnectionError, asyncio.TimeoutError) as ex:
raise ex
except InvalidPasswordError as ex:
raise InvalidAuth from ex
class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
@ -80,7 +84,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
except InvalidAuth: except InvalidAuth:
errors["base"] = "invalid_auth" errors["base"] = "invalid_auth"
except (ClientConnectionError, asyncio.TimeoutError, ClientError): except (ClientConnectionError, asyncio.TimeoutError):
errors["base"] = "cannot_connect" errors["base"] = "cannot_connect"
else: else:
@ -117,7 +121,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
except InvalidAuth: except InvalidAuth:
errors["base"] = "invalid_auth" errors["base"] = "invalid_auth"
except (ClientConnectionError, asyncio.TimeoutError, ClientError): except (ClientConnectionError, asyncio.TimeoutError):
errors["base"] = "cannot_connect" errors["base"] = "cannot_connect"
else: else:

View File

@ -2,7 +2,7 @@
"domain": "aladdin_connect", "domain": "aladdin_connect",
"name": "Aladdin Connect", "name": "Aladdin Connect",
"documentation": "https://www.home-assistant.io/integrations/aladdin_connect", "documentation": "https://www.home-assistant.io/integrations/aladdin_connect",
"requirements": ["AIOAladdinConnect==0.1.44"], "requirements": ["AIOAladdinConnect==0.1.46"],
"codeowners": ["@mkmer"], "codeowners": ["@mkmer"],
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"loggers": ["aladdin_connect"], "loggers": ["aladdin_connect"],

View File

@ -5,7 +5,7 @@
AEMET-OpenData==0.2.1 AEMET-OpenData==0.2.1
# homeassistant.components.aladdin_connect # homeassistant.components.aladdin_connect
AIOAladdinConnect==0.1.44 AIOAladdinConnect==0.1.46
# homeassistant.components.adax # homeassistant.components.adax
Adax-local==0.1.4 Adax-local==0.1.4

View File

@ -7,7 +7,7 @@
AEMET-OpenData==0.2.1 AEMET-OpenData==0.2.1
# homeassistant.components.aladdin_connect # homeassistant.components.aladdin_connect
AIOAladdinConnect==0.1.44 AIOAladdinConnect==0.1.46
# homeassistant.components.adax # homeassistant.components.adax
Adax-local==0.1.4 Adax-local==0.1.4

View File

@ -1,6 +1,7 @@
"""Test the Aladdin Connect config flow.""" """Test the Aladdin Connect config flow."""
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
from AIOAladdinConnect.session_manager import InvalidPasswordError
from aiohttp.client_exceptions import ClientConnectionError from aiohttp.client_exceptions import ClientConnectionError
from homeassistant import config_entries from homeassistant import config_entries
@ -54,6 +55,7 @@ async def test_form_failed_auth(
DOMAIN, context={"source": config_entries.SOURCE_USER} DOMAIN, context={"source": config_entries.SOURCE_USER}
) )
mock_aladdinconnect_api.login.return_value = False mock_aladdinconnect_api.login.return_value = False
mock_aladdinconnect_api.login.side_effect = InvalidPasswordError
with patch( with patch(
"homeassistant.components.aladdin_connect.config_flow.AladdinConnectClient", "homeassistant.components.aladdin_connect.config_flow.AladdinConnectClient",
return_value=mock_aladdinconnect_api, return_value=mock_aladdinconnect_api,
@ -231,6 +233,7 @@ async def test_reauth_flow_auth_error(
assert result["type"] == FlowResultType.FORM assert result["type"] == FlowResultType.FORM
assert result["errors"] == {} assert result["errors"] == {}
mock_aladdinconnect_api.login.return_value = False mock_aladdinconnect_api.login.return_value = False
mock_aladdinconnect_api.login.side_effect = InvalidPasswordError
with patch( with patch(
"homeassistant.components.aladdin_connect.config_flow.AladdinConnectClient", "homeassistant.components.aladdin_connect.config_flow.AladdinConnectClient",
return_value=mock_aladdinconnect_api, return_value=mock_aladdinconnect_api,

View File

@ -1,6 +1,7 @@
"""Test for Aladdin Connect init logic.""" """Test for Aladdin Connect init logic."""
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
from AIOAladdinConnect.session_manager import InvalidPasswordError
from aiohttp import ClientConnectionError from aiohttp import ClientConnectionError
from homeassistant.components.aladdin_connect.const import DOMAIN from homeassistant.components.aladdin_connect.const import DOMAIN
@ -43,6 +44,7 @@ async def test_setup_login_error(
) )
config_entry.add_to_hass(hass) config_entry.add_to_hass(hass)
mock_aladdinconnect_api.login.return_value = False mock_aladdinconnect_api.login.return_value = False
mock_aladdinconnect_api.login.side_effect = InvalidPasswordError
with patch( with patch(
"homeassistant.components.aladdin_connect.cover.AladdinConnectClient", "homeassistant.components.aladdin_connect.cover.AladdinConnectClient",
return_value=mock_aladdinconnect_api, return_value=mock_aladdinconnect_api,
@ -100,6 +102,7 @@ async def test_entry_password_fail(
) )
entry.add_to_hass(hass) entry.add_to_hass(hass)
mock_aladdinconnect_api.login = AsyncMock(return_value=False) mock_aladdinconnect_api.login = AsyncMock(return_value=False)
mock_aladdinconnect_api.login.side_effect = InvalidPasswordError
with patch( with patch(
"homeassistant.components.aladdin_connect.AladdinConnectClient", "homeassistant.components.aladdin_connect.AladdinConnectClient",
return_value=mock_aladdinconnect_api, return_value=mock_aladdinconnect_api,