mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 22:27:07 +00:00
Add diagnostics platform for AccuWeather integration (#68752)
This commit is contained in:
parent
066128a53c
commit
24212ab598
28
homeassistant/components/accuweather/diagnostics.py
Normal file
28
homeassistant/components/accuweather/diagnostics.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
"""Diagnostics support for AccuWeather."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from homeassistant.components.diagnostics import async_redact_data
|
||||||
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
|
from . import AccuWeatherDataUpdateCoordinator
|
||||||
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
TO_REDACT = {CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE}
|
||||||
|
|
||||||
|
|
||||||
|
async def async_get_config_entry_diagnostics(
|
||||||
|
hass: HomeAssistant, config_entry: ConfigEntry
|
||||||
|
) -> dict:
|
||||||
|
"""Return diagnostics for a config entry."""
|
||||||
|
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][
|
||||||
|
config_entry.entry_id
|
||||||
|
]
|
||||||
|
|
||||||
|
diagnostics_data = {
|
||||||
|
"config_entry_data": async_redact_data(dict(config_entry.data), TO_REDACT),
|
||||||
|
"coordinator_data": coordinator.data,
|
||||||
|
}
|
||||||
|
|
||||||
|
return diagnostics_data
|
26
tests/components/accuweather/test_diagnostics.py
Normal file
26
tests/components/accuweather/test_diagnostics.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
"""Test AccuWeather diagnostics."""
|
||||||
|
import json
|
||||||
|
|
||||||
|
from tests.common import load_fixture
|
||||||
|
from tests.components.accuweather import init_integration
|
||||||
|
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
||||||
|
|
||||||
|
|
||||||
|
async def test_entry_diagnostics(hass, hass_client):
|
||||||
|
"""Test config entry diagnostics."""
|
||||||
|
entry = await init_integration(hass)
|
||||||
|
|
||||||
|
coordinator_data = json.loads(
|
||||||
|
load_fixture("current_conditions_data.json", "accuweather")
|
||||||
|
)
|
||||||
|
coordinator_data["forecast"] = {}
|
||||||
|
|
||||||
|
result = await get_diagnostics_for_config_entry(hass, hass_client, entry)
|
||||||
|
|
||||||
|
assert result["config_entry_data"] == {
|
||||||
|
"api_key": "**REDACTED**",
|
||||||
|
"latitude": "**REDACTED**",
|
||||||
|
"longitude": "**REDACTED**",
|
||||||
|
"name": "Home",
|
||||||
|
}
|
||||||
|
assert result["coordinator_data"] == coordinator_data
|
Loading…
x
Reference in New Issue
Block a user