Clean up Z-Wave pt2 (#20842)

This commit is contained in:
Paulus Schoutsen 2019-02-07 17:27:31 -08:00 committed by GitHub
parent 5f76628665
commit 49bab574b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 141 additions and 145 deletions

View File

@ -3,8 +3,7 @@ import datetime
from unittest.mock import patch from unittest.mock import patch
from homeassistant.components.zwave import const from homeassistant.components.zwave import const, binary_sensor
import homeassistant.components.zwave.binary_sensor as zwave
from tests.mock.zwave import ( from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed) MockNode, MockValue, MockEntityValues, value_changed)
@ -16,7 +15,7 @@ def test_get_device_detects_none(mock_openzwave):
value = MockValue(data=False, node=node) value = MockValue(data=False, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = binary_sensor.get_device(node=node, values=values, node_config={})
assert device is None assert device is None
@ -27,8 +26,8 @@ def test_get_device_detects_trigger_sensor(mock_openzwave):
value = MockValue(data=False, node=node) value = MockValue(data=False, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = binary_sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveTriggerSensor) assert isinstance(device, binary_sensor.ZWaveTriggerSensor)
assert device.device_class == "motion" assert device.device_class == "motion"
@ -39,8 +38,8 @@ def test_get_device_detects_workaround_sensor(mock_openzwave):
command_class=const.COMMAND_CLASS_SENSOR_ALARM) command_class=const.COMMAND_CLASS_SENSOR_ALARM)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = binary_sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveBinarySensor) assert isinstance(device, binary_sensor.ZWaveBinarySensor)
def test_get_device_detects_sensor(mock_openzwave): def test_get_device_detects_sensor(mock_openzwave):
@ -50,8 +49,8 @@ def test_get_device_detects_sensor(mock_openzwave):
command_class=const.COMMAND_CLASS_SENSOR_BINARY) command_class=const.COMMAND_CLASS_SENSOR_BINARY)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = binary_sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveBinarySensor) assert isinstance(device, binary_sensor.ZWaveBinarySensor)
def test_binary_sensor_value_changed(mock_openzwave): def test_binary_sensor_value_changed(mock_openzwave):
@ -60,7 +59,7 @@ def test_binary_sensor_value_changed(mock_openzwave):
value = MockValue(data=False, node=node, value = MockValue(data=False, node=node,
command_class=const.COMMAND_CLASS_SENSOR_BINARY) command_class=const.COMMAND_CLASS_SENSOR_BINARY)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = binary_sensor.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on
@ -77,7 +76,7 @@ async def test_trigger_sensor_value_changed(hass, mock_openzwave):
value = MockValue(data=False, node=node) value = MockValue(data=False, node=node)
value_off_delay = MockValue(data=15, node=node) value_off_delay = MockValue(data=15, node=node)
values = MockEntityValues(primary=value, off_delay=value_off_delay) values = MockEntityValues(primary=value, off_delay=value_off_delay)
device = zwave.get_device(node=node, values=values, node_config={}) device = binary_sensor.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on

View File

@ -2,7 +2,7 @@
import pytest import pytest
from homeassistant.components.climate import STATE_COOL, STATE_HEAT from homeassistant.components.climate import STATE_COOL, STATE_HEAT
import homeassistant.components.zwave.climate as zwave from homeassistant.components.zwave import climate
from homeassistant.const import ( from homeassistant.const import (
STATE_OFF, TEMP_CELSIUS, TEMP_FAHRENHEIT, ATTR_TEMPERATURE) STATE_OFF, TEMP_CELSIUS, TEMP_FAHRENHEIT, ATTR_TEMPERATURE)
@ -22,7 +22,7 @@ def device(hass, mock_openzwave):
operating_state=MockValue(data=6, node=node), operating_state=MockValue(data=6, node=node),
fan_state=MockValue(data=7, node=node), fan_state=MockValue(data=7, node=node),
) )
device = zwave.get_device(hass, node=node, values=values, node_config={}) device = climate.get_device(hass, node=node, values=values, node_config={})
yield device yield device
@ -42,7 +42,7 @@ def device_zxt_120(hass, mock_openzwave):
zxt_120_swing_mode=MockValue( zxt_120_swing_mode=MockValue(
data='test3', data_items=[6, 7, 8], node=node), data='test3', data_items=[6, 7, 8], node=node),
) )
device = zwave.get_device(hass, node=node, values=values, node_config={}) device = climate.get_device(hass, node=node, values=values, node_config={})
yield device yield device
@ -60,7 +60,7 @@ def device_mapping(hass, mock_openzwave):
operating_state=MockValue(data=6, node=node), operating_state=MockValue(data=6, node=node),
fan_state=MockValue(data=7, node=node), fan_state=MockValue(data=7, node=node),
) )
device = zwave.get_device(hass, node=node, values=values, node_config={}) device = climate.get_device(hass, node=node, values=values, node_config={})
yield device yield device
@ -196,15 +196,15 @@ def test_fan_mode_value_changed(device):
def test_operating_state_value_changed(device): def test_operating_state_value_changed(device):
"""Test values changed for climate device.""" """Test values changed for climate device."""
assert device.device_state_attributes[zwave.ATTR_OPERATING_STATE] == 6 assert device.device_state_attributes[climate.ATTR_OPERATING_STATE] == 6
device.values.operating_state.data = 8 device.values.operating_state.data = 8
value_changed(device.values.operating_state) value_changed(device.values.operating_state)
assert device.device_state_attributes[zwave.ATTR_OPERATING_STATE] == 8 assert device.device_state_attributes[climate.ATTR_OPERATING_STATE] == 8
def test_fan_state_value_changed(device): def test_fan_state_value_changed(device):
"""Test values changed for climate device.""" """Test values changed for climate device."""
assert device.device_state_attributes[zwave.ATTR_FAN_STATE] == 7 assert device.device_state_attributes[climate.ATTR_FAN_STATE] == 7
device.values.fan_state.data = 9 device.values.fan_state.data = 9
value_changed(device.values.fan_state) value_changed(device.values.fan_state)
assert device.device_state_attributes[zwave.ATTR_FAN_STATE] == 9 assert device.device_state_attributes[climate.ATTR_FAN_STATE] == 9

View File

@ -2,8 +2,8 @@
from unittest.mock import MagicMock from unittest.mock import MagicMock
from homeassistant.components.cover import SUPPORT_OPEN, SUPPORT_CLOSE from homeassistant.components.cover import SUPPORT_OPEN, SUPPORT_CLOSE
import homeassistant.components.zwave.cover as zwave from homeassistant.components.zwave import (
from homeassistant.components.zwave import const const, cover, CONF_INVERT_OPENCLOSE_BUTTONS)
from tests.mock.zwave import ( from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed) MockNode, MockValue, MockEntityValues, value_changed)
@ -15,22 +15,22 @@ def test_get_device_detects_none(hass, mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert device is None assert device is None
def test_get_device_detects_rollershutter(hass, mock_openzwave): def test_get_device_detects_rollershutter(hass, mock_openzwave):
"""Test device returns rollershutter.""" """Test device returns rollershutter."""
hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node, value = MockValue(data=0, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
values = MockEntityValues(primary=value, open=None, close=None, node=node) values = MockEntityValues(primary=value, open=None, close=None, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert isinstance(device, zwave.ZwaveRollershutter) assert isinstance(device, cover.ZwaveRollershutter)
def test_get_device_detects_garagedoor_switch(hass, mock_openzwave): def test_get_device_detects_garagedoor_switch(hass, mock_openzwave):
@ -40,9 +40,9 @@ def test_get_device_detects_garagedoor_switch(hass, mock_openzwave):
command_class=const.COMMAND_CLASS_SWITCH_BINARY) command_class=const.COMMAND_CLASS_SWITCH_BINARY)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert isinstance(device, zwave.ZwaveGarageDoorSwitch) assert isinstance(device, cover.ZwaveGarageDoorSwitch)
assert device.device_class == "garage" assert device.device_class == "garage"
assert device.supported_features == SUPPORT_OPEN | SUPPORT_CLOSE assert device.supported_features == SUPPORT_OPEN | SUPPORT_CLOSE
@ -54,21 +54,21 @@ def test_get_device_detects_garagedoor_barrier(hass, mock_openzwave):
command_class=const.COMMAND_CLASS_BARRIER_OPERATOR) command_class=const.COMMAND_CLASS_BARRIER_OPERATOR)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert isinstance(device, zwave.ZwaveGarageDoorBarrier) assert isinstance(device, cover.ZwaveGarageDoorBarrier)
assert device.device_class == "garage" assert device.device_class == "garage"
assert device.supported_features == SUPPORT_OPEN | SUPPORT_CLOSE assert device.supported_features == SUPPORT_OPEN | SUPPORT_CLOSE
def test_roller_no_position_workaround(hass, mock_openzwave): def test_roller_no_position_workaround(hass, mock_openzwave):
"""Test position changed.""" """Test position changed."""
hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode(manufacturer_id='0047', product_type='5a52') node = MockNode(manufacturer_id='0047', product_type='5a52')
value = MockValue(data=45, node=node, value = MockValue(data=45, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
values = MockEntityValues(primary=value, open=None, close=None, node=node) values = MockEntityValues(primary=value, open=None, close=None, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert device.current_cover_position is None assert device.current_cover_position is None
@ -76,12 +76,12 @@ def test_roller_no_position_workaround(hass, mock_openzwave):
def test_roller_value_changed(hass, mock_openzwave): def test_roller_value_changed(hass, mock_openzwave):
"""Test position changed.""" """Test position changed."""
hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode() node = MockNode()
value = MockValue(data=None, node=node, value = MockValue(data=None, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
values = MockEntityValues(primary=value, open=None, close=None, node=node) values = MockEntityValues(primary=value, open=None, close=None, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert device.current_cover_position is None assert device.current_cover_position is None
@ -108,7 +108,7 @@ def test_roller_value_changed(hass, mock_openzwave):
def test_roller_commands(hass, mock_openzwave): def test_roller_commands(hass, mock_openzwave):
"""Test position changed.""" """Test position changed."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode() node = MockNode()
value = MockValue(data=50, node=node, value = MockValue(data=50, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
@ -116,7 +116,7 @@ def test_roller_commands(hass, mock_openzwave):
close_value = MockValue(data=False, node=node) close_value = MockValue(data=False, node=node)
values = MockEntityValues(primary=value, open=open_value, values = MockEntityValues(primary=value, open=open_value,
close=close_value, node=node) close=close_value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
device.set_cover_position(position=25) device.set_cover_position(position=25)
@ -143,7 +143,7 @@ def test_roller_commands(hass, mock_openzwave):
def test_roller_reverse_open_close(hass, mock_openzwave): def test_roller_reverse_open_close(hass, mock_openzwave):
"""Test position changed.""" """Test position changed."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode() node = MockNode()
value = MockValue(data=50, node=node, value = MockValue(data=50, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
@ -151,11 +151,11 @@ def test_roller_reverse_open_close(hass, mock_openzwave):
close_value = MockValue(data=False, node=node) close_value = MockValue(data=False, node=node)
values = MockEntityValues(primary=value, open=open_value, values = MockEntityValues(primary=value, open=open_value,
close=close_value, node=node) close=close_value, node=node)
device = zwave.get_device( device = cover.get_device(
hass=hass, hass=hass,
node=node, node=node,
values=values, values=values,
node_config={zwave.zwave.CONF_INVERT_OPENCLOSE_BUTTONS: True}) node_config={CONF_INVERT_OPENCLOSE_BUTTONS: True})
device.open_cover() device.open_cover()
assert mock_network.manager.pressButton.called assert mock_network.manager.pressButton.called
@ -179,7 +179,7 @@ def test_switch_garage_value_changed(hass, mock_openzwave):
value = MockValue(data=False, node=node, value = MockValue(data=False, node=node,
command_class=const.COMMAND_CLASS_SWITCH_BINARY) command_class=const.COMMAND_CLASS_SWITCH_BINARY)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert device.is_closed assert device.is_closed
@ -195,7 +195,7 @@ def test_switch_garage_commands(hass, mock_openzwave):
value = MockValue(data=False, node=node, value = MockValue(data=False, node=node,
command_class=const.COMMAND_CLASS_SWITCH_BINARY) command_class=const.COMMAND_CLASS_SWITCH_BINARY)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert value.data is False assert value.data is False
@ -211,7 +211,7 @@ def test_barrier_garage_value_changed(hass, mock_openzwave):
value = MockValue(data="Closed", node=node, value = MockValue(data="Closed", node=node,
command_class=const.COMMAND_CLASS_BARRIER_OPERATOR) command_class=const.COMMAND_CLASS_BARRIER_OPERATOR)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert device.is_closed assert device.is_closed
@ -243,7 +243,7 @@ def test_barrier_garage_commands(hass, mock_openzwave):
value = MockValue(data="Closed", node=node, value = MockValue(data="Closed", node=node,
command_class=const.COMMAND_CLASS_BARRIER_OPERATOR) command_class=const.COMMAND_CLASS_BARRIER_OPERATOR)
values = MockEntityValues(primary=value, node=node) values = MockEntityValues(primary=value, node=node)
device = zwave.get_device(hass=hass, node=node, values=values, device = cover.get_device(hass=hass, node=node, values=values,
node_config={}) node_config={})
assert value.data == "Closed" assert value.data == "Closed"

View File

@ -1,5 +1,5 @@
"""Test Z-Wave fans.""" """Test Z-Wave fans."""
import homeassistant.components.zwave.fan as zwave from homeassistant.components.zwave import fan
from homeassistant.components.fan import ( from homeassistant.components.fan import (
SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH, SUPPORT_SET_SPEED) SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH, SUPPORT_SET_SPEED)
@ -13,8 +13,8 @@ def test_get_device_detects_fan(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = fan.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveFan) assert isinstance(device, fan.ZwaveFan)
assert device.supported_features == SUPPORT_SET_SPEED assert device.supported_features == SUPPORT_SET_SPEED
assert device.speed_list == [ assert device.speed_list == [
SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH] SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH]
@ -25,7 +25,7 @@ def test_fan_turn_on(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = fan.get_device(node=node, values=values, node_config={})
device.turn_on() device.turn_on()
@ -80,7 +80,7 @@ def test_fan_turn_off(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=46, node=node) value = MockValue(data=46, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = fan.get_device(node=node, values=values, node_config={})
device.turn_off() device.turn_off()
@ -95,7 +95,7 @@ def test_fan_value_changed(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = fan.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on

View File

@ -1,9 +1,8 @@
"""Test Z-Wave lights.""" """Test Z-Wave lights."""
from unittest.mock import patch, MagicMock from unittest.mock import patch, MagicMock
import homeassistant.components.zwave from homeassistant.components import zwave
from homeassistant.components.zwave import const from homeassistant.components.zwave import const, light
import homeassistant.components.zwave.light as zwave
from homeassistant.components.light import ( from homeassistant.components.light import (
ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_HS_COLOR, ATTR_TRANSITION, ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_HS_COLOR, ATTR_TRANSITION,
SUPPORT_BRIGHTNESS, SUPPORT_TRANSITION, SUPPORT_COLOR, ATTR_WHITE_VALUE, SUPPORT_BRIGHTNESS, SUPPORT_TRANSITION, SUPPORT_COLOR, ATTR_WHITE_VALUE,
@ -30,8 +29,8 @@ def test_get_device_detects_dimmer(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveDimmer) assert isinstance(device, light.ZwaveDimmer)
assert device.supported_features == SUPPORT_BRIGHTNESS assert device.supported_features == SUPPORT_BRIGHTNESS
@ -41,8 +40,8 @@ def test_get_device_detects_colorlight(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveColorLight) assert isinstance(device, light.ZwaveColorLight)
assert device.supported_features == SUPPORT_BRIGHTNESS | SUPPORT_COLOR assert device.supported_features == SUPPORT_BRIGHTNESS | SUPPORT_COLOR
@ -52,8 +51,8 @@ def test_get_device_detects_zw098(mock_openzwave):
command_classes=[const.COMMAND_CLASS_SWITCH_COLOR]) command_classes=[const.COMMAND_CLASS_SWITCH_COLOR])
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveColorLight) assert isinstance(device, light.ZwaveColorLight)
assert device.supported_features == ( assert device.supported_features == (
SUPPORT_BRIGHTNESS | SUPPORT_COLOR | SUPPORT_COLOR_TEMP) SUPPORT_BRIGHTNESS | SUPPORT_COLOR | SUPPORT_COLOR_TEMP)
@ -67,9 +66,9 @@ def test_get_device_detects_rgbw_light(mock_openzwave):
values = MockLightValues( values = MockLightValues(
primary=value, color=color, color_channels=color_channels) primary=value, color=color, color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
device.value_added() device.value_added()
assert isinstance(device, zwave.ZwaveColorLight) assert isinstance(device, light.ZwaveColorLight)
assert device.supported_features == ( assert device.supported_features == (
SUPPORT_BRIGHTNESS | SUPPORT_COLOR | SUPPORT_WHITE_VALUE) SUPPORT_BRIGHTNESS | SUPPORT_COLOR | SUPPORT_WHITE_VALUE)
@ -79,7 +78,7 @@ def test_dimmer_turn_on(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
device.turn_on() device.turn_on()
@ -98,7 +97,7 @@ def test_dimmer_turn_on(mock_openzwave):
assert value_id == value.value_id assert value_id == value.value_id
assert brightness == 46 # int(120 / 255 * 99) assert brightness == 46 # int(120 / 255 * 99)
with patch.object(zwave, '_LOGGER', MagicMock()) as mock_logger: with patch.object(light, '_LOGGER', MagicMock()) as mock_logger:
device.turn_on(**{ATTR_TRANSITION: 35}) device.turn_on(**{ATTR_TRANSITION: 35})
assert mock_logger.debug.called assert mock_logger.debug.called
assert node.set_dimmer.called assert node.set_dimmer.called
@ -111,7 +110,7 @@ def test_dimmer_min_brightness(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on
@ -132,7 +131,7 @@ def test_dimmer_transitions(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
duration = MockValue(data=0, node=node) duration = MockValue(data=0, node=node)
values = MockLightValues(primary=value, dimming_duration=duration) values = MockLightValues(primary=value, dimming_duration=duration)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.supported_features == SUPPORT_BRIGHTNESS | SUPPORT_TRANSITION assert device.supported_features == SUPPORT_BRIGHTNESS | SUPPORT_TRANSITION
# Test turn_on # Test turn_on
@ -175,7 +174,7 @@ def test_dimmer_turn_off(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=46, node=node) value = MockValue(data=46, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
device.turn_off() device.turn_off()
@ -190,7 +189,7 @@ def test_dimmer_value_changed(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on
@ -206,14 +205,14 @@ def test_dimmer_refresh_value(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={ device = light.get_device(node=node, values=values, node_config={
homeassistant.components.zwave.CONF_REFRESH_VALUE: True, zwave.CONF_REFRESH_VALUE: True,
homeassistant.components.zwave.CONF_REFRESH_DELAY: 5, zwave.CONF_REFRESH_DELAY: 5,
}) })
assert not device.is_on assert not device.is_on
with patch.object(zwave, 'Timer', MagicMock()) as mock_timer: with patch.object(light, 'Timer', MagicMock()) as mock_timer:
value.data = 46 value.data = 46
value_changed(value) value_changed(value)
@ -225,7 +224,7 @@ def test_dimmer_refresh_value(mock_openzwave):
assert mock_timer().start.called assert mock_timer().start.called
assert len(mock_timer().start.mock_calls) == 1 assert len(mock_timer().start.mock_calls) == 1
with patch.object(zwave, 'Timer', MagicMock()) as mock_timer_2: with patch.object(light, 'Timer', MagicMock()) as mock_timer_2:
value_changed(value) value_changed(value)
assert not device.is_on assert not device.is_on
assert mock_timer().cancel.called assert mock_timer().cancel.called
@ -249,7 +248,7 @@ def test_set_hs_color(mock_openzwave):
color_channels = MockValue(data=0x1c, node=node) color_channels = MockValue(data=0x1c, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert color.data == '#0000000000' assert color.data == '#0000000000'
@ -267,7 +266,7 @@ def test_set_white_value(mock_openzwave):
color_channels = MockValue(data=0x1d, node=node) color_channels = MockValue(data=0x1d, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert color.data == '#0000000000' assert color.data == '#0000000000'
@ -290,7 +289,7 @@ def test_disable_white_if_set_color(mock_openzwave):
color_channels = MockValue(data=0x1c, node=node) color_channels = MockValue(data=0x1c, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
device._white = 234 device._white = 234
assert color.data == '#0000000000' assert color.data == '#0000000000'
@ -312,7 +311,7 @@ def test_zw098_set_color_temp(mock_openzwave):
color_channels = MockValue(data=0x1f, node=node) color_channels = MockValue(data=0x1f, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert color.data == '#0000000000' assert color.data == '#0000000000'
@ -334,7 +333,7 @@ def test_rgb_not_supported(mock_openzwave):
color_channels = MockValue(data=0x01, node=node) color_channels = MockValue(data=0x01, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.hs_color is None assert device.hs_color is None
@ -344,7 +343,7 @@ def test_no_color_value(mock_openzwave):
node = MockNode(command_classes=[const.COMMAND_CLASS_SWITCH_COLOR]) node = MockNode(command_classes=[const.COMMAND_CLASS_SWITCH_COLOR])
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockLightValues(primary=value) values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.hs_color is None assert device.hs_color is None
@ -355,7 +354,7 @@ def test_no_color_channels_value(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
color = MockValue(data='#0000000000', node=node) color = MockValue(data='#0000000000', node=node)
values = MockLightValues(primary=value, color=color) values = MockLightValues(primary=value, color=color)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.hs_color is None assert device.hs_color is None
@ -369,7 +368,7 @@ def test_rgb_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1c, node=node) color_channels = MockValue(data=0x1c, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.hs_color == (0, 0) assert device.hs_color == (0, 0)
@ -388,7 +387,7 @@ def test_rgbww_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1d, node=node) color_channels = MockValue(data=0x1d, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.hs_color == (0, 0) assert device.hs_color == (0, 0)
assert device.white_value == 0 assert device.white_value == 0
@ -409,7 +408,7 @@ def test_rgbcw_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1e, node=node) color_channels = MockValue(data=0x1e, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.hs_color == (0, 0) assert device.hs_color == (0, 0)
assert device.white_value == 0 assert device.white_value == 0
@ -431,16 +430,16 @@ def test_ct_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1f, node=node) color_channels = MockValue(data=0x1f, node=node)
values = MockLightValues(primary=value, color=color, values = MockLightValues(primary=value, color=color,
color_channels=color_channels) color_channels=color_channels)
device = zwave.get_device(node=node, values=values, node_config={}) device = light.get_device(node=node, values=values, node_config={})
assert device.color_temp == zwave.TEMP_MID_HASS assert device.color_temp == light.TEMP_MID_HASS
color.data = '#000000ff00' color.data = '#000000ff00'
value_changed(color) value_changed(color)
assert device.color_temp == zwave.TEMP_WARM_HASS assert device.color_temp == light.TEMP_WARM_HASS
color.data = '#00000000ff' color.data = '#00000000ff'
value_changed(color) value_changed(color)
assert device.color_temp == zwave.TEMP_COLD_HASS assert device.color_temp == light.TEMP_COLD_HASS

View File

@ -2,8 +2,7 @@
from unittest.mock import patch, MagicMock from unittest.mock import patch, MagicMock
from homeassistant import config_entries from homeassistant import config_entries
import homeassistant.components.zwave.lock as zwave from homeassistant.components.zwave import const, lock
from homeassistant.components.zwave import const
from tests.mock.zwave import ( from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed) MockNode, MockValue, MockEntityValues, value_changed)
@ -19,8 +18,8 @@ def test_get_device_detects_lock(mock_openzwave):
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveLock) assert isinstance(device, lock.ZwaveLock)
def test_lock_turn_on_and_off(mock_openzwave): def test_lock_turn_on_and_off(mock_openzwave):
@ -32,7 +31,7 @@ def test_lock_turn_on_and_off(mock_openzwave):
alarm_type=None, alarm_type=None,
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert not values.primary.data assert not values.primary.data
@ -52,7 +51,7 @@ def test_lock_value_changed(mock_openzwave):
alarm_type=None, alarm_type=None,
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert not device.is_locked assert not device.is_locked
@ -71,7 +70,7 @@ def test_lock_state_workaround(mock_openzwave):
alarm_type=None, alarm_type=None,
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values) device = lock.get_device(node=node, values=values)
assert device.is_locked assert device.is_locked
values.access_control.data = 2 values.access_control.data = 2
value_changed(values.access_control) value_changed(values.access_control)
@ -89,15 +88,15 @@ def test_track_message_workaround(mock_openzwave):
alarm_level=None, alarm_level=None,
) )
# Here we simulate an RF lock. The first zwave.get_device will call # Here we simulate an RF lock. The first lock.get_device will call
# update properties, simulating the first DoorLock report. We then trigger # update properties, simulating the first DoorLock report. We then trigger
# a change, simulating the openzwave automatic refreshing behavior (which # a change, simulating the openzwave automatic refreshing behavior (which
# is enabled for at least the lock that needs this workaround) # is enabled for at least the lock that needs this workaround)
node.stats['lastReceivedMessage'][5] = const.COMMAND_CLASS_DOOR_LOCK node.stats['lastReceivedMessage'][5] = const.COMMAND_CLASS_DOOR_LOCK
device = zwave.get_device(node=node, values=values) device = lock.get_device(node=node, values=values)
value_changed(values.primary) value_changed(values.primary)
assert device.is_locked assert device.is_locked
assert device.device_state_attributes[zwave.ATTR_NOTIFICATION] == 'RF Lock' assert device.device_state_attributes[lock.ATTR_NOTIFICATION] == 'RF Lock'
# Simulate a keypad unlock. We trigger a value_changed() which simulates # Simulate a keypad unlock. We trigger a value_changed() which simulates
# the Alarm notification received from the lock. Then, we trigger # the Alarm notification received from the lock. Then, we trigger
@ -111,7 +110,7 @@ def test_track_message_workaround(mock_openzwave):
values.primary.data = False values.primary.data = False
value_changed(values.primary) value_changed(values.primary)
assert not device.is_locked assert not device.is_locked
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Unlocked with Keypad by user 3' 'Unlocked with Keypad by user 3'
# Again, simulate an RF lock. # Again, simulate an RF lock.
@ -119,7 +118,7 @@ def test_track_message_workaround(mock_openzwave):
node.stats['lastReceivedMessage'][5] = const.COMMAND_CLASS_DOOR_LOCK node.stats['lastReceivedMessage'][5] = const.COMMAND_CLASS_DOOR_LOCK
value_changed(values.primary) value_changed(values.primary)
assert device.is_locked assert device.is_locked
assert device.device_state_attributes[zwave.ATTR_NOTIFICATION] == 'RF Lock' assert device.device_state_attributes[lock.ATTR_NOTIFICATION] == 'RF Lock'
def test_v2btze_value_changed(mock_openzwave): def test_v2btze_value_changed(mock_openzwave):
@ -132,7 +131,7 @@ def test_v2btze_value_changed(mock_openzwave):
alarm_type=None, alarm_type=None,
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert device._v2btze assert device._v2btze
assert not device.is_locked assert not device.is_locked
@ -152,7 +151,7 @@ def test_alarm_type_workaround(mock_openzwave):
alarm_type=MockValue(data=16, node=node), alarm_type=MockValue(data=16, node=node),
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values) device = lock.get_device(node=node, values=values)
assert not device.is_locked assert not device.is_locked
values.alarm_type.data = 18 values.alarm_type.data = 18
@ -193,9 +192,9 @@ def test_lock_access_control(mock_openzwave):
alarm_type=None, alarm_type=None,
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert device.device_state_attributes[zwave.ATTR_NOTIFICATION] == \ assert device.device_state_attributes[lock.ATTR_NOTIFICATION] == \
'Lock Jammed' 'Lock Jammed'
@ -208,28 +207,28 @@ def test_lock_alarm_type(mock_openzwave):
alarm_type=MockValue(data=None, node=node), alarm_type=MockValue(data=None, node=node),
alarm_level=None, alarm_level=None,
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert zwave.ATTR_LOCK_STATUS not in device.device_state_attributes assert lock.ATTR_LOCK_STATUS not in device.device_state_attributes
values.alarm_type.data = 21 values.alarm_type.data = 21
value_changed(values.alarm_type) value_changed(values.alarm_type)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Manually Locked None' 'Manually Locked None'
values.alarm_type.data = 18 values.alarm_type.data = 18
value_changed(values.alarm_type) value_changed(values.alarm_type)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Locked with Keypad by user None' 'Locked with Keypad by user None'
values.alarm_type.data = 161 values.alarm_type.data = 161
value_changed(values.alarm_type) value_changed(values.alarm_type)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Tamper Alarm: None' 'Tamper Alarm: None'
values.alarm_type.data = 9 values.alarm_type.data = 9
value_changed(values.alarm_type) value_changed(values.alarm_type)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Deadbolt Jammed' 'Deadbolt Jammed'
@ -242,29 +241,29 @@ def test_lock_alarm_level(mock_openzwave):
alarm_type=MockValue(data=None, node=node), alarm_type=MockValue(data=None, node=node),
alarm_level=MockValue(data=None, node=node), alarm_level=MockValue(data=None, node=node),
) )
device = zwave.get_device(node=node, values=values, node_config={}) device = lock.get_device(node=node, values=values, node_config={})
assert zwave.ATTR_LOCK_STATUS not in device.device_state_attributes assert lock.ATTR_LOCK_STATUS not in device.device_state_attributes
values.alarm_type.data = 21 values.alarm_type.data = 21
values.alarm_level.data = 1 values.alarm_level.data = 1
value_changed(values.alarm_type) value_changed(values.alarm_type)
value_changed(values.alarm_level) value_changed(values.alarm_level)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Manually Locked by Key Cylinder or Inside thumb turn' 'Manually Locked by Key Cylinder or Inside thumb turn'
values.alarm_type.data = 18 values.alarm_type.data = 18
values.alarm_level.data = 'alice' values.alarm_level.data = 'alice'
value_changed(values.alarm_type) value_changed(values.alarm_type)
value_changed(values.alarm_level) value_changed(values.alarm_level)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Locked with Keypad by user alice' 'Locked with Keypad by user alice'
values.alarm_type.data = 161 values.alarm_type.data = 161
values.alarm_level.data = 1 values.alarm_level.data = 1
value_changed(values.alarm_type) value_changed(values.alarm_type)
value_changed(values.alarm_level) value_changed(values.alarm_level)
assert device.device_state_attributes[zwave.ATTR_LOCK_STATUS] == \ assert device.device_state_attributes[lock.ATTR_LOCK_STATUS] == \
'Tamper Alarm: Too many keypresses' 'Tamper Alarm: Too many keypresses'
@ -282,7 +281,7 @@ async def setup_ozw(hass, mock_openzwave):
async def test_lock_set_usercode_service(hass, mock_openzwave): async def test_lock_set_usercode_service(hass, mock_openzwave):
"""Test the zwave lock set_usercode service.""" """Test the zwave lock set_usercode service."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode(node_id=12) node = MockNode(node_id=12)
value0 = MockValue(data=' ', node=node, index=0) value0 = MockValue(data=' ', node=node, index=0)
@ -301,10 +300,10 @@ async def test_lock_set_usercode_service(hass, mock_openzwave):
await hass.async_block_till_done() await hass.async_block_till_done()
await hass.services.async_call( await hass.services.async_call(
zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, { lock.DOMAIN, lock.SERVICE_SET_USERCODE, {
const.ATTR_NODE_ID: node.node_id, const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_USERCODE: '1234', lock.ATTR_USERCODE: '1234',
zwave.ATTR_CODE_SLOT: 1, lock.ATTR_CODE_SLOT: 1,
}) })
await hass.async_block_till_done() await hass.async_block_till_done()
@ -314,10 +313,10 @@ async def test_lock_set_usercode_service(hass, mock_openzwave):
node.node_id: node node.node_id: node
} }
await hass.services.async_call( await hass.services.async_call(
zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, { lock.DOMAIN, lock.SERVICE_SET_USERCODE, {
const.ATTR_NODE_ID: node.node_id, const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_USERCODE: '123', lock.ATTR_USERCODE: '123',
zwave.ATTR_CODE_SLOT: 1, lock.ATTR_CODE_SLOT: 1,
}) })
await hass.async_block_till_done() await hass.async_block_till_done()
@ -326,7 +325,7 @@ async def test_lock_set_usercode_service(hass, mock_openzwave):
async def test_lock_get_usercode_service(hass, mock_openzwave): async def test_lock_get_usercode_service(hass, mock_openzwave):
"""Test the zwave lock get_usercode service.""" """Test the zwave lock get_usercode service."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode(node_id=12) node = MockNode(node_id=12)
value0 = MockValue(data=None, node=node, index=0) value0 = MockValue(data=None, node=node, index=0)
value1 = MockValue(data='1234', node=node, index=1) value1 = MockValue(data='1234', node=node, index=1)
@ -339,12 +338,12 @@ async def test_lock_get_usercode_service(hass, mock_openzwave):
await setup_ozw(hass, mock_openzwave) await setup_ozw(hass, mock_openzwave)
await hass.async_block_till_done() await hass.async_block_till_done()
with patch.object(zwave, '_LOGGER') as mock_logger: with patch.object(lock, '_LOGGER') as mock_logger:
mock_network.nodes = {node.node_id: node} mock_network.nodes = {node.node_id: node}
await hass.services.async_call( await hass.services.async_call(
zwave.DOMAIN, zwave.SERVICE_GET_USERCODE, { lock.DOMAIN, lock.SERVICE_GET_USERCODE, {
const.ATTR_NODE_ID: node.node_id, const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_CODE_SLOT: 1, lock.ATTR_CODE_SLOT: 1,
}) })
await hass.async_block_till_done() await hass.async_block_till_done()
# This service only seems to write to the log # This service only seems to write to the log
@ -355,7 +354,7 @@ async def test_lock_get_usercode_service(hass, mock_openzwave):
async def test_lock_clear_usercode_service(hass, mock_openzwave): async def test_lock_clear_usercode_service(hass, mock_openzwave):
"""Test the zwave lock clear_usercode service.""" """Test the zwave lock clear_usercode service."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode(node_id=12) node = MockNode(node_id=12)
value0 = MockValue(data=None, node=node, index=0) value0 = MockValue(data=None, node=node, index=0)
value1 = MockValue(data='123', node=node, index=1) value1 = MockValue(data='123', node=node, index=1)
@ -373,9 +372,9 @@ async def test_lock_clear_usercode_service(hass, mock_openzwave):
await hass.async_block_till_done() await hass.async_block_till_done()
await hass.services.async_call( await hass.services.async_call(
zwave.DOMAIN, zwave.SERVICE_CLEAR_USERCODE, { lock.DOMAIN, lock.SERVICE_CLEAR_USERCODE, {
const.ATTR_NODE_ID: node.node_id, const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_CODE_SLOT: 1 lock.ATTR_CODE_SLOT: 1
}) })
await hass.async_block_till_done() await hass.async_block_till_done()

View File

@ -1,6 +1,5 @@
"""Test Z-Wave sensor.""" """Test Z-Wave sensor."""
import homeassistant.components.zwave.sensor as zwave from homeassistant.components.zwave import const, sensor
from homeassistant.components.zwave import const
import homeassistant.const import homeassistant.const
from tests.mock.zwave import ( from tests.mock.zwave import (
@ -13,7 +12,7 @@ def test_get_device_detects_none(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert device is None assert device is None
@ -24,8 +23,8 @@ def test_get_device_detects_alarmsensor(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveAlarmSensor) assert isinstance(device, sensor.ZWaveAlarmSensor)
def test_get_device_detects_multilevelsensor(mock_openzwave): def test_get_device_detects_multilevelsensor(mock_openzwave):
@ -35,8 +34,8 @@ def test_get_device_detects_multilevelsensor(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveMultilevelSensor) assert isinstance(device, sensor.ZWaveMultilevelSensor)
assert device.force_update assert device.force_update
@ -46,8 +45,8 @@ def test_get_device_detects_multilevel_meter(mock_openzwave):
value = MockValue(data=0, node=node, type=const.TYPE_DECIMAL) value = MockValue(data=0, node=node, type=const.TYPE_DECIMAL)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveMultilevelSensor) assert isinstance(device, sensor.ZWaveMultilevelSensor)
def test_multilevelsensor_value_changed_temp_fahrenheit(mock_openzwave): def test_multilevelsensor_value_changed_temp_fahrenheit(mock_openzwave):
@ -57,7 +56,7 @@ def test_multilevelsensor_value_changed_temp_fahrenheit(mock_openzwave):
value = MockValue(data=190.95555, units='F', node=node) value = MockValue(data=190.95555, units='F', node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert device.state == 191.0 assert device.state == 191.0
assert device.unit_of_measurement == homeassistant.const.TEMP_FAHRENHEIT assert device.unit_of_measurement == homeassistant.const.TEMP_FAHRENHEIT
value.data = 197.95555 value.data = 197.95555
@ -72,7 +71,7 @@ def test_multilevelsensor_value_changed_temp_celsius(mock_openzwave):
value = MockValue(data=38.85555, units='C', node=node) value = MockValue(data=38.85555, units='C', node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert device.state == 38.9 assert device.state == 38.9
assert device.unit_of_measurement == homeassistant.const.TEMP_CELSIUS assert device.unit_of_measurement == homeassistant.const.TEMP_CELSIUS
value.data = 37.95555 value.data = 37.95555
@ -87,7 +86,7 @@ def test_multilevelsensor_value_changed_other_units(mock_openzwave):
value = MockValue(data=190.95555, units='kWh', node=node) value = MockValue(data=190.95555, units='kWh', node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert device.state == 190.96 assert device.state == 190.96
assert device.unit_of_measurement == 'kWh' assert device.unit_of_measurement == 'kWh'
value.data = 197.95555 value.data = 197.95555
@ -102,7 +101,7 @@ def test_multilevelsensor_value_changed_integer(mock_openzwave):
value = MockValue(data=5, units='counts', node=node) value = MockValue(data=5, units='counts', node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert device.state == 5 assert device.state == 5
assert device.unit_of_measurement == 'counts' assert device.unit_of_measurement == 'counts'
value.data = 6 value.data = 6
@ -117,7 +116,7 @@ def test_alarm_sensor_value_changed(mock_openzwave):
value = MockValue(data=12.34, node=node, units='%') value = MockValue(data=12.34, node=node, units='%')
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = sensor.get_device(node=node, values=values, node_config={})
assert device.state == 12.34 assert device.state == 12.34
assert device.unit_of_measurement == '%' assert device.unit_of_measurement == '%'
value.data = 45.67 value.data = 45.67

View File

@ -1,7 +1,7 @@
"""Test Z-Wave switches.""" """Test Z-Wave switches."""
from unittest.mock import patch from unittest.mock import patch
import homeassistant.components.zwave.switch as zwave from homeassistant.components.zwave import switch
from tests.mock.zwave import ( from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed) MockNode, MockValue, MockEntityValues, value_changed)
@ -13,8 +13,8 @@ def test_get_device_detects_switch(mock_openzwave):
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = switch.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveSwitch) assert isinstance(device, switch.ZwaveSwitch)
def test_switch_turn_on_and_off(mock_openzwave): def test_switch_turn_on_and_off(mock_openzwave):
@ -22,7 +22,7 @@ def test_switch_turn_on_and_off(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=0, node=node) value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = switch.get_device(node=node, values=values, node_config={})
device.turn_on() device.turn_on()
@ -45,7 +45,7 @@ def test_switch_value_changed(mock_openzwave):
node = MockNode() node = MockNode()
value = MockValue(data=False, node=node) value = MockValue(data=False, node=node)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = switch.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on
@ -63,7 +63,7 @@ def test_switch_refresh_on_update(mock_counter, mock_openzwave):
product_id='0005') product_id='0005')
value = MockValue(data=False, node=node, instance=1) value = MockValue(data=False, node=node, instance=1)
values = MockEntityValues(primary=value) values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={}) device = switch.get_device(node=node, values=values, node_config={})
assert not device.is_on assert not device.is_on