mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 08:47:10 +00:00
Rewrite ecobee unittest tests to pytest (#42584)
This commit is contained in:
parent
4c2bf1ddf5
commit
246ad8dba9
@ -1,17 +1,16 @@
|
||||
"""The test for the Ecobee thermostat module."""
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.ecobee import climate as ecobee
|
||||
import homeassistant.const as const
|
||||
from homeassistant.const import STATE_OFF
|
||||
|
||||
|
||||
class TestEcobee(unittest.TestCase):
|
||||
"""Tests for Ecobee climate."""
|
||||
|
||||
def setUp(self):
|
||||
"""Set up test variables."""
|
||||
@pytest.fixture
|
||||
def ecobee_fixture():
|
||||
"""Set up ecobee mock."""
|
||||
vals = {
|
||||
"name": "Ecobee",
|
||||
"program": {
|
||||
@ -48,219 +47,240 @@ class TestEcobee(unittest.TestCase):
|
||||
}
|
||||
],
|
||||
}
|
||||
mock_ecobee = mock.Mock()
|
||||
mock_ecobee.__getitem__ = mock.Mock(side_effect=vals.__getitem__)
|
||||
mock_ecobee.__setitem__ = mock.Mock(side_effect=vals.__setitem__)
|
||||
return mock_ecobee
|
||||
|
||||
self.ecobee = mock.Mock()
|
||||
self.ecobee.__getitem__ = mock.Mock(side_effect=vals.__getitem__)
|
||||
self.ecobee.__setitem__ = mock.Mock(side_effect=vals.__setitem__)
|
||||
|
||||
self.data = mock.Mock()
|
||||
self.data.ecobee.get_thermostat.return_value = self.ecobee
|
||||
self.thermostat = ecobee.Thermostat(self.data, 1)
|
||||
@pytest.fixture(name="data")
|
||||
def data_fixture(ecobee_fixture):
|
||||
"""Set up data mock."""
|
||||
data = mock.Mock()
|
||||
data.ecobee.get_thermostat.return_value = ecobee_fixture
|
||||
return data
|
||||
|
||||
def test_name(self):
|
||||
|
||||
@pytest.fixture(name="thermostat")
|
||||
def thermostat_fixture(data):
|
||||
"""Set up ecobee thermostat object."""
|
||||
return ecobee.Thermostat(data, 1)
|
||||
|
||||
|
||||
async def test_name(thermostat):
|
||||
"""Test name property."""
|
||||
assert "Ecobee" == self.thermostat.name
|
||||
assert thermostat.name == "Ecobee"
|
||||
|
||||
def test_current_temperature(self):
|
||||
|
||||
async def test_current_temperature(ecobee_fixture, thermostat):
|
||||
"""Test current temperature."""
|
||||
assert 30 == self.thermostat.current_temperature
|
||||
self.ecobee["runtime"]["actualTemperature"] = const.HTTP_NOT_FOUND
|
||||
assert 40.4 == self.thermostat.current_temperature
|
||||
assert thermostat.current_temperature == 30
|
||||
ecobee_fixture["runtime"]["actualTemperature"] = const.HTTP_NOT_FOUND
|
||||
assert thermostat.current_temperature == 40.4
|
||||
|
||||
def test_target_temperature_low(self):
|
||||
|
||||
async def test_target_temperature_low(ecobee_fixture, thermostat):
|
||||
"""Test target low temperature."""
|
||||
assert 40 == self.thermostat.target_temperature_low
|
||||
self.ecobee["runtime"]["desiredHeat"] = 502
|
||||
assert 50.2 == self.thermostat.target_temperature_low
|
||||
assert thermostat.target_temperature_low == 40
|
||||
ecobee_fixture["runtime"]["desiredHeat"] = 502
|
||||
assert thermostat.target_temperature_low == 50.2
|
||||
|
||||
def test_target_temperature_high(self):
|
||||
|
||||
async def test_target_temperature_high(ecobee_fixture, thermostat):
|
||||
"""Test target high temperature."""
|
||||
assert 20 == self.thermostat.target_temperature_high
|
||||
self.ecobee["runtime"]["desiredCool"] = 103
|
||||
assert 10.3 == self.thermostat.target_temperature_high
|
||||
assert thermostat.target_temperature_high == 20
|
||||
ecobee_fixture["runtime"]["desiredCool"] = 103
|
||||
assert thermostat.target_temperature_high == 10.3
|
||||
|
||||
def test_target_temperature(self):
|
||||
|
||||
async def test_target_temperature(ecobee_fixture, thermostat):
|
||||
"""Test target temperature."""
|
||||
assert self.thermostat.target_temperature is None
|
||||
self.ecobee["settings"]["hvacMode"] = "heat"
|
||||
assert 40 == self.thermostat.target_temperature
|
||||
self.ecobee["settings"]["hvacMode"] = "cool"
|
||||
assert 20 == self.thermostat.target_temperature
|
||||
self.ecobee["settings"]["hvacMode"] = "auxHeatOnly"
|
||||
assert 40 == self.thermostat.target_temperature
|
||||
self.ecobee["settings"]["hvacMode"] = "off"
|
||||
assert self.thermostat.target_temperature is None
|
||||
assert thermostat.target_temperature is None
|
||||
ecobee_fixture["settings"]["hvacMode"] = "heat"
|
||||
assert thermostat.target_temperature == 40
|
||||
ecobee_fixture["settings"]["hvacMode"] = "cool"
|
||||
assert thermostat.target_temperature == 20
|
||||
ecobee_fixture["settings"]["hvacMode"] = "auxHeatOnly"
|
||||
assert thermostat.target_temperature == 40
|
||||
ecobee_fixture["settings"]["hvacMode"] = "off"
|
||||
assert thermostat.target_temperature is None
|
||||
|
||||
def test_desired_fan_mode(self):
|
||||
|
||||
async def test_desired_fan_mode(ecobee_fixture, thermostat):
|
||||
"""Test desired fan mode property."""
|
||||
assert "on" == self.thermostat.fan_mode
|
||||
self.ecobee["runtime"]["desiredFanMode"] = "auto"
|
||||
assert "auto" == self.thermostat.fan_mode
|
||||
assert thermostat.fan_mode == "on"
|
||||
ecobee_fixture["runtime"]["desiredFanMode"] = "auto"
|
||||
assert thermostat.fan_mode == "auto"
|
||||
|
||||
def test_fan(self):
|
||||
|
||||
async def test_fan(ecobee_fixture, thermostat):
|
||||
"""Test fan property."""
|
||||
assert const.STATE_ON == self.thermostat.fan
|
||||
self.ecobee["equipmentStatus"] = ""
|
||||
assert STATE_OFF == self.thermostat.fan
|
||||
self.ecobee["equipmentStatus"] = "heatPump, heatPump2"
|
||||
assert STATE_OFF == self.thermostat.fan
|
||||
assert const.STATE_ON == thermostat.fan
|
||||
ecobee_fixture["equipmentStatus"] = ""
|
||||
assert STATE_OFF == thermostat.fan
|
||||
ecobee_fixture["equipmentStatus"] = "heatPump, heatPump2"
|
||||
assert STATE_OFF == thermostat.fan
|
||||
|
||||
def test_hvac_mode(self):
|
||||
|
||||
async def test_hvac_mode(ecobee_fixture, thermostat):
|
||||
"""Test current operation property."""
|
||||
assert self.thermostat.hvac_mode == "heat_cool"
|
||||
self.ecobee["settings"]["hvacMode"] = "heat"
|
||||
assert self.thermostat.hvac_mode == "heat"
|
||||
self.ecobee["settings"]["hvacMode"] = "cool"
|
||||
assert self.thermostat.hvac_mode == "cool"
|
||||
self.ecobee["settings"]["hvacMode"] = "auxHeatOnly"
|
||||
assert self.thermostat.hvac_mode == "heat"
|
||||
self.ecobee["settings"]["hvacMode"] = "off"
|
||||
assert self.thermostat.hvac_mode == "off"
|
||||
assert thermostat.hvac_mode == "heat_cool"
|
||||
ecobee_fixture["settings"]["hvacMode"] = "heat"
|
||||
assert thermostat.hvac_mode == "heat"
|
||||
ecobee_fixture["settings"]["hvacMode"] = "cool"
|
||||
assert thermostat.hvac_mode == "cool"
|
||||
ecobee_fixture["settings"]["hvacMode"] = "auxHeatOnly"
|
||||
assert thermostat.hvac_mode == "heat"
|
||||
ecobee_fixture["settings"]["hvacMode"] = "off"
|
||||
assert thermostat.hvac_mode == "off"
|
||||
|
||||
def test_hvac_modes(self):
|
||||
|
||||
async def test_hvac_modes(thermostat):
|
||||
"""Test operation list property."""
|
||||
assert ["heat_cool", "heat", "cool", "off"] == self.thermostat.hvac_modes
|
||||
assert ["heat_cool", "heat", "cool", "off"] == thermostat.hvac_modes
|
||||
|
||||
def test_hvac_mode2(self):
|
||||
|
||||
async def test_hvac_mode2(ecobee_fixture, thermostat):
|
||||
"""Test operation mode property."""
|
||||
assert self.thermostat.hvac_mode == "heat_cool"
|
||||
self.ecobee["settings"]["hvacMode"] = "heat"
|
||||
assert self.thermostat.hvac_mode == "heat"
|
||||
assert thermostat.hvac_mode == "heat_cool"
|
||||
ecobee_fixture["settings"]["hvacMode"] = "heat"
|
||||
assert thermostat.hvac_mode == "heat"
|
||||
|
||||
def test_device_state_attributes(self):
|
||||
|
||||
async def test_device_state_attributes(ecobee_fixture, thermostat):
|
||||
"""Test device state attributes property."""
|
||||
self.ecobee["equipmentStatus"] = "heatPump2"
|
||||
ecobee_fixture["equipmentStatus"] = "heatPump2"
|
||||
assert {
|
||||
"fan": "off",
|
||||
"climate_mode": "Climate1",
|
||||
"fan_min_on_time": 10,
|
||||
"equipment_running": "heatPump2",
|
||||
} == self.thermostat.device_state_attributes
|
||||
} == thermostat.device_state_attributes
|
||||
|
||||
self.ecobee["equipmentStatus"] = "auxHeat2"
|
||||
ecobee_fixture["equipmentStatus"] = "auxHeat2"
|
||||
assert {
|
||||
"fan": "off",
|
||||
"climate_mode": "Climate1",
|
||||
"fan_min_on_time": 10,
|
||||
"equipment_running": "auxHeat2",
|
||||
} == self.thermostat.device_state_attributes
|
||||
self.ecobee["equipmentStatus"] = "compCool1"
|
||||
} == thermostat.device_state_attributes
|
||||
ecobee_fixture["equipmentStatus"] = "compCool1"
|
||||
assert {
|
||||
"fan": "off",
|
||||
"climate_mode": "Climate1",
|
||||
"fan_min_on_time": 10,
|
||||
"equipment_running": "compCool1",
|
||||
} == self.thermostat.device_state_attributes
|
||||
self.ecobee["equipmentStatus"] = ""
|
||||
} == thermostat.device_state_attributes
|
||||
ecobee_fixture["equipmentStatus"] = ""
|
||||
assert {
|
||||
"fan": "off",
|
||||
"climate_mode": "Climate1",
|
||||
"fan_min_on_time": 10,
|
||||
"equipment_running": "",
|
||||
} == self.thermostat.device_state_attributes
|
||||
} == thermostat.device_state_attributes
|
||||
|
||||
self.ecobee["equipmentStatus"] = "Unknown"
|
||||
ecobee_fixture["equipmentStatus"] = "Unknown"
|
||||
assert {
|
||||
"fan": "off",
|
||||
"climate_mode": "Climate1",
|
||||
"fan_min_on_time": 10,
|
||||
"equipment_running": "Unknown",
|
||||
} == self.thermostat.device_state_attributes
|
||||
} == thermostat.device_state_attributes
|
||||
|
||||
self.ecobee["program"]["currentClimateRef"] = "c2"
|
||||
ecobee_fixture["program"]["currentClimateRef"] = "c2"
|
||||
assert {
|
||||
"fan": "off",
|
||||
"climate_mode": "Climate2",
|
||||
"fan_min_on_time": 10,
|
||||
"equipment_running": "Unknown",
|
||||
} == self.thermostat.device_state_attributes
|
||||
} == thermostat.device_state_attributes
|
||||
|
||||
def test_is_aux_heat_on(self):
|
||||
|
||||
async def test_is_aux_heat_on(ecobee_fixture, thermostat):
|
||||
"""Test aux heat property."""
|
||||
assert not self.thermostat.is_aux_heat
|
||||
self.ecobee["equipmentStatus"] = "fan, auxHeat"
|
||||
assert self.thermostat.is_aux_heat
|
||||
assert not thermostat.is_aux_heat
|
||||
ecobee_fixture["equipmentStatus"] = "fan, auxHeat"
|
||||
assert thermostat.is_aux_heat
|
||||
|
||||
def test_set_temperature(self):
|
||||
|
||||
async def test_set_temperature(ecobee_fixture, thermostat, data):
|
||||
"""Test set temperature."""
|
||||
# Auto -> Auto
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_temperature(target_temp_low=20, target_temp_high=30)
|
||||
self.data.ecobee.set_hold_temp.assert_has_calls(
|
||||
[mock.call(1, 30, 20, "nextTransition")]
|
||||
)
|
||||
data.reset_mock()
|
||||
thermostat.set_temperature(target_temp_low=20, target_temp_high=30)
|
||||
data.ecobee.set_hold_temp.assert_has_calls([mock.call(1, 30, 20, "nextTransition")])
|
||||
|
||||
# Auto -> Hold
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_temperature(temperature=20)
|
||||
self.data.ecobee.set_hold_temp.assert_has_calls(
|
||||
[mock.call(1, 25, 15, "nextTransition")]
|
||||
)
|
||||
data.reset_mock()
|
||||
thermostat.set_temperature(temperature=20)
|
||||
data.ecobee.set_hold_temp.assert_has_calls([mock.call(1, 25, 15, "nextTransition")])
|
||||
|
||||
# Cool -> Hold
|
||||
self.data.reset_mock()
|
||||
self.ecobee["settings"]["hvacMode"] = "cool"
|
||||
self.thermostat.set_temperature(temperature=20.5)
|
||||
self.data.ecobee.set_hold_temp.assert_has_calls(
|
||||
data.reset_mock()
|
||||
ecobee_fixture["settings"]["hvacMode"] = "cool"
|
||||
thermostat.set_temperature(temperature=20.5)
|
||||
data.ecobee.set_hold_temp.assert_has_calls(
|
||||
[mock.call(1, 20.5, 20.5, "nextTransition")]
|
||||
)
|
||||
|
||||
# Heat -> Hold
|
||||
self.data.reset_mock()
|
||||
self.ecobee["settings"]["hvacMode"] = "heat"
|
||||
self.thermostat.set_temperature(temperature=20)
|
||||
self.data.ecobee.set_hold_temp.assert_has_calls(
|
||||
[mock.call(1, 20, 20, "nextTransition")]
|
||||
)
|
||||
data.reset_mock()
|
||||
ecobee_fixture["settings"]["hvacMode"] = "heat"
|
||||
thermostat.set_temperature(temperature=20)
|
||||
data.ecobee.set_hold_temp.assert_has_calls([mock.call(1, 20, 20, "nextTransition")])
|
||||
|
||||
# Heat -> Auto
|
||||
self.data.reset_mock()
|
||||
self.ecobee["settings"]["hvacMode"] = "heat"
|
||||
self.thermostat.set_temperature(target_temp_low=20, target_temp_high=30)
|
||||
assert not self.data.ecobee.set_hold_temp.called
|
||||
data.reset_mock()
|
||||
ecobee_fixture["settings"]["hvacMode"] = "heat"
|
||||
thermostat.set_temperature(target_temp_low=20, target_temp_high=30)
|
||||
assert not data.ecobee.set_hold_temp.called
|
||||
|
||||
def test_set_hvac_mode(self):
|
||||
|
||||
async def test_set_hvac_mode(thermostat, data):
|
||||
"""Test operation mode setter."""
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_hvac_mode("heat_cool")
|
||||
self.data.ecobee.set_hvac_mode.assert_has_calls([mock.call(1, "auto")])
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_hvac_mode("heat")
|
||||
self.data.ecobee.set_hvac_mode.assert_has_calls([mock.call(1, "heat")])
|
||||
data.reset_mock()
|
||||
thermostat.set_hvac_mode("heat_cool")
|
||||
data.ecobee.set_hvac_mode.assert_has_calls([mock.call(1, "auto")])
|
||||
data.reset_mock()
|
||||
thermostat.set_hvac_mode("heat")
|
||||
data.ecobee.set_hvac_mode.assert_has_calls([mock.call(1, "heat")])
|
||||
|
||||
def test_set_fan_min_on_time(self):
|
||||
|
||||
async def test_set_fan_min_on_time(thermostat, data):
|
||||
"""Test fan min on time setter."""
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_fan_min_on_time(15)
|
||||
self.data.ecobee.set_fan_min_on_time.assert_has_calls([mock.call(1, 15)])
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_fan_min_on_time(20)
|
||||
self.data.ecobee.set_fan_min_on_time.assert_has_calls([mock.call(1, 20)])
|
||||
data.reset_mock()
|
||||
thermostat.set_fan_min_on_time(15)
|
||||
data.ecobee.set_fan_min_on_time.assert_has_calls([mock.call(1, 15)])
|
||||
data.reset_mock()
|
||||
thermostat.set_fan_min_on_time(20)
|
||||
data.ecobee.set_fan_min_on_time.assert_has_calls([mock.call(1, 20)])
|
||||
|
||||
def test_resume_program(self):
|
||||
|
||||
async def test_resume_program(thermostat, data):
|
||||
"""Test resume program."""
|
||||
# False
|
||||
self.data.reset_mock()
|
||||
self.thermostat.resume_program(False)
|
||||
self.data.ecobee.resume_program.assert_has_calls([mock.call(1, "false")])
|
||||
self.data.reset_mock()
|
||||
self.thermostat.resume_program(None)
|
||||
self.data.ecobee.resume_program.assert_has_calls([mock.call(1, "false")])
|
||||
self.data.reset_mock()
|
||||
self.thermostat.resume_program(0)
|
||||
self.data.ecobee.resume_program.assert_has_calls([mock.call(1, "false")])
|
||||
data.reset_mock()
|
||||
thermostat.resume_program(False)
|
||||
data.ecobee.resume_program.assert_has_calls([mock.call(1, "false")])
|
||||
data.reset_mock()
|
||||
thermostat.resume_program(None)
|
||||
data.ecobee.resume_program.assert_has_calls([mock.call(1, "false")])
|
||||
data.reset_mock()
|
||||
thermostat.resume_program(0)
|
||||
data.ecobee.resume_program.assert_has_calls([mock.call(1, "false")])
|
||||
|
||||
# True
|
||||
self.data.reset_mock()
|
||||
self.thermostat.resume_program(True)
|
||||
self.data.ecobee.resume_program.assert_has_calls([mock.call(1, "true")])
|
||||
self.data.reset_mock()
|
||||
self.thermostat.resume_program(1)
|
||||
self.data.ecobee.resume_program.assert_has_calls([mock.call(1, "true")])
|
||||
data.reset_mock()
|
||||
thermostat.resume_program(True)
|
||||
data.ecobee.resume_program.assert_has_calls([mock.call(1, "true")])
|
||||
data.reset_mock()
|
||||
thermostat.resume_program(1)
|
||||
data.ecobee.resume_program.assert_has_calls([mock.call(1, "true")])
|
||||
|
||||
def test_hold_preference(self):
|
||||
|
||||
async def test_hold_preference(ecobee_fixture, thermostat):
|
||||
"""Test hold preference."""
|
||||
assert "nextTransition" == self.thermostat.hold_preference()
|
||||
assert thermostat.hold_preference() == "nextTransition"
|
||||
for action in [
|
||||
"useEndTime4hour",
|
||||
"useEndTime2hour",
|
||||
@ -268,21 +288,23 @@ class TestEcobee(unittest.TestCase):
|
||||
"indefinite",
|
||||
"askMe",
|
||||
]:
|
||||
self.ecobee["settings"]["holdAction"] = action
|
||||
assert "nextTransition" == self.thermostat.hold_preference()
|
||||
ecobee_fixture["settings"]["holdAction"] = action
|
||||
assert thermostat.hold_preference() == "nextTransition"
|
||||
|
||||
def test_set_fan_mode_on(self):
|
||||
|
||||
async def test_set_fan_mode_on(thermostat, data):
|
||||
"""Test set fan mode to on."""
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_fan_mode("on")
|
||||
self.data.ecobee.set_fan_mode.assert_has_calls(
|
||||
data.reset_mock()
|
||||
thermostat.set_fan_mode("on")
|
||||
data.ecobee.set_fan_mode.assert_has_calls(
|
||||
[mock.call(1, "on", 20, 40, "nextTransition")]
|
||||
)
|
||||
|
||||
def test_set_fan_mode_auto(self):
|
||||
|
||||
async def test_set_fan_mode_auto(thermostat, data):
|
||||
"""Test set fan mode to auto."""
|
||||
self.data.reset_mock()
|
||||
self.thermostat.set_fan_mode("auto")
|
||||
self.data.ecobee.set_fan_mode.assert_has_calls(
|
||||
data.reset_mock()
|
||||
thermostat.set_fan_mode("auto")
|
||||
data.ecobee.set_fan_mode.assert_has_calls(
|
||||
[mock.call(1, "auto", 20, 40, "nextTransition")]
|
||||
)
|
||||
|
@ -46,8 +46,8 @@ async def test_pin_request_succeeds(hass):
|
||||
flow.hass = hass
|
||||
flow.hass.data[DATA_ECOBEE_CONFIG] = {}
|
||||
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as MockEcobee:
|
||||
mock_ecobee = MockEcobee.return_value
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as mock_ecobee:
|
||||
mock_ecobee = mock_ecobee.return_value
|
||||
mock_ecobee.request_pin.return_value = True
|
||||
mock_ecobee.pin = "test-pin"
|
||||
|
||||
@ -64,8 +64,8 @@ async def test_pin_request_fails(hass):
|
||||
flow.hass = hass
|
||||
flow.hass.data[DATA_ECOBEE_CONFIG] = {}
|
||||
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as MockEcobee:
|
||||
mock_ecobee = MockEcobee.return_value
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as mock_ecobee:
|
||||
mock_ecobee = mock_ecobee.return_value
|
||||
mock_ecobee.request_pin.return_value = False
|
||||
|
||||
result = await flow.async_step_user(user_input={CONF_API_KEY: "api-key"})
|
||||
@ -81,12 +81,14 @@ async def test_token_request_succeeds(hass):
|
||||
flow.hass = hass
|
||||
flow.hass.data[DATA_ECOBEE_CONFIG] = {}
|
||||
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as MockEcobee:
|
||||
mock_ecobee = MockEcobee.return_value
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as mock_ecobee:
|
||||
mock_ecobee = mock_ecobee.return_value
|
||||
mock_ecobee.request_tokens.return_value = True
|
||||
mock_ecobee.api_key = "test-api-key"
|
||||
mock_ecobee.refresh_token = "test-token"
|
||||
# pylint: disable=protected-access
|
||||
flow._ecobee = mock_ecobee
|
||||
# pylint: enable=protected-access
|
||||
|
||||
result = await flow.async_step_authorize(user_input={})
|
||||
|
||||
@ -104,11 +106,13 @@ async def test_token_request_fails(hass):
|
||||
flow.hass = hass
|
||||
flow.hass.data[DATA_ECOBEE_CONFIG] = {}
|
||||
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as MockEcobee:
|
||||
mock_ecobee = MockEcobee.return_value
|
||||
with patch("homeassistant.components.ecobee.config_flow.Ecobee") as mock_ecobee:
|
||||
mock_ecobee = mock_ecobee.return_value
|
||||
mock_ecobee.request_tokens.return_value = False
|
||||
mock_ecobee.pin = "test-pin"
|
||||
# pylint: disable=protected-access
|
||||
flow._ecobee = mock_ecobee
|
||||
# pylint: enable=protected-access
|
||||
|
||||
result = await flow.async_step_authorize(user_input={})
|
||||
|
||||
@ -143,8 +147,8 @@ async def test_import_flow_triggered_with_ecobee_conf_and_valid_data_and_valid_t
|
||||
with patch(
|
||||
"homeassistant.components.ecobee.config_flow.load_json",
|
||||
return_value=MOCK_ECOBEE_CONF,
|
||||
), patch("homeassistant.components.ecobee.config_flow.Ecobee") as MockEcobee:
|
||||
mock_ecobee = MockEcobee.return_value
|
||||
), patch("homeassistant.components.ecobee.config_flow.Ecobee") as mock_ecobee:
|
||||
mock_ecobee = mock_ecobee.return_value
|
||||
mock_ecobee.refresh_tokens.return_value = True
|
||||
mock_ecobee.api_key = "test-api-key"
|
||||
mock_ecobee.refresh_token = "test-token"
|
||||
@ -196,10 +200,10 @@ async def test_import_flow_triggered_with_ecobee_conf_and_valid_data_and_stale_t
|
||||
return_value=MOCK_ECOBEE_CONF,
|
||||
), patch(
|
||||
"homeassistant.components.ecobee.config_flow.Ecobee"
|
||||
) as MockEcobee, patch.object(
|
||||
) as mock_ecobee, patch.object(
|
||||
flow, "async_step_user", return_value=mock_coro()
|
||||
) as mock_async_step_user:
|
||||
mock_ecobee = MockEcobee.return_value
|
||||
mock_ecobee = mock_ecobee.return_value
|
||||
mock_ecobee.refresh_tokens.return_value = False
|
||||
|
||||
await flow.async_step_import(import_data=None)
|
||||
|
@ -5,14 +5,14 @@ import voluptuous as vol
|
||||
from homeassistant.components.ecobee.util import ecobee_date, ecobee_time
|
||||
|
||||
|
||||
def test_ecobee_date_with_valid_input():
|
||||
async def test_ecobee_date_with_valid_input():
|
||||
"""Test that the date function returns the expected result."""
|
||||
test_input = "2019-09-27"
|
||||
|
||||
assert ecobee_date(test_input) == test_input
|
||||
|
||||
|
||||
def test_ecobee_date_with_invalid_input():
|
||||
async def test_ecobee_date_with_invalid_input():
|
||||
"""Test that the date function raises the expected exception."""
|
||||
test_input = "20190927"
|
||||
|
||||
@ -20,14 +20,14 @@ def test_ecobee_date_with_invalid_input():
|
||||
ecobee_date(test_input)
|
||||
|
||||
|
||||
def test_ecobee_time_with_valid_input():
|
||||
async def test_ecobee_time_with_valid_input():
|
||||
"""Test that the time function returns the expected result."""
|
||||
test_input = "20:55:15"
|
||||
|
||||
assert ecobee_time(test_input) == test_input
|
||||
|
||||
|
||||
def test_ecobee_time_with_invalid_input():
|
||||
async def test_ecobee_time_with_invalid_input():
|
||||
"""Test that the time function raises the expected exception."""
|
||||
test_input = "20:55"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user