Files
ha-core/tests/components/guardian/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 ecb3bf79f3.

* 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

94 lines
3.3 KiB
Python

"""Test Guardian diagnostics."""
from homeassistant.components.diagnostics import REDACTED
from homeassistant.components.guardian import DOMAIN, GuardianData
from homeassistant.core import HomeAssistant
from tests.common import ANY, MockConfigEntry
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.typing import ClientSessionGenerator
async def test_entry_diagnostics(
hass: HomeAssistant,
config_entry: MockConfigEntry,
hass_client: ClientSessionGenerator,
setup_guardian: None, # relies on config_entry fixture
) -> None:
"""Test config entry diagnostics."""
data: GuardianData = hass.data[DOMAIN][config_entry.entry_id]
# Simulate the pairing of a paired sensor:
await data.paired_sensor_manager.async_pair_sensor("AABBCCDDEEFF")
assert await get_diagnostics_for_config_entry(hass, hass_client, config_entry) == {
"entry": {
"entry_id": config_entry.entry_id,
"version": 1,
"minor_version": 1,
"domain": "guardian",
"title": REDACTED,
"data": {
"uid": REDACTED,
"ip_address": "192.168.1.100",
"port": 7777,
},
"options": {},
"pref_disable_new_entities": False,
"pref_disable_polling": False,
"source": "user",
"unique_id": REDACTED,
"disabled_by": None,
"created_at": ANY,
"modified_at": ANY,
"discovery_keys": {},
"subentries": [],
},
"data": {
"valve_controller": {
"sensor_pair_dump": {"pair_count": 1, "paired_uids": REDACTED},
"system_diagnostics": {
"codename": "gvc1",
"uid": REDACTED,
"uptime": 41,
"firmware": "0.20.9-beta+official.ef3",
"rf_modem_firmware": "4.0.0",
"available_heap": 34456,
},
"system_onboard_sensor_status": {"temperature": 71, "wet": False},
"valve_status": {
"enabled": False,
"direction": True,
"state": 0,
"travel_count": 0,
"instantaneous_current": 0,
"instantaneous_current_ddt": 0,
"average_current": 34,
},
"wifi_status": {
"station_connected": True,
"ip_assigned": True,
"mqtt_connected": True,
"rssi": -63,
"channel": 1,
"lan_ipv4": "192.168.1.100",
"lan_ipv6": "AC10:BD0:FFFF:FFFF:AC10:BD0:FFFF:FFFF",
"ap_enabled": True,
"ap_clients": 0,
"bssid": REDACTED,
"ssid": REDACTED,
},
},
"paired_sensors": [
{
"uid": REDACTED,
"codename": "gld1",
"temperature": 68,
"wet": False,
"moved": True,
"battery_percentage": 79,
}
],
},
}