From 35149a46fc9a1c39d729afa2649dd64b8a95b40f Mon Sep 17 00:00:00 2001 From: IceBotYT <34712694+IceBotYT@users.noreply.github.com> Date: Fri, 16 Feb 2024 07:56:25 -0500 Subject: [PATCH] Bump linear-garage-door to 0.2.9 (#110298) --- .../linear_garage_door/coordinator.py | 6 +- .../linear_garage_door/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- .../linear_garage_door/test_config_flow.py | 86 ++++++++++--------- .../linear_garage_door/test_coordinator.py | 28 +----- 6 files changed, 52 insertions(+), 74 deletions(-) diff --git a/homeassistant/components/linear_garage_door/coordinator.py b/homeassistant/components/linear_garage_door/coordinator.py index 5a17d5a39e4..e9234327429 100644 --- a/homeassistant/components/linear_garage_door/coordinator.py +++ b/homeassistant/components/linear_garage_door/coordinator.py @@ -6,11 +6,12 @@ import logging from typing import Any from linear_garage_door import Linear -from linear_garage_door.errors import InvalidLoginError, ResponseError +from linear_garage_door.errors import InvalidLoginError from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady +from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.update_coordinator import DataUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -55,6 +56,7 @@ class LinearUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): email=self._email, password=self._password, device_id=self._device_id, + client_session=async_get_clientsession(self.hass), ) except InvalidLoginError as err: if ( @@ -63,8 +65,6 @@ class LinearUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): ): raise ConfigEntryAuthFailed from err raise ConfigEntryNotReady from err - except ResponseError as err: - raise ConfigEntryNotReady from err if not self._devices: self._devices = await linear.get_devices(self._site_id) diff --git a/homeassistant/components/linear_garage_door/manifest.json b/homeassistant/components/linear_garage_door/manifest.json index c7918e21e20..f1eb4302cf0 100644 --- a/homeassistant/components/linear_garage_door/manifest.json +++ b/homeassistant/components/linear_garage_door/manifest.json @@ -5,5 +5,5 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/linear_garage_door", "iot_class": "cloud_polling", - "requirements": ["linear-garage-door==0.2.7"] + "requirements": ["linear-garage-door==0.2.9"] } diff --git a/requirements_all.txt b/requirements_all.txt index 345ad934475..0a6d3507767 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1232,7 +1232,7 @@ lightwave==0.24 limitlessled==1.1.3 # homeassistant.components.linear_garage_door -linear-garage-door==0.2.7 +linear-garage-door==0.2.9 # homeassistant.components.linode linode-api==4.1.9b1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 45164010ac0..2c1edf54c53 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -983,7 +983,7 @@ librouteros==3.2.0 libsoundtouch==0.8 # homeassistant.components.linear_garage_door -linear-garage-door==0.2.7 +linear-garage-door==0.2.9 # homeassistant.components.lamarzocco lmcloud==0.4.35 diff --git a/tests/components/linear_garage_door/test_config_flow.py b/tests/components/linear_garage_door/test_config_flow.py index 64664745c54..5d1ed36ecb7 100644 --- a/tests/components/linear_garage_door/test_config_flow.py +++ b/tests/components/linear_garage_door/test_config_flow.py @@ -65,54 +65,58 @@ async def test_form(hass: HomeAssistant) -> None: async def test_reauth(hass: HomeAssistant) -> None: """Test reauthentication.""" - entry = await async_init_integration(hass) - - result = await hass.config_entries.flow.async_init( - DOMAIN, - context={ - "source": config_entries.SOURCE_REAUTH, - "entry_id": entry.entry_id, - "title_placeholders": {"name": entry.title}, - "unique_id": entry.unique_id, - }, - data=entry.data, - ) - assert result["type"] == FlowResultType.FORM - assert result["step_id"] == "user" - with patch( - "homeassistant.components.linear_garage_door.config_flow.Linear.login", + "homeassistant.components.linear_garage_door.async_setup_entry", return_value=True, - ), patch( - "homeassistant.components.linear_garage_door.config_flow.Linear.get_sites", - return_value=[{"id": "test-site-id", "name": "test-site-name"}], - ), patch( - "homeassistant.components.linear_garage_door.config_flow.Linear.close", - return_value=None, - ), patch( - "uuid.uuid4", - return_value="test-uuid", ): - result2 = await hass.config_entries.flow.async_configure( - result["flow_id"], - { - "email": "new-email", - "password": "new-password", + entry = await async_init_integration(hass) + + result1 = await hass.config_entries.flow.async_init( + DOMAIN, + context={ + "source": config_entries.SOURCE_REAUTH, + "entry_id": entry.entry_id, + "title_placeholders": {"name": entry.title}, + "unique_id": entry.unique_id, }, + data=entry.data, ) - await hass.async_block_till_done() + assert result1["type"] == FlowResultType.FORM + assert result1["step_id"] == "user" - assert result2["type"] == FlowResultType.ABORT - assert result2["reason"] == "reauth_successful" + with patch( + "homeassistant.components.linear_garage_door.config_flow.Linear.login", + return_value=True, + ), patch( + "homeassistant.components.linear_garage_door.config_flow.Linear.get_sites", + return_value=[{"id": "test-site-id", "name": "test-site-name"}], + ), patch( + "homeassistant.components.linear_garage_door.config_flow.Linear.close", + return_value=None, + ), patch( + "uuid.uuid4", + return_value="test-uuid", + ): + result2 = await hass.config_entries.flow.async_configure( + result1["flow_id"], + { + "email": "new-email", + "password": "new-password", + }, + ) + await hass.async_block_till_done() - entries = hass.config_entries.async_entries() - assert len(entries) == 1 - assert entries[0].data == { - "email": "new-email", - "password": "new-password", - "site_id": "test-site-id", - "device_id": "test-uuid", - } + assert result2["type"] == FlowResultType.ABORT + assert result2["reason"] == "reauth_successful" + + entries = hass.config_entries.async_entries() + assert len(entries) == 1 + assert entries[0].data == { + "email": "new-email", + "password": "new-password", + "site_id": "test-site-id", + "device_id": "test-uuid", + } async def test_form_invalid_login(hass: HomeAssistant) -> None: diff --git a/tests/components/linear_garage_door/test_coordinator.py b/tests/components/linear_garage_door/test_coordinator.py index fc3087db354..1e46d294f3f 100644 --- a/tests/components/linear_garage_door/test_coordinator.py +++ b/tests/components/linear_garage_door/test_coordinator.py @@ -2,7 +2,7 @@ from unittest.mock import patch -from linear_garage_door.errors import InvalidLoginError, ResponseError +from linear_garage_door.errors import InvalidLoginError from homeassistant.components.linear_garage_door.const import DOMAIN from homeassistant.config_entries import ConfigEntryState @@ -45,32 +45,6 @@ async def test_invalid_password( assert flows[0]["context"]["source"] == "reauth" -async def test_response_error(hass: HomeAssistant) -> None: - """Test response error.""" - config_entry = MockConfigEntry( - domain=DOMAIN, - data={ - "email": "test-email", - "password": "test-password", - "site_id": "test-site-id", - "device_id": "test-uuid", - }, - ) - config_entry.add_to_hass(hass) - - with patch( - "homeassistant.components.linear_garage_door.coordinator.Linear.login", - side_effect=ResponseError, - ): - assert not await hass.config_entries.async_setup(config_entry.entry_id) - await hass.async_block_till_done() - - entries = hass.config_entries.async_entries(DOMAIN) - assert entries - assert len(entries) == 1 - assert entries[0].state == ConfigEntryState.SETUP_RETRY - - async def test_invalid_login( hass: HomeAssistant, ) -> None: