mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 17:57:55 +00:00
Add missing hass type hint in component tests (g) (#124203)
This commit is contained in:
parent
1fdcbc3f15
commit
25d33e96cc
@ -32,10 +32,12 @@ from homeassistant.core import (
|
|||||||
DOMAIN as HOMEASSISTANT_DOMAIN,
|
DOMAIN as HOMEASSISTANT_DOMAIN,
|
||||||
CoreState,
|
CoreState,
|
||||||
HomeAssistant,
|
HomeAssistant,
|
||||||
|
ServiceCall,
|
||||||
State,
|
State,
|
||||||
callback,
|
callback,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
|
from homeassistant.helpers.typing import StateType
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
@ -206,7 +208,7 @@ async def test_unique_id(
|
|||||||
assert entry.unique_id == unique_id
|
assert entry.unique_id == unique_id
|
||||||
|
|
||||||
|
|
||||||
def _setup_sensor(hass, humidity):
|
def _setup_sensor(hass: HomeAssistant, humidity: StateType) -> None:
|
||||||
"""Set up the test sensor."""
|
"""Set up the test sensor."""
|
||||||
hass.states.async_set(ENT_SENSOR, humidity)
|
hass.states.async_set(ENT_SENSOR, humidity)
|
||||||
|
|
||||||
@ -669,13 +671,13 @@ async def test_operation_mode_humidify(hass: HomeAssistant) -> None:
|
|||||||
assert call.data["entity_id"] == ENT_SWITCH
|
assert call.data["entity_id"] == ENT_SWITCH
|
||||||
|
|
||||||
|
|
||||||
async def _setup_switch(hass, is_on):
|
async def _setup_switch(hass: HomeAssistant, is_on: bool) -> list[ServiceCall]:
|
||||||
"""Set up the test switch."""
|
"""Set up the test switch."""
|
||||||
hass.states.async_set(ENT_SWITCH, STATE_ON if is_on else STATE_OFF)
|
hass.states.async_set(ENT_SWITCH, STATE_ON if is_on else STATE_OFF)
|
||||||
calls = []
|
calls = []
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def log_call(call):
|
def log_call(call: ServiceCall) -> None:
|
||||||
"""Log service calls."""
|
"""Log service calls."""
|
||||||
calls.append(call)
|
calls.append(call)
|
||||||
|
|
||||||
@ -1615,7 +1617,7 @@ async def test_restore_state_uncoherence_case(hass: HomeAssistant) -> None:
|
|||||||
assert state.state == STATE_OFF
|
assert state.state == STATE_OFF
|
||||||
|
|
||||||
|
|
||||||
async def _setup_humidifier(hass):
|
async def _setup_humidifier(hass: HomeAssistant) -> None:
|
||||||
assert await async_setup_component(
|
assert await async_setup_component(
|
||||||
hass,
|
hass,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
@ -1635,7 +1637,9 @@ async def _setup_humidifier(hass):
|
|||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
|
||||||
def _mock_restore_cache(hass, humidity=40, state=STATE_OFF):
|
def _mock_restore_cache(
|
||||||
|
hass: HomeAssistant, humidity: int = 40, state: str = STATE_OFF
|
||||||
|
) -> None:
|
||||||
mock_restore_cache(
|
mock_restore_cache(
|
||||||
hass,
|
hass,
|
||||||
(
|
(
|
||||||
|
@ -40,11 +40,13 @@ from homeassistant.core import (
|
|||||||
DOMAIN as HOMEASSISTANT_DOMAIN,
|
DOMAIN as HOMEASSISTANT_DOMAIN,
|
||||||
CoreState,
|
CoreState,
|
||||||
HomeAssistant,
|
HomeAssistant,
|
||||||
|
ServiceCall,
|
||||||
State,
|
State,
|
||||||
callback,
|
callback,
|
||||||
)
|
)
|
||||||
from homeassistant.exceptions import ServiceValidationError
|
from homeassistant.exceptions import ServiceValidationError
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
|
from homeassistant.helpers.typing import StateType
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
from homeassistant.util import dt as dt_util
|
from homeassistant.util import dt as dt_util
|
||||||
from homeassistant.util.unit_system import METRIC_SYSTEM, US_CUSTOMARY_SYSTEM
|
from homeassistant.util.unit_system import METRIC_SYSTEM, US_CUSTOMARY_SYSTEM
|
||||||
@ -208,7 +210,7 @@ async def test_unique_id(
|
|||||||
assert entry.unique_id == unique_id
|
assert entry.unique_id == unique_id
|
||||||
|
|
||||||
|
|
||||||
def _setup_sensor(hass, temp):
|
def _setup_sensor(hass: HomeAssistant, temp: StateType) -> None:
|
||||||
"""Set up the test sensor."""
|
"""Set up the test sensor."""
|
||||||
hass.states.async_set(ENT_SENSOR, temp)
|
hass.states.async_set(ENT_SENSOR, temp)
|
||||||
|
|
||||||
@ -594,13 +596,13 @@ async def test_hvac_mode_heat(hass: HomeAssistant) -> None:
|
|||||||
assert call.data["entity_id"] == ENT_SWITCH
|
assert call.data["entity_id"] == ENT_SWITCH
|
||||||
|
|
||||||
|
|
||||||
def _setup_switch(hass, is_on):
|
def _setup_switch(hass: HomeAssistant, is_on: bool) -> list[ServiceCall]:
|
||||||
"""Set up the test switch."""
|
"""Set up the test switch."""
|
||||||
hass.states.async_set(ENT_SWITCH, STATE_ON if is_on else STATE_OFF)
|
hass.states.async_set(ENT_SWITCH, STATE_ON if is_on else STATE_OFF)
|
||||||
calls = []
|
calls = []
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def log_call(call):
|
def log_call(call: ServiceCall) -> None:
|
||||||
"""Log service calls."""
|
"""Log service calls."""
|
||||||
calls.append(call)
|
calls.append(call)
|
||||||
|
|
||||||
@ -1374,7 +1376,7 @@ async def test_restore_state_uncoherence_case(hass: HomeAssistant) -> None:
|
|||||||
assert state.state == HVACMode.OFF
|
assert state.state == HVACMode.OFF
|
||||||
|
|
||||||
|
|
||||||
async def _setup_climate(hass):
|
async def _setup_climate(hass: HomeAssistant) -> None:
|
||||||
assert await async_setup_component(
|
assert await async_setup_component(
|
||||||
hass,
|
hass,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
@ -1393,7 +1395,9 @@ async def _setup_climate(hass):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def _mock_restore_cache(hass, temperature=20, hvac_mode=HVACMode.OFF):
|
def _mock_restore_cache(
|
||||||
|
hass: HomeAssistant, temperature: int = 20, hvac_mode: HVACMode = HVACMode.OFF
|
||||||
|
) -> None:
|
||||||
mock_restore_cache(
|
mock_restore_cache(
|
||||||
hass,
|
hass,
|
||||||
(
|
(
|
||||||
|
@ -130,7 +130,7 @@ async def primary_calendar(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def fire_alarm(hass, point_in_time):
|
async def fire_alarm(hass: HomeAssistant, point_in_time: datetime.datetime) -> None:
|
||||||
"""Fire an alarm and wait for callbacks to run."""
|
"""Fire an alarm and wait for callbacks to run."""
|
||||||
with freeze_time(point_in_time):
|
with freeze_time(point_in_time):
|
||||||
async_fire_time_changed(hass, point_in_time)
|
async_fire_time_changed(hass, point_in_time)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"""Tests for the Google Generative AI Conversation integration conversation platform."""
|
"""Tests for the Google Generative AI Conversation integration conversation platform."""
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
from unittest.mock import AsyncMock, MagicMock, patch
|
from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
|
|
||||||
from freezegun import freeze_time
|
from freezegun import freeze_time
|
||||||
@ -215,7 +216,9 @@ async def test_function_call(
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
def tool_call(hass, tool_input, tool_context):
|
def tool_call(
|
||||||
|
hass: HomeAssistant, tool_input: llm.ToolInput, tool_context: llm.LLMContext
|
||||||
|
) -> dict[str, Any]:
|
||||||
mock_part.function_call = None
|
mock_part.function_call = None
|
||||||
mock_part.text = "Hi there!"
|
mock_part.text = "Hi there!"
|
||||||
return {"result": "Test response"}
|
return {"result": "Test response"}
|
||||||
@ -314,7 +317,9 @@ async def test_function_call_without_parameters(
|
|||||||
mock_part = MagicMock()
|
mock_part = MagicMock()
|
||||||
mock_part.function_call = FunctionCall(name="test_tool", args={})
|
mock_part.function_call = FunctionCall(name="test_tool", args={})
|
||||||
|
|
||||||
def tool_call(hass, tool_input, tool_context):
|
def tool_call(
|
||||||
|
hass: HomeAssistant, tool_input: llm.ToolInput, tool_context: llm.LLMContext
|
||||||
|
) -> dict[str, Any]:
|
||||||
mock_part.function_call = None
|
mock_part.function_call = None
|
||||||
mock_part.text = "Hi there!"
|
mock_part.text = "Hi there!"
|
||||||
return {"result": "Test response"}
|
return {"result": "Test response"}
|
||||||
@ -400,7 +405,9 @@ async def test_function_exception(
|
|||||||
mock_part = MagicMock()
|
mock_part = MagicMock()
|
||||||
mock_part.function_call = FunctionCall(name="test_tool", args={"param1": 1})
|
mock_part.function_call = FunctionCall(name="test_tool", args={"param1": 1})
|
||||||
|
|
||||||
def tool_call(hass, tool_input, tool_context):
|
def tool_call(
|
||||||
|
hass: HomeAssistant, tool_input: llm.ToolInput, tool_context: llm.LLMContext
|
||||||
|
) -> dict[str, Any]:
|
||||||
mock_part.function_call = None
|
mock_part.function_call = None
|
||||||
mock_part.text = "Hi there!"
|
mock_part.text = "Hi there!"
|
||||||
raise HomeAssistantError("Test tool exception")
|
raise HomeAssistantError("Test tool exception")
|
||||||
|
@ -4,6 +4,7 @@ from collections.abc import Generator
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import os
|
import os
|
||||||
|
from typing import Any
|
||||||
from unittest.mock import MagicMock, Mock, patch
|
from unittest.mock import MagicMock, Mock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@ -111,7 +112,7 @@ async def test_full_config(hass: HomeAssistant, mock_client) -> None:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def _setup(hass, filter_config):
|
async def _setup(hass: HomeAssistant, filter_config: dict[str, Any]) -> None:
|
||||||
"""Shared set up for filtering tests."""
|
"""Shared set up for filtering tests."""
|
||||||
config = {
|
config = {
|
||||||
google_pubsub.DOMAIN: {
|
google_pubsub.DOMAIN: {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from http import HTTPStatus
|
from http import HTTPStatus
|
||||||
|
from typing import Any
|
||||||
from unittest.mock import Mock, patch
|
from unittest.mock import Mock, patch
|
||||||
|
|
||||||
import requests_mock
|
import requests_mock
|
||||||
@ -78,7 +79,9 @@ async def test_setup_get(
|
|||||||
assert_setup_component(6, "sensor")
|
assert_setup_component(6, "sensor")
|
||||||
|
|
||||||
|
|
||||||
def setup_api(hass, data, requests_mock):
|
def setup_api(
|
||||||
|
hass: HomeAssistant | None, data: str | None, requests_mock: requests_mock.Mocker
|
||||||
|
) -> tuple[google_wifi.GoogleWifiAPI, dict[str, Any]]:
|
||||||
"""Set up API with fake data."""
|
"""Set up API with fake data."""
|
||||||
resource = f"http://localhost{google_wifi.ENDPOINT}"
|
resource = f"http://localhost{google_wifi.ENDPOINT}"
|
||||||
now = datetime(1970, month=1, day=1)
|
now = datetime(1970, month=1, day=1)
|
||||||
@ -101,7 +104,7 @@ def setup_api(hass, data, requests_mock):
|
|||||||
return api, sensor_dict
|
return api, sensor_dict
|
||||||
|
|
||||||
|
|
||||||
def fake_delay(hass, ha_delay):
|
def fake_delay(hass: HomeAssistant, ha_delay: int) -> None:
|
||||||
"""Fake delay to prevent update throttle."""
|
"""Fake delay to prevent update throttle."""
|
||||||
hass_now = dt_util.utcnow()
|
hass_now = dt_util.utcnow()
|
||||||
shifted_time = hass_now + timedelta(seconds=ha_delay)
|
shifted_time = hass_now + timedelta(seconds=ha_delay)
|
||||||
@ -220,7 +223,9 @@ def test_update_when_unavailable(
|
|||||||
assert sensor.state is None
|
assert sensor.state is None
|
||||||
|
|
||||||
|
|
||||||
def update_side_effect(hass, requests_mock):
|
def update_side_effect(
|
||||||
|
hass: HomeAssistant, requests_mock: requests_mock.Mocker
|
||||||
|
) -> None:
|
||||||
"""Mock representation of update function."""
|
"""Mock representation of update function."""
|
||||||
api, sensor_dict = setup_api(hass, MOCK_DATA, requests_mock)
|
api, sensor_dict = setup_api(hass, MOCK_DATA, requests_mock)
|
||||||
api.data = None
|
api.data = None
|
||||||
|
@ -13,32 +13,32 @@ from homeassistant.components.group import (
|
|||||||
SERVICE_SET,
|
SERVICE_SET,
|
||||||
)
|
)
|
||||||
from homeassistant.const import ATTR_ICON, ATTR_NAME, SERVICE_RELOAD
|
from homeassistant.const import ATTR_ICON, ATTR_NAME, SERVICE_RELOAD
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.loader import bind_hass
|
from homeassistant.loader import bind_hass
|
||||||
|
|
||||||
|
|
||||||
@bind_hass
|
@bind_hass
|
||||||
def reload(hass):
|
def reload(hass: HomeAssistant) -> None:
|
||||||
"""Reload the automation from config."""
|
"""Reload the automation from config."""
|
||||||
hass.add_job(async_reload, hass)
|
hass.add_job(async_reload, hass)
|
||||||
|
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
@bind_hass
|
@bind_hass
|
||||||
def async_reload(hass):
|
def async_reload(hass: HomeAssistant) -> None:
|
||||||
"""Reload the automation from config."""
|
"""Reload the automation from config."""
|
||||||
hass.async_create_task(hass.services.async_call(DOMAIN, SERVICE_RELOAD))
|
hass.async_create_task(hass.services.async_call(DOMAIN, SERVICE_RELOAD))
|
||||||
|
|
||||||
|
|
||||||
@bind_hass
|
@bind_hass
|
||||||
def set_group(
|
def set_group(
|
||||||
hass,
|
hass: HomeAssistant,
|
||||||
object_id,
|
object_id: str,
|
||||||
name=None,
|
name: str | None = None,
|
||||||
entity_ids=None,
|
entity_ids: list[str] | None = None,
|
||||||
icon=None,
|
icon: str | None = None,
|
||||||
add=None,
|
add: list[str] | None = None,
|
||||||
):
|
) -> None:
|
||||||
"""Create/Update a group."""
|
"""Create/Update a group."""
|
||||||
hass.add_job(
|
hass.add_job(
|
||||||
async_set_group,
|
async_set_group,
|
||||||
@ -54,13 +54,13 @@ def set_group(
|
|||||||
@callback
|
@callback
|
||||||
@bind_hass
|
@bind_hass
|
||||||
def async_set_group(
|
def async_set_group(
|
||||||
hass,
|
hass: HomeAssistant,
|
||||||
object_id,
|
object_id: str,
|
||||||
name=None,
|
name: str | None = None,
|
||||||
entity_ids=None,
|
entity_ids: list[str] | None = None,
|
||||||
icon=None,
|
icon: str | None = None,
|
||||||
add=None,
|
add: list[str] | None = None,
|
||||||
):
|
) -> None:
|
||||||
"""Create/Update a group."""
|
"""Create/Update a group."""
|
||||||
data = {
|
data = {
|
||||||
key: value
|
key: value
|
||||||
@ -79,7 +79,7 @@ def async_set_group(
|
|||||||
|
|
||||||
@callback
|
@callback
|
||||||
@bind_hass
|
@bind_hass
|
||||||
def async_remove(hass, object_id):
|
def async_remove(hass: HomeAssistant, object_id: str) -> None:
|
||||||
"""Remove a user group."""
|
"""Remove a user group."""
|
||||||
data = {ATTR_OBJECT_ID: object_id}
|
data = {ATTR_OBJECT_ID: object_id}
|
||||||
hass.async_create_task(hass.services.async_call(DOMAIN, SERVICE_REMOVE, data))
|
hass.async_create_task(hass.services.async_call(DOMAIN, SERVICE_REMOVE, data))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user