Add websocket list APIs for the registries (#16597)
* Add websocket list APIs for the registries * Remove identifiers * Fix tests * Use ordered dict
This commit is contained in:
parent
67b5b5bc85
commit
05c0717167
7 changed files with 210 additions and 19 deletions
60
tests/components/config/test_device_registry.py
Normal file
60
tests/components/config/test_device_registry.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
"""Test entity_registry API."""
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.config import device_registry
|
||||
from tests.common import mock_device_registry
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def client(hass, hass_ws_client):
|
||||
"""Fixture that can interact with the config manager API."""
|
||||
hass.loop.run_until_complete(device_registry.async_setup(hass))
|
||||
yield hass.loop.run_until_complete(hass_ws_client(hass))
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def registry(hass):
|
||||
"""Return an empty, loaded, registry."""
|
||||
return mock_device_registry(hass)
|
||||
|
||||
|
||||
async def test_list_devices(hass, client, registry):
|
||||
"""Test list entries."""
|
||||
registry.async_get_or_create(
|
||||
config_entry='1234',
|
||||
connections={('ethernet', '12:34:56:78:90:AB:CD:EF')},
|
||||
identifiers={('bridgeid', '0123')},
|
||||
manufacturer='manufacturer', model='model')
|
||||
registry.async_get_or_create(
|
||||
config_entry='1234',
|
||||
connections={},
|
||||
identifiers={('bridgeid', '1234')},
|
||||
manufacturer='manufacturer', model='model')
|
||||
|
||||
await client.send_json({
|
||||
'id': 5,
|
||||
'type': 'config/device_registry/list',
|
||||
})
|
||||
msg = await client.receive_json()
|
||||
|
||||
for entry in msg['result']:
|
||||
entry.pop('id')
|
||||
|
||||
assert msg['result'] == [
|
||||
{
|
||||
'config_entries': ['1234'],
|
||||
'connections': [['ethernet', '12:34:56:78:90:AB:CD:EF']],
|
||||
'manufacturer': 'manufacturer',
|
||||
'model': 'model',
|
||||
'name': None,
|
||||
'sw_version': None
|
||||
},
|
||||
{
|
||||
'config_entries': ['1234'],
|
||||
'connections': [],
|
||||
'manufacturer': 'manufacturer',
|
||||
'model': 'model',
|
||||
'name': None,
|
||||
'sw_version': None
|
||||
}
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue