mirror of
https://github.com/home-assistant/core.git
synced 2025-06-19 20:47:06 +00:00

* Reapply "Add support for subentries to config entries" (#133470) (#136061) * Reapply "Add support for subentries to config entries" (#133470) This reverts commit ecb3bf79f32a2e25d141ff467e5958826ed9fc3a. * Update test snapshot * Add config subentry support to device registry (#128157) * Add config subentry support to device registry * Apply suggestions from code review * Update syrupy serializer * Update snapshots * Address review comments * Allow a device to be connected to no or a single subentry of a config entry * Update snapshots * Revert "Allow a device to be connected to no or a single subentry of a config entry" This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2. * Update test snapshots * Bump release version in comments * Rename config_subentries to config_entries_subentries * Add config subentry support to entity registry (#128155) * Add config subentry support to entity registry * Update syrupy serializer * Update snapshots * Update snapshots * Accept suggested changes * Clean registries when removing subentry (#136671) * Clean up registries when removing subentry * Update tests * Clean up subentries from deleted devices when removing config entry (#136669) * Clean up subentries from deleted devices when removing config entry * Move * Add config subentry support to entity platform (#128161) * Add config subentry support to entity platform * Rename subentry_id to config_subentry_id * Store subentry type in subentry (#136687) * Add reconfigure support to config subentries (#133353) * Add reconfigure support to config subentries * Update test * Minor adjustment * Rename supported_subentry_flows to supported_subentry_types * Address review comments * Add subentry support to kitchen sink (#136755) * Add subentry support to kitchen sink * Add subentry reconfigure support to kitchen_sink * Update kitchen_sink tests with subentry type stored in config entry * Update kitchen_sink * Update kitchen_sink * Adjust kitchen sink tests * Fix hassfest * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Improve docstrings and strings.json --------- Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update snapshots * Update snapshots * Update snapshots * Update snapshots * Update snapshots * Update snapshots * Update snapshots --------- Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
75 lines
2.4 KiB
Python
75 lines
2.4 KiB
Python
"""Tests for the diagnostics data provided by Switcher."""
|
|
|
|
import pytest
|
|
|
|
from homeassistant.components.diagnostics import REDACTED
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
from . import init_integration
|
|
from .consts import DUMMY_WATER_HEATER_DEVICE
|
|
|
|
from tests.common import ANY
|
|
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
|
from tests.typing import ClientSessionGenerator
|
|
|
|
|
|
async def test_diagnostics(
|
|
hass: HomeAssistant,
|
|
hass_client: ClientSessionGenerator,
|
|
mock_bridge,
|
|
monkeypatch: pytest.MonkeyPatch,
|
|
) -> None:
|
|
"""Test diagnostics."""
|
|
entry = await init_integration(hass)
|
|
device = DUMMY_WATER_HEATER_DEVICE
|
|
monkeypatch.setattr(device, "last_data_update", "2022-09-28T16:42:12.706017")
|
|
mock_bridge.mock_callbacks([device])
|
|
await hass.async_block_till_done()
|
|
|
|
assert await get_diagnostics_for_config_entry(hass, hass_client, entry) == {
|
|
"devices": [
|
|
{
|
|
"auto_shutdown": "02:00:00",
|
|
"device_id": REDACTED,
|
|
"device_key": REDACTED,
|
|
"device_state": {
|
|
"__type": "<enum 'DeviceState'>",
|
|
"repr": "<DeviceState.ON: ('01', 'on')>",
|
|
},
|
|
"device_type": {
|
|
"__type": "<enum 'DeviceType'>",
|
|
"repr": (
|
|
"<DeviceType.V4: ('Switcher V4', '0317', "
|
|
"1, <DeviceCategory.WATER_HEATER: 1>, False)>"
|
|
),
|
|
},
|
|
"electric_current": 12.8,
|
|
"ip_address": REDACTED,
|
|
"last_data_update": "2022-09-28T16:42:12.706017",
|
|
"mac_address": REDACTED,
|
|
"name": "Heater FE12",
|
|
"power_consumption": 2780,
|
|
"remaining_time": "01:29:32",
|
|
"token_needed": False,
|
|
}
|
|
],
|
|
"entry": {
|
|
"entry_id": entry.entry_id,
|
|
"version": 1,
|
|
"minor_version": 1,
|
|
"domain": "switcher_kis",
|
|
"title": "Mock Title",
|
|
"data": {},
|
|
"options": {},
|
|
"pref_disable_new_entities": False,
|
|
"pref_disable_polling": False,
|
|
"source": "user",
|
|
"unique_id": "switcher_kis",
|
|
"disabled_by": None,
|
|
"created_at": ANY,
|
|
"modified_at": ANY,
|
|
"discovery_keys": {},
|
|
"subentries": [],
|
|
},
|
|
}
|