From f801ec45ce4041c568b84696acbb087b1fc86a53 Mon Sep 17 00:00:00 2001 From: Brett Adams <Bre77@users.noreply.github.com> Date: Wed, 6 Mar 2024 18:09:15 +1000 Subject: [PATCH] Bump tesla-fleet-api to 0.4.9 (#112288) * Bump to 0.4.9 * Use SubscriptionRequired instead of PaymentRequired --- homeassistant/components/teslemetry/__init__.py | 8 ++++++-- homeassistant/components/teslemetry/config_flow.py | 8 ++++++-- homeassistant/components/teslemetry/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/teslemetry/test_config_flow.py | 8 ++++++-- tests/components/teslemetry/test_init.py | 4 ++-- 7 files changed, 23 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/teslemetry/__init__.py b/homeassistant/components/teslemetry/__init__.py index f2532fcaf5b..b1083473858 100644 --- a/homeassistant/components/teslemetry/__init__.py +++ b/homeassistant/components/teslemetry/__init__.py @@ -3,7 +3,11 @@ import asyncio from typing import Final from tesla_fleet_api import EnergySpecific, Teslemetry, VehicleSpecific -from tesla_fleet_api.exceptions import InvalidToken, PaymentRequired, TeslaFleetError +from tesla_fleet_api.exceptions import ( + InvalidToken, + SubscriptionRequired, + TeslaFleetError, +) from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_ACCESS_TOKEN, Platform @@ -36,7 +40,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: except InvalidToken: LOGGER.error("Access token is invalid, unable to connect to Teslemetry") return False - except PaymentRequired: + except SubscriptionRequired: LOGGER.error("Subscription required, unable to connect to Telemetry") return False except TeslaFleetError as e: diff --git a/homeassistant/components/teslemetry/config_flow.py b/homeassistant/components/teslemetry/config_flow.py index 6c709a9d757..72ae712f994 100644 --- a/homeassistant/components/teslemetry/config_flow.py +++ b/homeassistant/components/teslemetry/config_flow.py @@ -6,7 +6,11 @@ from typing import Any from aiohttp import ClientConnectionError from tesla_fleet_api import Teslemetry -from tesla_fleet_api.exceptions import InvalidToken, PaymentRequired, TeslaFleetError +from tesla_fleet_api.exceptions import ( + InvalidToken, + SubscriptionRequired, + TeslaFleetError, +) import voluptuous as vol from homeassistant import config_entries @@ -41,7 +45,7 @@ class TeslemetryConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): await teslemetry.test() except InvalidToken: errors[CONF_ACCESS_TOKEN] = "invalid_access_token" - except PaymentRequired: + except SubscriptionRequired: errors["base"] = "subscription_required" except ClientConnectionError: errors["base"] = "cannot_connect" diff --git a/homeassistant/components/teslemetry/manifest.json b/homeassistant/components/teslemetry/manifest.json index ab2d52f329d..7f3f1704f2d 100644 --- a/homeassistant/components/teslemetry/manifest.json +++ b/homeassistant/components/teslemetry/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/teslemetry", "iot_class": "cloud_polling", "loggers": ["tesla-fleet-api"], - "requirements": ["tesla-fleet-api==0.4.6"] + "requirements": ["tesla-fleet-api==0.4.9"] } diff --git a/requirements_all.txt b/requirements_all.txt index f3a46575980..0ef673aa9bd 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2677,7 +2677,7 @@ temperusb==1.6.1 # tensorflow==2.5.0 # homeassistant.components.teslemetry -tesla-fleet-api==0.4.6 +tesla-fleet-api==0.4.9 # homeassistant.components.powerwall tesla-powerwall==0.5.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 1fe5b97e36a..a25035620b7 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2051,7 +2051,7 @@ temescal==0.5 temperusb==1.6.1 # homeassistant.components.teslemetry -tesla-fleet-api==0.4.6 +tesla-fleet-api==0.4.9 # homeassistant.components.powerwall tesla-powerwall==0.5.1 diff --git a/tests/components/teslemetry/test_config_flow.py b/tests/components/teslemetry/test_config_flow.py index b89967bfa35..3757c331996 100644 --- a/tests/components/teslemetry/test_config_flow.py +++ b/tests/components/teslemetry/test_config_flow.py @@ -4,7 +4,11 @@ from unittest.mock import patch from aiohttp import ClientConnectionError import pytest -from tesla_fleet_api.exceptions import InvalidToken, PaymentRequired, TeslaFleetError +from tesla_fleet_api.exceptions import ( + InvalidToken, + SubscriptionRequired, + TeslaFleetError, +) from homeassistant import config_entries from homeassistant.components.teslemetry.const import DOMAIN @@ -54,7 +58,7 @@ async def test_form( ("side_effect", "error"), [ (InvalidToken, {CONF_ACCESS_TOKEN: "invalid_access_token"}), - (PaymentRequired, {"base": "subscription_required"}), + (SubscriptionRequired, {"base": "subscription_required"}), (ClientConnectionError, {"base": "cannot_connect"}), (TeslaFleetError, {"base": "unknown"}), ], diff --git a/tests/components/teslemetry/test_init.py b/tests/components/teslemetry/test_init.py index ba3ecd2f0e7..9742338f27a 100644 --- a/tests/components/teslemetry/test_init.py +++ b/tests/components/teslemetry/test_init.py @@ -5,7 +5,7 @@ from datetime import timedelta from freezegun.api import FrozenDateTimeFactory from tesla_fleet_api.exceptions import ( InvalidToken, - PaymentRequired, + SubscriptionRequired, TeslaFleetError, VehicleOffline, ) @@ -42,7 +42,7 @@ async def test_auth_failure(hass: HomeAssistant, mock_products) -> None: async def test_subscription_failure(hass: HomeAssistant, mock_products) -> None: """Test init with an client response error.""" - mock_products.side_effect = PaymentRequired + mock_products.side_effect = SubscriptionRequired entry = await setup_platform(hass) assert entry.state is ConfigEntryState.SETUP_ERROR