mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +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,
|
ElectricityMaps,
|
||||||
ElectricityMapsError,
|
ElectricityMapsError,
|
||||||
ElectricityMapsInvalidTokenError,
|
ElectricityMapsInvalidTokenError,
|
||||||
|
ElectricityMapsNoDataError,
|
||||||
)
|
)
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
@ -151,6 +152,8 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
await fetch_latest_carbon_intensity(self.hass, em, data)
|
await fetch_latest_carbon_intensity(self.hass, em, data)
|
||||||
except ElectricityMapsInvalidTokenError:
|
except ElectricityMapsInvalidTokenError:
|
||||||
errors["base"] = "invalid_auth"
|
errors["base"] = "invalid_auth"
|
||||||
|
except ElectricityMapsNoDataError:
|
||||||
|
errors["base"] = "no_data"
|
||||||
except ElectricityMapsError:
|
except ElectricityMapsError:
|
||||||
errors["base"] = "unknown"
|
errors["base"] = "unknown"
|
||||||
else:
|
else:
|
||||||
|
@ -28,12 +28,9 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
|
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
|
||||||
"unknown": "[%key:common::config_flow::error::unknown%]",
|
"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": {
|
"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%]"
|
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -5,6 +5,7 @@ from aioelectricitymaps import (
|
|||||||
ElectricityMapsConnectionError,
|
ElectricityMapsConnectionError,
|
||||||
ElectricityMapsError,
|
ElectricityMapsError,
|
||||||
ElectricityMapsInvalidTokenError,
|
ElectricityMapsInvalidTokenError,
|
||||||
|
ElectricityMapsNoDataError,
|
||||||
)
|
)
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
@ -139,12 +140,9 @@ async def test_form_country(hass: HomeAssistant) -> None:
|
|||||||
),
|
),
|
||||||
(ElectricityMapsError("Something else"), "unknown"),
|
(ElectricityMapsError("Something else"), "unknown"),
|
||||||
(ElectricityMapsConnectionError("Boom"), "unknown"),
|
(ElectricityMapsConnectionError("Boom"), "unknown"),
|
||||||
|
(ElectricityMapsNoDataError("I have no data"), "no_data"),
|
||||||
],
|
],
|
||||||
ids=[
|
ids=["invalid auth", "generic error", "json decode error", "no data error"],
|
||||||
"invalid auth",
|
|
||||||
"generic error",
|
|
||||||
"json decode error",
|
|
||||||
],
|
|
||||||
)
|
)
|
||||||
async def test_form_error_handling(
|
async def test_form_error_handling(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user