From f081fa8febbd0f4cd2738077726419a903eb3a29 Mon Sep 17 00:00:00 2001 From: Dave T <17680170+davet2001@users.noreply.github.com> Date: Tue, 28 Mar 2023 15:50:59 +0100 Subject: [PATCH] Add basic tests for temper USB temperature sensor integration (#80220) * Add basic tests * Updated requriements_test_all.txt * Update temperusb version * Add type hints Co-authored-by: Christian Knittl-Frank * Add type hints Co-authored-by: Christian Knittl-Frank * Correct typo in type hint * Fix isort * Fix requirements_test_all.txt --------- Co-authored-by: Dave T Co-authored-by: Christian Knittl-Frank --- requirements_test_all.txt | 3 +++ tests/components/temper/__init__.py | 1 + tests/components/temper/test_sensor.py | 35 ++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 tests/components/temper/__init__.py create mode 100644 tests/components/temper/test_sensor.py diff --git a/requirements_test_all.txt b/requirements_test_all.txt index e94cabd6ac0..7b41d469361 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1760,6 +1760,9 @@ tellduslive==0.10.11 # homeassistant.components.lg_soundbar temescal==0.5 +# homeassistant.components.temper +temperusb==1.6.0 + # homeassistant.components.powerwall tesla-powerwall==0.3.19 diff --git a/tests/components/temper/__init__.py b/tests/components/temper/__init__.py new file mode 100644 index 00000000000..6ce341cabc9 --- /dev/null +++ b/tests/components/temper/__init__.py @@ -0,0 +1 @@ +"""Tests for the temper integration.""" diff --git a/tests/components/temper/test_sensor.py b/tests/components/temper/test_sensor.py new file mode 100644 index 00000000000..d195ff85c82 --- /dev/null +++ b/tests/components/temper/test_sensor.py @@ -0,0 +1,35 @@ +"""The tests for the temper (USB temperature sensor) component.""" +from datetime import timedelta +from unittest.mock import Mock, patch + +from homeassistant.core import HomeAssistant +from homeassistant.setup import async_setup_component +import homeassistant.util.dt as dt_util + +from tests.common import async_fire_time_changed + + +async def test_temperature_readback(hass: HomeAssistant) -> None: + """Test for reading sensors.""" + mock_temper_device = Mock() + mock_temper_device.get_temperature.return_value = 12.3 + + utcnow = dt_util.utcnow() + + with patch( + "temperusb.temper.TemperHandler.get_devices", + return_value=[mock_temper_device], + ): + await async_setup_component( + hass, + "sensor", + {"sensor": {"platform": "temper", "name": "mydevicename"}}, + ) + await hass.async_block_till_done() + + async_fire_time_changed(hass, utcnow + timedelta(seconds=70)) + await hass.async_block_till_done() + + temperature = hass.states.get("sensor.mydevicename") + assert temperature + assert temperature.state == "12.3"