Skip to content

Commit

Permalink
Use snapshot assertion for Deconz diagnostics test (#98908)
Browse files Browse the repository at this point in the history
  • Loading branch information
joostlek committed Aug 23, 2023
1 parent 82e92cd commit 1f0e8f9
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 53 deletions.
79 changes: 79 additions & 0 deletions tests/components/deconz/snapshots/test_diagnostics.ambr
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# serializer version: 1
# name: test_entry_diagnostics
dict({
'alarm_systems': dict({
}),
'config': dict({
'data': dict({
'api_key': '**REDACTED**',
'host': '1.2.3.4',
'port': 80,
}),
'disabled_by': None,
'domain': 'deconz',
'entry_id': '1',
'options': dict({
'master': True,
}),
'pref_disable_new_entities': False,
'pref_disable_polling': False,
'source': 'user',
'title': 'Mock Title',
'unique_id': '**REDACTED**',
'version': 1,
}),
'deconz_config': dict({
'bridgeid': '**REDACTED**',
'ipaddress': '1.2.3.4',
'mac': '**REDACTED**',
'modelid': 'deCONZ',
'name': 'deCONZ mock gateway',
'sw_version': '2.05.69',
'uuid': '1234',
'websocketport': 1234,
}),
'deconz_ids': dict({
}),
'entities': dict({
'alarm_control_panel': list([
]),
'binary_sensor': list([
]),
'button': list([
]),
'climate': list([
]),
'cover': list([
]),
'fan': list([
]),
'light': list([
]),
'lock': list([
]),
'number': list([
]),
'scene': list([
]),
'select': list([
]),
'sensor': list([
]),
'siren': list([
]),
'switch': list([
]),
}),
'events': dict({
}),
'groups': dict({
}),
'lights': dict({
}),
'scenes': dict({
}),
'sensors': dict({
}),
'websocket_state': 'running',
})
# ---
60 changes: 7 additions & 53 deletions tests/components/deconz/test_diagnostics.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
"""Test deCONZ diagnostics."""
from pydeconz.websocket import State
from syrupy import SnapshotAssertion

from homeassistant.components.deconz.const import CONF_MASTER_GATEWAY
from homeassistant.components.diagnostics import REDACTED
from homeassistant.const import CONF_API_KEY, CONF_HOST, CONF_PORT, Platform
from homeassistant.core import HomeAssistant

from .test_gateway import HOST, PORT, setup_deconz_integration
from .test_gateway import setup_deconz_integration

from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.test_util.aiohttp import AiohttpClientMocker
Expand All @@ -18,59 +16,15 @@ async def test_entry_diagnostics(
hass_client: ClientSessionGenerator,
aioclient_mock: AiohttpClientMocker,
mock_deconz_websocket,
snapshot: SnapshotAssertion,
) -> None:
"""Test config entry diagnostics."""
config_entry = await setup_deconz_integration(hass, aioclient_mock)

await mock_deconz_websocket(state=State.RUNNING)
await hass.async_block_till_done()

assert await get_diagnostics_for_config_entry(hass, hass_client, config_entry) == {
"config": {
"data": {CONF_API_KEY: REDACTED, CONF_HOST: HOST, CONF_PORT: PORT},
"disabled_by": None,
"domain": "deconz",
"entry_id": "1",
"options": {CONF_MASTER_GATEWAY: True},
"pref_disable_new_entities": False,
"pref_disable_polling": False,
"source": "user",
"title": "Mock Title",
"unique_id": REDACTED,
"version": 1,
},
"deconz_config": {
"bridgeid": REDACTED,
"ipaddress": HOST,
"mac": REDACTED,
"modelid": "deCONZ",
"name": "deCONZ mock gateway",
"sw_version": "2.05.69",
"uuid": "1234",
"websocketport": 1234,
},
"websocket_state": State.RUNNING.value,
"deconz_ids": {},
"entities": {
str(Platform.ALARM_CONTROL_PANEL): [],
str(Platform.BINARY_SENSOR): [],
str(Platform.BUTTON): [],
str(Platform.CLIMATE): [],
str(Platform.COVER): [],
str(Platform.FAN): [],
str(Platform.LIGHT): [],
str(Platform.LOCK): [],
str(Platform.NUMBER): [],
str(Platform.SCENE): [],
str(Platform.SELECT): [],
str(Platform.SENSOR): [],
str(Platform.SIREN): [],
str(Platform.SWITCH): [],
},
"events": {},
"alarm_systems": {},
"groups": {},
"lights": {},
"scenes": {},
"sensors": {},
}
assert (
await get_diagnostics_for_config_entry(hass, hass_client, config_entry)
== snapshot
)

0 comments on commit 1f0e8f9

Please sign in to comment.