mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Handle no data error in Electricity Maps config flow (#110259)
Co-authored-by: Viktor Andersson <30777521+VIKTORVAV99@users.noreply.github.com>
This commit is contained in:
parent
f792690e27
commit
fb878836a8
@ -8,6 +8,7 @@ from aioelectricitymaps import (
|
||||
ElectricityMaps,
|
||||
ElectricityMapsError,
|
||||
ElectricityMapsInvalidTokenError,
|
||||
ElectricityMapsNoDataError,
|
||||
)
|
||||
import voluptuous as vol
|
||||
|
||||
@ -151,6 +152,8 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
await fetch_latest_carbon_intensity(self.hass, em, data)
|
||||
except ElectricityMapsInvalidTokenError:
|
||||
errors["base"] = "invalid_auth"
|
||||
except ElectricityMapsNoDataError:
|
||||
errors["base"] = "no_data"
|
||||
except ElectricityMapsError:
|
||||
errors["base"] = "unknown"
|
||||
else:
|
||||
|
@ -28,12 +28,9 @@
|
||||
"error": {
|
||||
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
|
||||
"unknown": "[%key:common::config_flow::error::unknown%]",
|
||||
"api_ratelimit": "API Ratelimit exceeded"
|
||||
"no_data": "No data is available for the location you have selected."
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
|
||||
"unknown": "[%key:common::config_flow::error::unknown%]",
|
||||
"api_ratelimit": "[%key:component::co2signal::config::error::api_ratelimit%]",
|
||||
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
|
||||
}
|
||||
},
|
||||
|
@ -5,6 +5,7 @@ from aioelectricitymaps import (
|
||||
ElectricityMapsConnectionError,
|
||||
ElectricityMapsError,
|
||||
ElectricityMapsInvalidTokenError,
|
||||
ElectricityMapsNoDataError,
|
||||
)
|
||||
import pytest
|
||||
|
||||
@ -139,12 +140,9 @@ async def test_form_country(hass: HomeAssistant) -> None:
|
||||
),
|
||||
(ElectricityMapsError("Something else"), "unknown"),
|
||||
(ElectricityMapsConnectionError("Boom"), "unknown"),
|
||||
(ElectricityMapsNoDataError("I have no data"), "no_data"),
|
||||
],
|
||||
ids=[
|
||||
"invalid auth",
|
||||
"generic error",
|
||||
"json decode error",
|
||||
],
|
||||
ids=["invalid auth", "generic error", "json decode error", "no data error"],
|
||||
)
|
||||
async def test_form_error_handling(
|
||||
hass: HomeAssistant,
|
||||
|
Loading…
x
Reference in New Issue
Block a user