77 lines
2.6 KiB
Python
77 lines
2.6 KiB
Python
"""Test deCONZ diagnostics."""
|
|
from pydeconz.websocket import State
|
|
|
|
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 tests.components.diagnostics import get_diagnostics_for_config_entry
|
|
from tests.test_util.aiohttp import AiohttpClientMocker
|
|
from tests.typing import ClientSessionGenerator
|
|
|
|
|
|
async def test_entry_diagnostics(
|
|
hass: HomeAssistant,
|
|
hass_client: ClientSessionGenerator,
|
|
aioclient_mock: AiohttpClientMocker,
|
|
mock_deconz_websocket,
|
|
) -> 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": {},
|
|
}
|