Bump aioelectricitymaps to 0.3.0 (#109399)

* Bump aioelectricitymaps to 0.3.0

* Fix tests
This commit is contained in:
Jan-Philipp Benecke 2024-02-02 23:04:41 +01:00 committed by GitHub
parent e567236cac
commit 99fcff47f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 33 additions and 21 deletions

View File

@ -4,8 +4,11 @@ from __future__ import annotations
from collections.abc import Mapping from collections.abc import Mapping
from typing import Any from typing import Any
from aioelectricitymaps import ElectricityMaps from aioelectricitymaps import (
from aioelectricitymaps.exceptions import ElectricityMapsError, InvalidToken ElectricityMaps,
ElectricityMapsError,
ElectricityMapsInvalidTokenError,
)
import voluptuous as vol import voluptuous as vol
from homeassistant import config_entries from homeassistant import config_entries
@ -146,7 +149,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
try: try:
await fetch_latest_carbon_intensity(self.hass, em, data) await fetch_latest_carbon_intensity(self.hass, em, data)
except InvalidToken: except ElectricityMapsInvalidTokenError:
errors["base"] = "invalid_auth" errors["base"] = "invalid_auth"
except ElectricityMapsError: except ElectricityMapsError:
errors["base"] = "unknown" errors["base"] = "unknown"

View File

@ -4,9 +4,12 @@ from __future__ import annotations
from datetime import timedelta from datetime import timedelta
import logging import logging
from aioelectricitymaps import ElectricityMaps from aioelectricitymaps import (
from aioelectricitymaps.exceptions import ElectricityMapsError, InvalidToken CarbonIntensityResponse,
from aioelectricitymaps.models import CarbonIntensityResponse ElectricityMaps,
ElectricityMapsError,
ElectricityMapsInvalidTokenError,
)
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -43,7 +46,7 @@ class CO2SignalCoordinator(DataUpdateCoordinator[CarbonIntensityResponse]):
return await fetch_latest_carbon_intensity( return await fetch_latest_carbon_intensity(
self.hass, self.client, self.config_entry.data self.hass, self.client, self.config_entry.data
) )
except InvalidToken as err: except ElectricityMapsInvalidTokenError as err:
raise ConfigEntryAuthFailed from err raise ConfigEntryAuthFailed from err
except ElectricityMapsError as err: except ElectricityMapsError as err:
raise UpdateFailed(str(err)) from err raise UpdateFailed(str(err)) from err

View File

@ -7,5 +7,5 @@
"integration_type": "service", "integration_type": "service",
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"loggers": ["aioelectricitymaps"], "loggers": ["aioelectricitymaps"],
"requirements": ["aioelectricitymaps==0.2.0"] "requirements": ["aioelectricitymaps==0.3.0"]
} }

View File

@ -233,7 +233,7 @@ aioeagle==1.1.0
aioecowitt==2023.5.0 aioecowitt==2023.5.0
# homeassistant.components.co2signal # homeassistant.components.co2signal
aioelectricitymaps==0.2.0 aioelectricitymaps==0.3.0
# homeassistant.components.emonitor # homeassistant.components.emonitor
aioemonitor==1.0.5 aioemonitor==1.0.5

View File

@ -212,7 +212,7 @@ aioeagle==1.1.0
aioecowitt==2023.5.0 aioecowitt==2023.5.0
# homeassistant.components.co2signal # homeassistant.components.co2signal
aioelectricitymaps==0.2.0 aioelectricitymaps==0.3.0
# homeassistant.components.emonitor # homeassistant.components.emonitor
aioemonitor==1.0.5 aioemonitor==1.0.5

View File

@ -1,10 +1,10 @@
"""Test the CO2 Signal config flow.""" """Test the CO2 Signal config flow."""
from unittest.mock import AsyncMock, patch from unittest.mock import AsyncMock, patch
from aioelectricitymaps.exceptions import ( from aioelectricitymaps import (
ElectricityMapsDecodeError, ElectricityMapsConnectionError,
ElectricityMapsError, ElectricityMapsError,
InvalidToken, ElectricityMapsInvalidTokenError,
) )
import pytest import pytest
@ -134,11 +134,11 @@ async def test_form_country(hass: HomeAssistant) -> None:
("side_effect", "err_code"), ("side_effect", "err_code"),
[ [
( (
InvalidToken, ElectricityMapsInvalidTokenError,
"invalid_auth", "invalid_auth",
), ),
(ElectricityMapsError("Something else"), "unknown"), (ElectricityMapsError("Something else"), "unknown"),
(ElectricityMapsDecodeError("Boom"), "unknown"), (ElectricityMapsConnectionError("Boom"), "unknown"),
], ],
ids=[ ids=[
"invalid auth", "invalid auth",

View File

@ -2,10 +2,11 @@
from datetime import timedelta from datetime import timedelta
from unittest.mock import AsyncMock from unittest.mock import AsyncMock
from aioelectricitymaps.exceptions import ( from aioelectricitymaps import (
ElectricityMapsDecodeError, ElectricityMapsConnectionError,
ElectricityMapsConnectionTimeoutError,
ElectricityMapsError, ElectricityMapsError,
InvalidToken, ElectricityMapsInvalidTokenError,
) )
from freezegun.api import FrozenDateTimeFactory from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
@ -42,7 +43,8 @@ async def test_sensor(
@pytest.mark.parametrize( @pytest.mark.parametrize(
"error", "error",
[ [
ElectricityMapsDecodeError, ElectricityMapsConnectionTimeoutError,
ElectricityMapsConnectionError,
ElectricityMapsError, ElectricityMapsError,
Exception, Exception,
], ],
@ -93,8 +95,12 @@ async def test_sensor_reauth_triggered(
assert (state := hass.states.get("sensor.electricity_maps_co2_intensity")) assert (state := hass.states.get("sensor.electricity_maps_co2_intensity"))
assert state.state == "45.9862319009581" assert state.state == "45.9862319009581"
electricity_maps.latest_carbon_intensity_by_coordinates.side_effect = InvalidToken electricity_maps.latest_carbon_intensity_by_coordinates.side_effect = (
electricity_maps.latest_carbon_intensity_by_country_code.side_effect = InvalidToken ElectricityMapsInvalidTokenError
)
electricity_maps.latest_carbon_intensity_by_country_code.side_effect = (
ElectricityMapsInvalidTokenError
)
freezer.tick(timedelta(minutes=20)) freezer.tick(timedelta(minutes=20))
async_fire_time_changed(hass) async_fire_time_changed(hass)