Add monkeypatch type hints to numato tests (#121056)

* Add monkeypatch type hints to numato tests

* Adjust

* Improve
This commit is contained in:
epenet 2024-07-04 11:33:47 +02:00 committed by GitHub
parent 4958e8e5c1
commit a6f6221f16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 17 additions and 12 deletions

View File

@ -1,17 +1,18 @@
"""Fixtures for numato tests.""" """Fixtures for numato tests."""
from copy import deepcopy from copy import deepcopy
from typing import Any
import pytest import pytest
from homeassistant.components import numato from homeassistant.components import numato
from . import numato_mock
from .common import NUMATO_CFG from .common import NUMATO_CFG
from .numato_mock import NumatoModuleMock
@pytest.fixture @pytest.fixture
def config(): def config() -> dict[str, Any]:
"""Provide a copy of the numato domain's test configuration. """Provide a copy of the numato domain's test configuration.
This helps to quickly change certain aspects of the configuration scoped This helps to quickly change certain aspects of the configuration scoped
@ -21,8 +22,8 @@ def config():
@pytest.fixture @pytest.fixture
def numato_fixture(monkeypatch): def numato_fixture(monkeypatch: pytest.MonkeyPatch) -> NumatoModuleMock:
"""Inject the numato mockup into numato homeassistant module.""" """Inject the numato mockup into numato homeassistant module."""
module_mock = numato_mock.NumatoModuleMock() module_mock = NumatoModuleMock()
monkeypatch.setattr(numato, "gpio", module_mock) monkeypatch.setattr(numato, "gpio", module_mock)
return module_mock return module_mock

View File

@ -21,7 +21,7 @@ MOCKUP_ENTITY_IDS = {
async def test_failing_setups_no_entities( async def test_failing_setups_no_entities(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""When port setup fails, no entity shall be created.""" """When port setup fails, no entity shall be created."""
monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "setup", mockup_raise) monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "setup", mockup_raise)

View File

@ -11,7 +11,7 @@ from .common import NUMATO_CFG, mockup_raise, mockup_return
async def test_setup_no_devices( async def test_setup_no_devices(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""Test handling of an 'empty' discovery. """Test handling of an 'empty' discovery.
@ -24,7 +24,7 @@ async def test_setup_no_devices(
async def test_fail_setup_raising_discovery( async def test_fail_setup_raising_discovery(
hass: HomeAssistant, numato_fixture, caplog: pytest.LogCaptureFixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""Test handling of an exception during discovery. """Test handling of an exception during discovery.
@ -57,7 +57,7 @@ async def test_hass_numato_api_wrong_port_directions(
async def test_hass_numato_api_errors( async def test_hass_numato_api_errors(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""Test whether Home Assistant numato API (re-)raises errors.""" """Test whether Home Assistant numato API (re-)raises errors."""
numato_fixture.discover() numato_fixture.discover()

View File

@ -1,5 +1,7 @@
"""Tests for the numato sensor platform.""" """Tests for the numato sensor platform."""
import pytest
from homeassistant.const import STATE_UNKNOWN, Platform from homeassistant.const import STATE_UNKNOWN, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import discovery from homeassistant.helpers import discovery
@ -13,7 +15,7 @@ MOCKUP_ENTITY_IDS = {
async def test_failing_setups_no_entities( async def test_failing_setups_no_entities(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""When port setup fails, no entity shall be created.""" """When port setup fails, no entity shall be created."""
monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "setup", mockup_raise) monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "setup", mockup_raise)
@ -24,7 +26,7 @@ async def test_failing_setups_no_entities(
async def test_failing_sensor_update( async def test_failing_sensor_update(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""Test condition when a sensor update fails.""" """Test condition when a sensor update fails."""
monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "adc_read", mockup_raise) monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "adc_read", mockup_raise)

View File

@ -1,5 +1,7 @@
"""Tests for the numato switch platform.""" """Tests for the numato switch platform."""
import pytest
from homeassistant.components import switch from homeassistant.components import switch
from homeassistant.const import ( from homeassistant.const import (
ATTR_ENTITY_ID, ATTR_ENTITY_ID,
@ -20,7 +22,7 @@ MOCKUP_ENTITY_IDS = {
async def test_failing_setups_no_entities( async def test_failing_setups_no_entities(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""When port setup fails, no entity shall be created.""" """When port setup fails, no entity shall be created."""
monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "setup", mockup_raise) monkeypatch.setattr(numato_fixture.NumatoDeviceMock, "setup", mockup_raise)
@ -69,7 +71,7 @@ async def test_regular_hass_operations(hass: HomeAssistant, numato_fixture) -> N
async def test_failing_hass_operations( async def test_failing_hass_operations(
hass: HomeAssistant, numato_fixture, monkeypatch hass: HomeAssistant, numato_fixture, monkeypatch: pytest.MonkeyPatch
) -> None: ) -> None:
"""Test failing operations called from within Home Assistant. """Test failing operations called from within Home Assistant.