* 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>
94 lines
3.3 KiB
Python
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,
|
|
}
|
|
],
|
|
},
|
|
}
|