From a7f4c490daf5ff1f8772ee60a6f0391ae557a921 Mon Sep 17 00:00:00 2001 From: acesyde Date: Sun, 3 Dec 2023 09:30:05 +0100 Subject: [PATCH] fix: client --- custom_components/eau_agur/__init__.py | 17 +++++++++++++---- tests/api/test_agur_api_client.py | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/custom_components/eau_agur/__init__.py b/custom_components/eau_agur/__init__.py index ba789d5..7106c11 100644 --- a/custom_components/eau_agur/__init__.py +++ b/custom_components/eau_agur/__init__.py @@ -3,14 +3,25 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession from .api import AgurApiClient -from .const import DOMAIN, PLATFORMS, COORDINATOR +from .const import CONF_PROVIDER, DOMAIN, PLATFORMS, COORDINATOR, PROVIDERS from .coordinator import EauAgurDataUpdateCoordinator async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up EAU par Agur from a config entry.""" session = async_get_clientsession(hass) + + config_provider = PROVIDERS.get(entry.data[CONF_PROVIDER], None) + if config_provider is None: + raise Exception("Provider not found") + client = AgurApiClient( + host=config_provider["base_url"], + base_path=config_provider.get("base_path", None), + timeout=config_provider.get("default_timeout", None), + conversation_id=config_provider["conversation_id"], + client_id=config_provider["client_id"], + access_key=config_provider["access_key"], session=session, ) @@ -29,9 +40,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Handle removal of an entry.""" - if unloaded := await hass.config_entries.async_unload_platforms( - entry, PLATFORMS - ): + if unloaded := await hass.config_entries.async_unload_platforms(entry, PLATFORMS): hass.data[DOMAIN].pop(entry.entry_id) return unloaded diff --git a/tests/api/test_agur_api_client.py b/tests/api/test_agur_api_client.py index e83c4cb..2665549 100644 --- a/tests/api/test_agur_api_client.py +++ b/tests/api/test_agur_api_client.py @@ -114,7 +114,7 @@ async def test_post_login(aresponses: ResponsesMockServer): }, ) async with aiohttp.ClientSession() as session: - client = AgurApiClient(host=HOST_PATTERN, session=session) + client = AgurApiClient(HOST_PATTERN, session=session) await client.login("dupond.toto@mycompany.com", "myP@ssw0rd!")