Add "Refactor zwave discovery to entity schema" (#6565)
* Revert "Revert "Refactor zwave discovery to entity schema (#6445)" (#6564)"
This reverts commit 58826b264a.
* Update zwave tests for enitity schema
* Fix merge error
* Switch dict_id to id(self)
This commit is contained in:
1 parent
cada74df22
commit
1a7ffdca52
14 files changed
+709
-577
No files matched your search
@@ -7,15 +7,17 @@ from unittest.mock import patch
|
||||
from homeassistant.components.zwave import const
|
||||
from homeassistant.components.binary_sensor import zwave
|
||||
|
||||
from tests.mock.zwave import MockNode, MockValue, value_changed
|
||||
from tests.mock.zwave import (
|
||||
MockNode, MockValue, MockEntityValues, value_changed)
|
||||
|
||||
|
||||
def test_get_device_detects_none(mock_openzwave):
|
||||
"""Test device is not returned."""
|
||||
node = MockNode()
|
||||
value = MockValue(data=False, node=node)
|
||||
values = MockEntityValues(primary=value)
|
||||
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
assert device is None
|
||||
|
||||
|
||||
@@ -24,8 +26,9 @@ def test_get_device_detects_trigger_sensor(mock_openzwave):
|
||||
node = MockNode(
|
||||
manufacturer_id='013c', product_type='0002', product_id='0002')
|
||||
value = MockValue(data=False, node=node)
|
||||
values = MockEntityValues(primary=value)
|
||||
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
assert isinstance(device, zwave.ZWaveTriggerSensor)
|
||||
assert device.device_class == "motion"
|
||||
|
||||
@@ -35,8 +38,9 @@ def test_get_device_detects_workaround_sensor(mock_openzwave):
|
||||
node = MockNode(manufacturer_id='010f', product_type='0b00')
|
||||
value = MockValue(data=False, node=node,
|
||||
command_class=const.COMMAND_CLASS_SENSOR_ALARM)
|
||||
values = MockEntityValues(primary=value)
|
||||
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
assert isinstance(device, zwave.ZWaveBinarySensor)
|
||||
|
||||
|
||||
@@ -45,8 +49,9 @@ def test_get_device_detects_sensor(mock_openzwave):
|
||||
node = MockNode()
|
||||
value = MockValue(data=False, node=node,
|
||||
command_class=const.COMMAND_CLASS_SENSOR_BINARY)
|
||||
values = MockEntityValues(primary=value)
|
||||
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
assert isinstance(device, zwave.ZWaveBinarySensor)
|
||||
|
||||
|
||||
@@ -55,7 +60,8 @@ def test_binary_sensor_value_changed(mock_openzwave):
|
||||
node = MockNode()
|
||||
value = MockValue(data=False, node=node,
|
||||
command_class=const.COMMAND_CLASS_SENSOR_BINARY)
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
values = MockEntityValues(primary=value)
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
|
||||
assert not device.is_on
|
||||
|
||||
@@ -71,7 +77,8 @@ def test_trigger_sensor_value_changed(hass, mock_openzwave):
|
||||
node = MockNode(
|
||||
manufacturer_id='013c', product_type='0002', product_id='0002')
|
||||
value = MockValue(data=False, node=node)
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
values = MockEntityValues(primary=value)
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
|
||||
assert not device.is_on
|
||||
|
||||
|
||||
@@ -2,15 +2,27 @@
|
||||
from homeassistant.components.zwave import const
|
||||
from homeassistant.components.light import zwave, ATTR_BRIGHTNESS
|
||||
|
||||
from tests.mock.zwave import MockNode, MockValue, value_changed
|
||||
from tests.mock.zwave import (
|
||||
MockNode, MockValue, MockEntityValues, value_changed)
|
||||
|
||||
|
||||
class MockLightValues(MockEntityValues):
|
||||
"""Mock Z-Wave light values."""
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
"""Initialize the mock zwave values."""
|
||||
self.color = None
|
||||
self.color_channels = None
|
||||
super().__init__(**kwargs)
|
||||
|
||||
|
||||
def test_get_device_detects_dimmer(mock_openzwave):
|
||||
"""Test get_device returns a color light."""
|
||||
node = MockNode()
|
||||
value = MockValue(data=0, node=node)
|
||||
values = MockLightValues(primary=value)
|
||||
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
assert isinstance(device, zwave.ZwaveDimmer)
|
||||
|
||||
|
||||
@@ -18,8 +30,9 @@ def test_get_device_detects_colorlight(mock_openzwave):
|
||||
"""Test get_device returns a color light."""
|
||||
node = MockNode(command_classes=[const.COMMAND_CLASS_SWITCH_COLOR])
|
||||
value = MockValue(data=0, node=node)
|
||||
values = MockLightValues(primary=value)
|
||||
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
assert isinstance(device, zwave.ZwaveColorLight)
|
||||
|
||||
|
||||
@@ -27,7 +40,8 @@ def test_dimmer_turn_on(mock_openzwave):
|
||||
"""Test turning on a dimmable Z-Wave light."""
|
||||
node = MockNode()
|
||||
value = MockValue(data=0, node=node)
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
values = MockLightValues(primary=value)
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
|
||||
device.turn_on()
|
||||
|
||||
@@ -51,7 +65,8 @@ def test_dimmer_value_changed(mock_openzwave):
|
||||
"""Test value changed for dimmer lights."""
|
||||
node = MockNode()
|
||||
value = MockValue(data=0, node=node)
|
||||
device = zwave.get_device(node=node, value=value, node_config={})
|
||||
values = MockLightValues(primary=value)
|
||||
device = zwave.get_device(node=node, values=values, node_config={})
|
||||
|
||||
assert not device.is_on
|
||||
|
||||
|
||||
Reference in new issue
Block a user