69 lines
2.6 KiB
Python
69 lines
2.6 KiB
Python
"""Test Z-Wave workarounds."""
|
|
from homeassistant.components.zwave import const, workaround
|
|
from tests.mock.zwave import MockNode, MockValue
|
|
|
|
|
|
def test_get_device_no_component_mapping():
|
|
"""Test that None is returned."""
|
|
node = MockNode(manufacturer_id=' ')
|
|
value = MockValue(data=0, node=node)
|
|
assert workaround.get_device_component_mapping(value) is None
|
|
|
|
|
|
def test_get_device_component_mapping():
|
|
"""Test that component is returned."""
|
|
node = MockNode(manufacturer_id='010f', product_type='0b00')
|
|
value = MockValue(data=0, node=node,
|
|
command_class=const.COMMAND_CLASS_SENSOR_ALARM)
|
|
assert workaround.get_device_component_mapping(value) == 'binary_sensor'
|
|
|
|
|
|
def test_get_device_component_mapping_mti():
|
|
"""Test that component is returned."""
|
|
# GE Fan controller
|
|
node = MockNode(manufacturer_id='0063', product_type='4944',
|
|
product_id='3034')
|
|
value = MockValue(data=0, node=node,
|
|
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
|
|
assert workaround.get_device_component_mapping(value) == 'fan'
|
|
|
|
# GE Dimmer
|
|
node = MockNode(manufacturer_id='0063', product_type='4944',
|
|
product_id='3031')
|
|
value = MockValue(data=0, node=node,
|
|
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
|
|
assert workaround.get_device_component_mapping(value) is None
|
|
|
|
|
|
def test_get_device_no_mapping():
|
|
"""Test that no device mapping is returned."""
|
|
node = MockNode(manufacturer_id=' ')
|
|
value = MockValue(data=0, node=node)
|
|
assert workaround.get_device_mapping(value) is None
|
|
|
|
|
|
def test_get_device_mapping_mt():
|
|
"""Test that device mapping mt is returned."""
|
|
node = MockNode(manufacturer_id='0047', product_type='5a52')
|
|
value = MockValue(data=0, node=node)
|
|
assert workaround.get_device_mapping(value) == 'workaround_no_position'
|
|
|
|
|
|
def test_get_device_mapping_mtii():
|
|
"""Test that device mapping mtii is returned."""
|
|
node = MockNode(manufacturer_id='013c', product_type='0002',
|
|
product_id='0002')
|
|
value = MockValue(data=0, node=node, index=0)
|
|
assert workaround.get_device_mapping(value) == 'trigger_no_off_event'
|
|
|
|
|
|
def test_get_device_mapping_mti_instance():
|
|
"""Test that device mapping mti_instance is returned."""
|
|
node = MockNode(manufacturer_id='013c', product_type='0001',
|
|
product_id='0005')
|
|
value = MockValue(data=0, node=node, instance=1)
|
|
assert workaround.get_device_mapping(value) == 'refresh_node_on_update'
|
|
|
|
value = MockValue(data=0, node=node, instance=2)
|
|
assert workaround.get_device_mapping(value) is None
|