core/tests/components/switcher_kis/test_diagnostics.py
Erik Montnemery 4b34d1bbb5
Merge config subentry feature branch to dev (#136121)
* 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>
2025-02-10 16:40:07 +01:00

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": [],
},
}