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 homeassistant.components.zwave import const
import homeassistant.components.zwave.binary_sensor as zwave
from homeassistant.components.zwave import const, binary_sensor
from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed)
@ -16,7 +15,7 @@ def test_get_device_detects_none(mock_openzwave):
value = MockValue(data=False, node=node)
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
@ -27,8 +26,8 @@ def test_get_device_detects_trigger_sensor(mock_openzwave):
value = MockValue(data=False, node=node)
values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveTriggerSensor)
device = binary_sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, binary_sensor.ZWaveTriggerSensor)
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)
values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveBinarySensor)
device = binary_sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, binary_sensor.ZWaveBinarySensor)
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)
values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveBinarySensor)
device = binary_sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, binary_sensor.ZWaveBinarySensor)
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,
command_class=const.COMMAND_CLASS_SENSOR_BINARY)
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
@ -77,7 +76,7 @@ async def test_trigger_sensor_value_changed(hass, mock_openzwave):
value = MockValue(data=False, node=node)
value_off_delay = MockValue(data=15, node=node)
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

View File

@ -2,7 +2,7 @@
import pytest
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 (
STATE_OFF, TEMP_CELSIUS, TEMP_FAHRENHEIT, ATTR_TEMPERATURE)
@ -22,7 +22,7 @@ def device(hass, mock_openzwave):
operating_state=MockValue(data=6, 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
@ -42,7 +42,7 @@ def device_zxt_120(hass, mock_openzwave):
zxt_120_swing_mode=MockValue(
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
@ -60,7 +60,7 @@ def device_mapping(hass, mock_openzwave):
operating_state=MockValue(data=6, 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
@ -196,15 +196,15 @@ def test_fan_mode_value_changed(device):
def test_operating_state_value_changed(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
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):
"""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
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 homeassistant.components.cover import SUPPORT_OPEN, SUPPORT_CLOSE
import homeassistant.components.zwave.cover as zwave
from homeassistant.components.zwave import const
from homeassistant.components.zwave import (
const, cover, CONF_INVERT_OPENCLOSE_BUTTONS)
from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed)
@ -15,22 +15,22 @@ def test_get_device_detects_none(hass, mock_openzwave):
value = MockValue(data=0, 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={})
assert device is None
def test_get_device_detects_rollershutter(hass, mock_openzwave):
"""Test device returns rollershutter."""
hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode()
value = MockValue(data=0, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
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={})
assert isinstance(device, zwave.ZwaveRollershutter)
assert isinstance(device, cover.ZwaveRollershutter)
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)
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={})
assert isinstance(device, zwave.ZwaveGarageDoorSwitch)
assert isinstance(device, cover.ZwaveGarageDoorSwitch)
assert device.device_class == "garage"
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)
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={})
assert isinstance(device, zwave.ZwaveGarageDoorBarrier)
assert isinstance(device, cover.ZwaveGarageDoorBarrier)
assert device.device_class == "garage"
assert device.supported_features == SUPPORT_OPEN | SUPPORT_CLOSE
def test_roller_no_position_workaround(hass, mock_openzwave):
"""Test position changed."""
hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode(manufacturer_id='0047', product_type='5a52')
value = MockValue(data=45, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
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={})
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):
"""Test position changed."""
hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode()
value = MockValue(data=None, node=node,
command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL)
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={})
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):
"""Test position changed."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode()
value = MockValue(data=50, node=node,
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)
values = MockEntityValues(primary=value, open=open_value,
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={})
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):
"""Test position changed."""
mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
mock_network = hass.data[const.DATA_NETWORK] = MagicMock()
node = MockNode()
value = MockValue(data=50, node=node,
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)
values = MockEntityValues(primary=value, open=open_value,
close=close_value, node=node)
device = zwave.get_device(
device = cover.get_device(
hass=hass,
node=node,
values=values,
node_config={zwave.zwave.CONF_INVERT_OPENCLOSE_BUTTONS: True})
node_config={CONF_INVERT_OPENCLOSE_BUTTONS: True})
device.open_cover()
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,
command_class=const.COMMAND_CLASS_SWITCH_BINARY)
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={})
assert device.is_closed
@ -195,7 +195,7 @@ def test_switch_garage_commands(hass, mock_openzwave):
value = MockValue(data=False, node=node,
command_class=const.COMMAND_CLASS_SWITCH_BINARY)
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={})
assert value.data is False
@ -211,7 +211,7 @@ def test_barrier_garage_value_changed(hass, mock_openzwave):
value = MockValue(data="Closed", node=node,
command_class=const.COMMAND_CLASS_BARRIER_OPERATOR)
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={})
assert device.is_closed
@ -243,7 +243,7 @@ def test_barrier_garage_commands(hass, mock_openzwave):
value = MockValue(data="Closed", node=node,
command_class=const.COMMAND_CLASS_BARRIER_OPERATOR)
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={})
assert value.data == "Closed"

View File

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

View File

@ -1,9 +1,8 @@
"""Test Z-Wave lights."""
from unittest.mock import patch, MagicMock
import homeassistant.components.zwave
from homeassistant.components.zwave import const
import homeassistant.components.zwave.light as zwave
from homeassistant.components import zwave
from homeassistant.components.zwave import const, light
from homeassistant.components.light import (
ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_HS_COLOR, ATTR_TRANSITION,
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)
values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveDimmer)
device = light.get_device(node=node, values=values, node_config={})
assert isinstance(device, light.ZwaveDimmer)
assert device.supported_features == SUPPORT_BRIGHTNESS
@ -41,8 +40,8 @@ def test_get_device_detects_colorlight(mock_openzwave):
value = MockValue(data=0, node=node)
values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveColorLight)
device = light.get_device(node=node, values=values, node_config={})
assert isinstance(device, light.ZwaveColorLight)
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])
value = MockValue(data=0, node=node)
values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveColorLight)
device = light.get_device(node=node, values=values, node_config={})
assert isinstance(device, light.ZwaveColorLight)
assert device.supported_features == (
SUPPORT_BRIGHTNESS | SUPPORT_COLOR | SUPPORT_COLOR_TEMP)
@ -67,9 +66,9 @@ def test_get_device_detects_rgbw_light(mock_openzwave):
values = MockLightValues(
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()
assert isinstance(device, zwave.ZwaveColorLight)
assert isinstance(device, light.ZwaveColorLight)
assert device.supported_features == (
SUPPORT_BRIGHTNESS | SUPPORT_COLOR | SUPPORT_WHITE_VALUE)
@ -79,7 +78,7 @@ def test_dimmer_turn_on(mock_openzwave):
node = MockNode()
value = MockValue(data=0, node=node)
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()
@ -98,7 +97,7 @@ def test_dimmer_turn_on(mock_openzwave):
assert value_id == value.value_id
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})
assert mock_logger.debug.called
assert node.set_dimmer.called
@ -111,7 +110,7 @@ def test_dimmer_min_brightness(mock_openzwave):
node = MockNode()
value = MockValue(data=0, node=node)
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
@ -132,7 +131,7 @@ def test_dimmer_transitions(mock_openzwave):
value = MockValue(data=0, node=node)
duration = MockValue(data=0, node=node)
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
# Test turn_on
@ -175,7 +174,7 @@ def test_dimmer_turn_off(mock_openzwave):
node = MockNode()
value = MockValue(data=46, node=node)
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()
@ -190,7 +189,7 @@ def test_dimmer_value_changed(mock_openzwave):
node = MockNode()
value = MockValue(data=0, node=node)
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
@ -206,14 +205,14 @@ def test_dimmer_refresh_value(mock_openzwave):
node = MockNode()
value = MockValue(data=0, node=node)
values = MockLightValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={
homeassistant.components.zwave.CONF_REFRESH_VALUE: True,
homeassistant.components.zwave.CONF_REFRESH_DELAY: 5,
device = light.get_device(node=node, values=values, node_config={
zwave.CONF_REFRESH_VALUE: True,
zwave.CONF_REFRESH_DELAY: 5,
})
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_changed(value)
@ -225,7 +224,7 @@ def test_dimmer_refresh_value(mock_openzwave):
assert mock_timer().start.called
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)
assert not device.is_on
assert mock_timer().cancel.called
@ -249,7 +248,7 @@ def test_set_hs_color(mock_openzwave):
color_channels = MockValue(data=0x1c, node=node)
values = MockLightValues(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={})
assert color.data == '#0000000000'
@ -267,7 +266,7 @@ def test_set_white_value(mock_openzwave):
color_channels = MockValue(data=0x1d, node=node)
values = MockLightValues(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={})
assert color.data == '#0000000000'
@ -290,7 +289,7 @@ def test_disable_white_if_set_color(mock_openzwave):
color_channels = MockValue(data=0x1c, node=node)
values = MockLightValues(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._white = 234
assert color.data == '#0000000000'
@ -312,7 +311,7 @@ def test_zw098_set_color_temp(mock_openzwave):
color_channels = MockValue(data=0x1f, node=node)
values = MockLightValues(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={})
assert color.data == '#0000000000'
@ -334,7 +333,7 @@ def test_rgb_not_supported(mock_openzwave):
color_channels = MockValue(data=0x01, node=node)
values = MockLightValues(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={})
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])
value = MockValue(data=0, node=node)
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
@ -355,7 +354,7 @@ def test_no_color_channels_value(mock_openzwave):
value = MockValue(data=0, node=node)
color = MockValue(data='#0000000000', node=node)
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
@ -369,7 +368,7 @@ def test_rgb_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1c, node=node)
values = MockLightValues(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={})
assert device.hs_color == (0, 0)
@ -388,7 +387,7 @@ def test_rgbww_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1d, node=node)
values = MockLightValues(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={})
assert device.hs_color == (0, 0)
assert device.white_value == 0
@ -409,7 +408,7 @@ def test_rgbcw_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1e, node=node)
values = MockLightValues(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={})
assert device.hs_color == (0, 0)
assert device.white_value == 0
@ -431,16 +430,16 @@ def test_ct_value_changed(mock_openzwave):
color_channels = MockValue(data=0x1f, node=node)
values = MockLightValues(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={})
assert device.color_temp == zwave.TEMP_MID_HASS
assert device.color_temp == light.TEMP_MID_HASS
color.data = '#000000ff00'
value_changed(color)
assert device.color_temp == zwave.TEMP_WARM_HASS
assert device.color_temp == light.TEMP_WARM_HASS
color.data = '#00000000ff'
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 homeassistant import config_entries
import homeassistant.components.zwave.lock as zwave
from homeassistant.components.zwave import const
from homeassistant.components.zwave import const, lock
from tests.mock.zwave import (
MockNode, MockValue, MockEntityValues, value_changed)
@ -19,8 +18,8 @@ def test_get_device_detects_lock(mock_openzwave):
alarm_level=None,
)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZwaveLock)
device = lock.get_device(node=node, values=values, node_config={})
assert isinstance(device, lock.ZwaveLock)
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_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
@ -52,7 +51,7 @@ def test_lock_value_changed(mock_openzwave):
alarm_type=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
@ -71,7 +70,7 @@ def test_lock_state_workaround(mock_openzwave):
alarm_type=None,
alarm_level=None,
)
device = zwave.get_device(node=node, values=values)
device = lock.get_device(node=node, values=values)
assert device.is_locked
values.access_control.data = 2
value_changed(values.access_control)
@ -89,15 +88,15 @@ def test_track_message_workaround(mock_openzwave):
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
# a change, simulating the openzwave automatic refreshing behavior (which
# is enabled for at least the lock that needs this workaround)
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)
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
# 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
value_changed(values.primary)
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'
# 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
value_changed(values.primary)
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):
@ -132,7 +131,7 @@ def test_v2btze_value_changed(mock_openzwave):
alarm_type=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 not device.is_locked
@ -152,7 +151,7 @@ def test_alarm_type_workaround(mock_openzwave):
alarm_type=MockValue(data=16, node=node),
alarm_level=None,
)
device = zwave.get_device(node=node, values=values)
device = lock.get_device(node=node, values=values)
assert not device.is_locked
values.alarm_type.data = 18
@ -193,9 +192,9 @@ def test_lock_access_control(mock_openzwave):
alarm_type=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'
@ -208,28 +207,28 @@ def test_lock_alarm_type(mock_openzwave):
alarm_type=MockValue(data=None, node=node),
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
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'
values.alarm_type.data = 18
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'
values.alarm_type.data = 161
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'
values.alarm_type.data = 9
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'
@ -242,29 +241,29 @@ def test_lock_alarm_level(mock_openzwave):
alarm_type=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_level.data = 1
value_changed(values.alarm_type)
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'
values.alarm_type.data = 18
values.alarm_level.data = 'alice'
value_changed(values.alarm_type)
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'
values.alarm_type.data = 161
values.alarm_level.data = 1
value_changed(values.alarm_type)
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'
@ -282,7 +281,7 @@ async def setup_ozw(hass, mock_openzwave):
async def test_lock_set_usercode_service(hass, mock_openzwave):
"""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)
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.services.async_call(
zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, {
lock.DOMAIN, lock.SERVICE_SET_USERCODE, {
const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_USERCODE: '1234',
zwave.ATTR_CODE_SLOT: 1,
lock.ATTR_USERCODE: '1234',
lock.ATTR_CODE_SLOT: 1,
})
await hass.async_block_till_done()
@ -314,10 +313,10 @@ async def test_lock_set_usercode_service(hass, mock_openzwave):
node.node_id: node
}
await hass.services.async_call(
zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, {
lock.DOMAIN, lock.SERVICE_SET_USERCODE, {
const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_USERCODE: '123',
zwave.ATTR_CODE_SLOT: 1,
lock.ATTR_USERCODE: '123',
lock.ATTR_CODE_SLOT: 1,
})
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):
"""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)
value0 = MockValue(data=None, node=node, index=0)
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 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}
await hass.services.async_call(
zwave.DOMAIN, zwave.SERVICE_GET_USERCODE, {
lock.DOMAIN, lock.SERVICE_GET_USERCODE, {
const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_CODE_SLOT: 1,
lock.ATTR_CODE_SLOT: 1,
})
await hass.async_block_till_done()
# 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):
"""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)
value0 = MockValue(data=None, node=node, index=0)
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.services.async_call(
zwave.DOMAIN, zwave.SERVICE_CLEAR_USERCODE, {
lock.DOMAIN, lock.SERVICE_CLEAR_USERCODE, {
const.ATTR_NODE_ID: node.node_id,
zwave.ATTR_CODE_SLOT: 1
lock.ATTR_CODE_SLOT: 1
})
await hass.async_block_till_done()

View File

@ -1,6 +1,5 @@
"""Test Z-Wave sensor."""
import homeassistant.components.zwave.sensor as zwave
from homeassistant.components.zwave import const
from homeassistant.components.zwave import const, sensor
import homeassistant.const
from tests.mock.zwave import (
@ -13,7 +12,7 @@ def test_get_device_detects_none(mock_openzwave):
value = MockValue(data=0, node=node)
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
@ -24,8 +23,8 @@ def test_get_device_detects_alarmsensor(mock_openzwave):
value = MockValue(data=0, node=node)
values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveAlarmSensor)
device = sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, sensor.ZWaveAlarmSensor)
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)
values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveMultilevelSensor)
device = sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, sensor.ZWaveMultilevelSensor)
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)
values = MockEntityValues(primary=value)
device = zwave.get_device(node=node, values=values, node_config={})
assert isinstance(device, zwave.ZWaveMultilevelSensor)
device = sensor.get_device(node=node, values=values, node_config={})
assert isinstance(device, sensor.ZWaveMultilevelSensor)
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)
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.unit_of_measurement == homeassistant.const.TEMP_FAHRENHEIT
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)
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.unit_of_measurement == homeassistant.const.TEMP_CELSIUS
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)
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.unit_of_measurement == 'kWh'
value.data = 197.95555
@ -102,7 +101,7 @@ def test_multilevelsensor_value_changed_integer(mock_openzwave):
value = MockValue(data=5, units='counts', node=node)
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.unit_of_measurement == 'counts'
value.data = 6
@ -117,7 +116,7 @@ def test_alarm_sensor_value_changed(mock_openzwave):
value = MockValue(data=12.34, node=node, units='%')
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.unit_of_measurement == '%'
value.data = 45.67

View File

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