mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +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