1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 12:59:34 +00:00

Fix issue #23758 - Restore Canary sensors and ensure alarm con… (#32627)

* Fixed missing Canary sensors and Canary alarm control panel that was not updating correctly

* Resolved pylinting warnings in original tests
This commit is contained in:
chiefdragon
2020-03-11 18:58:42 +00:00
committed by GitHub
parent d28d1ff657
commit 3e8728ad5f
3 changed files with 55 additions and 48 deletions

View File

@@ -41,9 +41,9 @@ class TestCanarySensorSetup(unittest.TestCase):
def test_setup_sensors(self):
"""Test the sensor setup."""
online_device_at_home = mock_device(20, "Dining Room", True, "Canary")
offline_device_at_home = mock_device(21, "Front Yard", False, "Canary")
online_device_at_work = mock_device(22, "Office", True, "Canary")
online_device_at_home = mock_device(20, "Dining Room", True, "Canary Pro")
offline_device_at_home = mock_device(21, "Front Yard", False, "Canary Pro")
online_device_at_work = mock_device(22, "Office", True, "Canary Pro")
self.hass.data[DATA_CANARY] = Mock()
self.hass.data[DATA_CANARY].locations = [
@@ -55,11 +55,11 @@ class TestCanarySensorSetup(unittest.TestCase):
canary.setup_platform(self.hass, self.config, self.add_entities, None)
assert 6 == len(self.DEVICES)
assert len(self.DEVICES) == 6
def test_temperature_sensor(self):
"""Test temperature sensor with fahrenheit."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home", False)
data = Mock()
@@ -68,14 +68,14 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[0], location, device)
sensor.update()
assert "Home Family Room Temperature" == sensor.name
assert "°C" == sensor.unit_of_measurement
assert 21.12 == sensor.state
assert "mdi:thermometer" == sensor.icon
assert sensor.name == "Home Family Room Temperature"
assert sensor.unit_of_measurement == "°C"
assert sensor.state == 21.12
assert sensor.icon == "mdi:thermometer"
def test_temperature_sensor_with_none_sensor_value(self):
"""Test temperature sensor with fahrenheit."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home", False)
data = Mock()
@@ -88,7 +88,7 @@ class TestCanarySensorSetup(unittest.TestCase):
def test_humidity_sensor(self):
"""Test humidity sensor."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home")
data = Mock()
@@ -97,14 +97,14 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[1], location, device)
sensor.update()
assert "Home Family Room Humidity" == sensor.name
assert UNIT_PERCENTAGE == sensor.unit_of_measurement
assert 50.46 == sensor.state
assert "mdi:water-percent" == sensor.icon
assert sensor.name == "Home Family Room Humidity"
assert sensor.unit_of_measurement == UNIT_PERCENTAGE
assert sensor.state == 50.46
assert sensor.icon == "mdi:water-percent"
def test_air_quality_sensor_with_very_abnormal_reading(self):
"""Test air quality sensor."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home")
data = Mock()
@@ -113,17 +113,17 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[2], location, device)
sensor.update()
assert "Home Family Room Air Quality" == sensor.name
assert sensor.name == "Home Family Room Air Quality"
assert sensor.unit_of_measurement is None
assert 0.4 == sensor.state
assert "mdi:weather-windy" == sensor.icon
assert sensor.state == 0.4
assert sensor.icon == "mdi:weather-windy"
air_quality = sensor.device_state_attributes[ATTR_AIR_QUALITY]
assert STATE_AIR_QUALITY_VERY_ABNORMAL == air_quality
assert air_quality == STATE_AIR_QUALITY_VERY_ABNORMAL
def test_air_quality_sensor_with_abnormal_reading(self):
"""Test air quality sensor."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home")
data = Mock()
@@ -132,17 +132,17 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[2], location, device)
sensor.update()
assert "Home Family Room Air Quality" == sensor.name
assert sensor.name == "Home Family Room Air Quality"
assert sensor.unit_of_measurement is None
assert 0.59 == sensor.state
assert "mdi:weather-windy" == sensor.icon
assert sensor.state == 0.59
assert sensor.icon == "mdi:weather-windy"
air_quality = sensor.device_state_attributes[ATTR_AIR_QUALITY]
assert STATE_AIR_QUALITY_ABNORMAL == air_quality
assert air_quality == STATE_AIR_QUALITY_ABNORMAL
def test_air_quality_sensor_with_normal_reading(self):
"""Test air quality sensor."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home")
data = Mock()
@@ -151,17 +151,17 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[2], location, device)
sensor.update()
assert "Home Family Room Air Quality" == sensor.name
assert sensor.name == "Home Family Room Air Quality"
assert sensor.unit_of_measurement is None
assert 1.0 == sensor.state
assert "mdi:weather-windy" == sensor.icon
assert sensor.state == 1.0
assert sensor.icon == "mdi:weather-windy"
air_quality = sensor.device_state_attributes[ATTR_AIR_QUALITY]
assert STATE_AIR_QUALITY_NORMAL == air_quality
assert air_quality == STATE_AIR_QUALITY_NORMAL
def test_air_quality_sensor_with_none_sensor_value(self):
"""Test air quality sensor."""
device = mock_device(10, "Family Room", "Canary")
device = mock_device(10, "Family Room", "Canary Pro")
location = mock_location("Home")
data = Mock()
@@ -184,10 +184,10 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[4], location, device)
sensor.update()
assert "Home Family Room Battery" == sensor.name
assert UNIT_PERCENTAGE == sensor.unit_of_measurement
assert 70.46 == sensor.state
assert "mdi:battery-70" == sensor.icon
assert sensor.name == "Home Family Room Battery"
assert sensor.unit_of_measurement == UNIT_PERCENTAGE
assert sensor.state == 70.46
assert sensor.icon == "mdi:battery-70"
def test_wifi_sensor(self):
"""Test battery sensor."""
@@ -200,7 +200,7 @@ class TestCanarySensorSetup(unittest.TestCase):
sensor = CanarySensor(data, SENSOR_TYPES[3], location, device)
sensor.update()
assert "Home Family Room Wifi" == sensor.name
assert "dBm" == sensor.unit_of_measurement
assert -57 == sensor.state
assert "mdi:wifi" == sensor.icon
assert sensor.name == "Home Family Room Wifi"
assert sensor.unit_of_measurement == "dBm"
assert sensor.state == -57
assert sensor.icon == "mdi:wifi"