Add type hints to requests_mock (#87757)

This commit is contained in:
epenet 2023-02-10 11:44:09 +01:00 committed by GitHub
parent fac746c974
commit 22bfb99db4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 8 deletions

View file

@ -112,6 +112,7 @@ _TEST_FIXTURES: dict[str, list[str] | str] = {
"mqtt_mock_entry_with_yaml_config": "MqttMockHAClientGenerator",
"recorder_db_url": "str",
"recorder_mock": "Recorder",
"requests_mock": "requests_mock.Mocker",
}
_TEST_FUNCTION_MATCH = TypeHintMatch(
function_name="test_*",

View file

@ -5,6 +5,7 @@ from unittest.mock import patch
import forecastio
from requests.exceptions import ConnectionError as ConnectError
import requests_mock
from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component
@ -68,7 +69,9 @@ INVALID_CONFIG_LANG = {
}
async def test_setup_with_config(hass, requests_mock):
async def test_setup_with_config(
hass: HomeAssistant, requests_mock: requests_mock.Mocker
) -> None:
"""Test the platform setup with configuration."""
with patch("homeassistant.components.darksky.sensor.forecastio.load_forecast"):
assert await async_setup_component(hass, "sensor", VALID_CONFIG_MINIMAL)
@ -106,7 +109,9 @@ async def test_setup_with_invalid_language_config(hass: HomeAssistant) -> None:
assert state is None
async def test_setup_bad_api_key(hass, requests_mock):
async def test_setup_bad_api_key(
hass: HomeAssistant, requests_mock: requests_mock.Mocker
) -> None:
"""Test for handling a bad API key."""
# The Dark Sky API wrapper that we use raises an HTTP error
# when you try to use a bad (or no) API key.
@ -137,7 +142,7 @@ async def test_connection_error(hass: HomeAssistant) -> None:
assert state is None
async def test_setup(hass, requests_mock):
async def test_setup(hass: HomeAssistant, requests_mock: requests_mock.Mocker) -> None:
"""Test for successfully setting up the forecast.io platform."""
with patch(
"forecastio.api.get_forecast", wraps=forecastio.api.get_forecast

View file

@ -4,6 +4,7 @@ from unittest.mock import patch
import forecastio
from requests.exceptions import ConnectionError as ConnectError
import requests_mock
from homeassistant.components import weather
from homeassistant.core import HomeAssistant
@ -12,7 +13,7 @@ from homeassistant.setup import async_setup_component
from tests.common import load_fixture
async def test_setup(hass, requests_mock):
async def test_setup(hass: HomeAssistant, requests_mock: requests_mock.Mocker) -> None:
"""Test for successfully setting up the forecast.io platform."""
with patch(
"forecastio.api.get_forecast", wraps=forecastio.api.get_forecast

View file

@ -28,7 +28,7 @@ import freezegun
import multidict
import pytest
import pytest_socket
import requests_mock as _requests_mock
import requests_mock
from homeassistant import core as ha, loader, runner, util
from homeassistant.auth.const import GROUP_ID_ADMIN, GROUP_ID_READ_ONLY
@ -490,10 +490,10 @@ async def stop_hass(
await event_loop.shutdown_default_executor()
@pytest.fixture
def requests_mock():
@pytest.fixture(name="requests_mock")
def requests_mock_fixture() -> Generator[requests_mock.Mocker, None, None]:
"""Fixture to provide a requests mocker."""
with _requests_mock.mock() as m:
with requests_mock.mock() as m:
yield m