示例#1
0
 async def test_set_level_update(api):
     """Tests the set_level method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act
     result = await device.set_level(75, 2, True)
     # Assert
     assert result
     assert device.status.level == 75
     assert device.status.switch
示例#2
0
 async def test_switch_off_update(api):
     """Tests the switch_on method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.status.switch = True
     # Act
     result = await device.switch_off(True)
     # Assert
     assert result
     assert not device.status.switch
示例#3
0
 async def test_set_fan_speed_update(api):
     """Tests the set_fan_speed method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act
     result = await device.set_fan_speed(66, True)
     # Assert
     assert result
     assert device.status.fan_speed == 66
     assert device.status.switch
示例#4
0
 async def test_open(api):
     """Tests the open method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.door_control)
     # Act/Assert
     assert await device.open()
     assert device.status.door is None
     assert await device.open(set_status=True)
     assert device.status.door == 'opening'
示例#5
0
 async def test_close_window_shade(api):
     """Tests the close method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.window_shade)
     # Act/Assert
     assert await device.close()
     assert device.status.window_shade is None
     assert await device.close(set_status=True)
     assert device.status.window_shade == "closing"
示例#6
0
 async def test_close_legacy(api):
     """Tests the close method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.garage_door_control)
     # Act/Assert
     assert await device.close()
     assert device.status.door is None
     assert await device.close(set_status=True)
     assert device.status.door == "closing"
示例#7
0
 async def test_set_fan_speed(api):
     """Tests the set_fan_speed method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act
     result = await device.set_fan_speed(66)
     # Assert
     assert result
     assert device.status.level == 0
     assert not device.status.switch
示例#8
0
 async def test_set_color_hex(api):
     """Tests the set_color method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act
     result = await device.set_color(color_hex='#4B6432')
     # Assert
     assert result
     assert device.status.hue == 0
     assert device.status.saturation == 0
     assert device.status.color is None
示例#9
0
 async def test_set_thermostat_fan_mode_update(api):
     """Tests the set_saturation method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.thermostat_fan_mode)
     device.status.thermostat_fan_mode = "on"
     # Act
     result = await device.set_thermostat_fan_mode("auto", set_status=True)
     # Assert
     assert result
     assert device.status.thermostat_fan_mode == "auto"
示例#10
0
 async def test_set_heating_setpoint_update(api):
     """Tests the set_heating_setpoint method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.thermostat_heating_setpoint)
     device.status.heating_setpoint = 70
     # Act
     result = await device.set_heating_setpoint(76, set_status=True)
     # Assert
     assert result
     assert device.status.heating_setpoint == 76
示例#11
0
 async def test_override_drlc_action(api):
     """Tests the override_drlc_action method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act/Assert
     assert await device.override_drlc_action(True)
     assert device.status.drlc_status is None
     assert await device.override_drlc_action(True, set_status=True)
     assert device.status.drlc_status == {
         "override": True
     }
示例#12
0
 async def test_set_thermostat_mode_update(api):
     """Tests the set_thermostat_mode method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.thermostat_mode)
     device.status.thermostat_mode = 'heat'
     # Act
     result = await device.set_thermostat_mode('auto', set_status=True)
     # Assert
     assert result
     assert device.status.thermostat_mode == 'auto'
示例#13
0
 async def test_set_cooling_setpoint_mode(api):
     """Tests the set_cooling_setpoint method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.thermostat_cooling_setpoint)
     device.status.cooling_setpoint = 70
     # Act
     result = await device.set_cooling_setpoint(76)
     # Assert
     assert result
     assert device.status.cooling_setpoint != 76
示例#14
0
 async def test_set_thermostat_fan_mode(api):
     """Tests the set_saturation method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.thermostat_fan_mode)
     device.status.thermostat_fan_mode = 'on'
     # Act
     result = await device.set_thermostat_fan_mode('auto')
     # Assert
     assert result
     assert device.status.thermostat_fan_mode != 'auto'
示例#15
0
 async def test_set_color_update_hex(api):
     """Tests the set_saturation method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act
     result = await device.set_color(color_hex='#4B6432', set_status=True)
     # Assert
     assert result
     assert device.status.hue == 25
     assert device.status.saturation == 50
     assert device.status.color == '#4B6432'
示例#16
0
 async def test_set_thermostat_mode(api):
     """Tests the set_thermostat_mode method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     device.capabilities.append(Capability.thermostat_mode)
     device.status.thermostat_mode = "heat"
     # Act
     result = await device.set_thermostat_mode("auto")
     # Assert
     assert result
     assert device.status.thermostat_mode != "auto"
示例#17
0
 async def test_set_color_invalid(api):
     """Tests the set_saturation method invalid values."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Assert
     values = [-1, 101]
     for value in values:
         with pytest.raises(ValueError):
             await device.set_color(value, 0)
         with pytest.raises(ValueError):
             await device.set_color(0, value)
示例#18
0
 async def test_set_level_invalid(api):
     """Tests the set_level method invalid values."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Assert level
     levels = [-1, 101]
     for level in levels:
         with pytest.raises(ValueError):
             await device.set_level(level)
     # Assert duration
     with pytest.raises(ValueError):
         await device.set_level(100, -1)
示例#19
0
 async def test_request_drlc_action(api):
     """Tests the request_drlc_action method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act/Assert
     assert await device.request_drlc_action(
         1, 2, '1970-01-01T00:00:00Z', 10, 1)
     assert device.status.drlc_status is None
     assert await device.request_drlc_action(
         1, 2, '1970-01-01T00:00:00Z', 10, 1, set_status=True)
     assert device.status.drlc_status == {
         "duration": 10,
         "drlcLevel": 2,
         "start": '1970-01-01T00:00:00Z',
         "override": False
     }
示例#20
0
 async def test_preset_position(api):
     """Tests the preset_position method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act/Assert
     assert await device.preset_position()
示例#21
0
 async def test_execute(api):
     """Tests the execute method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act/Assert
     assert await device.execute('Test', {'data': 'Test'})
示例#22
0
 async def test_execute(api):
     """Tests the execute method."""
     # Arrange
     device = DeviceEntity(api, device_id=DEVICE_ID)
     # Act/Assert
     assert await device.execute("Test", {"data": "Test"})