1
0
mirror of https://github.com/home-assistant/core.git synced 2026-04-02 08:26:41 +01:00
Files
core/tests/components/bsblan/test_diagnostics.py
2026-03-19 17:07:49 +00:00

54 lines
1.7 KiB
Python

"""Tests for the diagnostics data provided by the BSBLan integration."""
from unittest.mock import AsyncMock
from bsblan import BSBLANError
from syrupy.assertion import SnapshotAssertion
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.typing import ClientSessionGenerator
async def test_diagnostics(
hass: HomeAssistant,
mock_bsblan: AsyncMock,
hass_client: ClientSessionGenerator,
mock_config_entry: MockConfigEntry,
snapshot: SnapshotAssertion,
) -> None:
"""Test diagnostics."""
mock_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(mock_config_entry.entry_id)
await hass.async_block_till_done()
diagnostics_data = await get_diagnostics_for_config_entry(
hass, hass_client, mock_config_entry
)
assert diagnostics_data == snapshot
async def test_diagnostics_without_static_values(
hass: HomeAssistant,
mock_bsblan: AsyncMock,
hass_client: ClientSessionGenerator,
mock_config_entry: MockConfigEntry,
) -> None:
"""Test diagnostics when static values are not available."""
mock_bsblan.static_values.side_effect = BSBLANError("General error")
mock_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(mock_config_entry.entry_id)
await hass.async_block_till_done()
diagnostics_data = await get_diagnostics_for_config_entry(
hass, hass_client, mock_config_entry
)
assert "info" in diagnostics_data
assert "device" in diagnostics_data
assert "fast_coordinator_data" in diagnostics_data
assert diagnostics_data["static"] is None