hass-core/tests/components/ozw/test_websocket_api.py
Chris 607ba08e23
Add node neighbors to ozw websocket api ()
* Add node neighbors to websocket api

* Update homeassistant/components/ozw/websocket_api.py

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

* Update tests/components/ozw/test_websocket_api.py

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2020-08-01 15:50:04 -04:00

58 lines
2 KiB
Python

"""Test OpenZWave Websocket API."""
from homeassistant.components.ozw.websocket_api import ID, NODE_ID, OZW_INSTANCE, TYPE
from .common import setup_ozw
async def test_websocket_api(hass, generic_data, hass_ws_client):
"""Test the ozw websocket api."""
await setup_ozw(hass, fixture=generic_data)
client = await hass_ws_client(hass)
# Test network status
await client.send_json({ID: 5, TYPE: "ozw/network_status"})
msg = await client.receive_json()
result = msg["result"]
assert result["state"] == "driverAllNodesQueried"
assert result[OZW_INSTANCE] == 1
# Test node status
await client.send_json({ID: 6, TYPE: "ozw/node_status", NODE_ID: 32})
msg = await client.receive_json()
result = msg["result"]
assert result[OZW_INSTANCE] == 1
assert result[NODE_ID] == 32
assert result["node_query_stage"] == "Complete"
assert result["is_zwave_plus"]
assert result["is_awake"]
assert not result["is_failed"]
assert result["node_baud_rate"] == 100000
assert result["is_beaming"]
assert not result["is_flirs"]
assert result["is_routing"]
assert not result["is_securityv1"]
assert result["node_basic_string"] == "Routing Slave"
assert result["node_generic_string"] == "Binary Switch"
assert result["node_specific_string"] == "Binary Power Switch"
assert result["neighbors"] == [1, 33, 36, 37, 39]
# Test node statistics
await client.send_json({ID: 7, TYPE: "ozw/node_statistics", NODE_ID: 39})
msg = await client.receive_json()
result = msg["result"]
assert result[OZW_INSTANCE] == 1
assert result[NODE_ID] == 39
assert result["send_count"] == 57
assert result["sent_failed"] == 0
assert result["retries"] == 1
assert result["last_request_rtt"] == 26
assert result["last_response_rtt"] == 38
assert result["average_request_rtt"] == 29
assert result["average_response_rtt"] == 37
assert result["received_packets"] == 3594
assert result["received_dup_packets"] == 12
assert result["received_unsolicited"] == 3546