mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Add type hints to requests_mock (#87757)
This commit is contained in:
parent
fac746c974
commit
22bfb99db4
@ -112,6 +112,7 @@ _TEST_FIXTURES: dict[str, list[str] | str] = {
|
|||||||
"mqtt_mock_entry_with_yaml_config": "MqttMockHAClientGenerator",
|
"mqtt_mock_entry_with_yaml_config": "MqttMockHAClientGenerator",
|
||||||
"recorder_db_url": "str",
|
"recorder_db_url": "str",
|
||||||
"recorder_mock": "Recorder",
|
"recorder_mock": "Recorder",
|
||||||
|
"requests_mock": "requests_mock.Mocker",
|
||||||
}
|
}
|
||||||
_TEST_FUNCTION_MATCH = TypeHintMatch(
|
_TEST_FUNCTION_MATCH = TypeHintMatch(
|
||||||
function_name="test_*",
|
function_name="test_*",
|
||||||
|
@ -5,6 +5,7 @@ from unittest.mock import patch
|
|||||||
|
|
||||||
import forecastio
|
import forecastio
|
||||||
from requests.exceptions import ConnectionError as ConnectError
|
from requests.exceptions import ConnectionError as ConnectError
|
||||||
|
import requests_mock
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.setup import async_setup_component
|
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."""
|
"""Test the platform setup with configuration."""
|
||||||
with patch("homeassistant.components.darksky.sensor.forecastio.load_forecast"):
|
with patch("homeassistant.components.darksky.sensor.forecastio.load_forecast"):
|
||||||
assert await async_setup_component(hass, "sensor", VALID_CONFIG_MINIMAL)
|
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
|
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."""
|
"""Test for handling a bad API key."""
|
||||||
# The Dark Sky API wrapper that we use raises an HTTP error
|
# The Dark Sky API wrapper that we use raises an HTTP error
|
||||||
# when you try to use a bad (or no) API key.
|
# 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
|
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."""
|
"""Test for successfully setting up the forecast.io platform."""
|
||||||
with patch(
|
with patch(
|
||||||
"forecastio.api.get_forecast", wraps=forecastio.api.get_forecast
|
"forecastio.api.get_forecast", wraps=forecastio.api.get_forecast
|
||||||
|
@ -4,6 +4,7 @@ from unittest.mock import patch
|
|||||||
|
|
||||||
import forecastio
|
import forecastio
|
||||||
from requests.exceptions import ConnectionError as ConnectError
|
from requests.exceptions import ConnectionError as ConnectError
|
||||||
|
import requests_mock
|
||||||
|
|
||||||
from homeassistant.components import weather
|
from homeassistant.components import weather
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
@ -12,7 +13,7 @@ from homeassistant.setup import async_setup_component
|
|||||||
from tests.common import load_fixture
|
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."""
|
"""Test for successfully setting up the forecast.io platform."""
|
||||||
with patch(
|
with patch(
|
||||||
"forecastio.api.get_forecast", wraps=forecastio.api.get_forecast
|
"forecastio.api.get_forecast", wraps=forecastio.api.get_forecast
|
||||||
|
@ -28,7 +28,7 @@ import freezegun
|
|||||||
import multidict
|
import multidict
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_socket
|
import pytest_socket
|
||||||
import requests_mock as _requests_mock
|
import requests_mock
|
||||||
|
|
||||||
from homeassistant import core as ha, loader, runner, util
|
from homeassistant import core as ha, loader, runner, util
|
||||||
from homeassistant.auth.const import GROUP_ID_ADMIN, GROUP_ID_READ_ONLY
|
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()
|
await event_loop.shutdown_default_executor()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture(name="requests_mock")
|
||||||
def requests_mock():
|
def requests_mock_fixture() -> Generator[requests_mock.Mocker, None, None]:
|
||||||
"""Fixture to provide a requests mocker."""
|
"""Fixture to provide a requests mocker."""
|
||||||
with _requests_mock.mock() as m:
|
with requests_mock.mock() as m:
|
||||||
yield m
|
yield m
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user