mirror of
https://github.com/home-assistant/core.git
synced 2026-04-29 10:23:46 +02:00
Add diagnostics to history_stats (#152460)
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
"""Diagnostics support for history_stats."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
|
||||
|
||||
async def async_get_config_entry_diagnostics(
|
||||
hass: HomeAssistant, config_entry: ConfigEntry
|
||||
) -> dict[str, Any]:
|
||||
"""Return diagnostics for a config entry."""
|
||||
|
||||
registry = er.async_get(hass)
|
||||
entities = registry.entities.get_entries_for_config_entry_id(config_entry.entry_id)
|
||||
|
||||
return {
|
||||
"config_entry": config_entry.as_dict(),
|
||||
"entity": [entity.extended_dict for entity in entities],
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
"""Tests for derivative diagnostics."""
|
||||
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.history_stats.const import DEFAULT_NAME, DOMAIN
|
||||
from homeassistant.const import CONF_ENTITY_ID, CONF_NAME
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
||||
from tests.typing import ClientSessionGenerator
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("recorder_mock")
|
||||
async def test_diagnostics(
|
||||
hass: HomeAssistant, hass_client: ClientSessionGenerator, loaded_entry
|
||||
) -> None:
|
||||
"""Test diagnostics for config entry."""
|
||||
|
||||
result = await get_diagnostics_for_config_entry(hass, hass_client, loaded_entry)
|
||||
|
||||
assert isinstance(result, dict)
|
||||
assert result["config_entry"]["domain"] == DOMAIN
|
||||
assert result["config_entry"]["options"][CONF_NAME] == DEFAULT_NAME
|
||||
assert (
|
||||
result["config_entry"]["options"][CONF_ENTITY_ID]
|
||||
== "binary_sensor.test_monitored"
|
||||
)
|
||||
assert result["entity"][0]["entity_id"] == "sensor.unnamed_statistics"
|
||||
Reference in New Issue
Block a user