mirror of https://github.com/home-assistant/core
58 lines
1.6 KiB
Python
58 lines
1.6 KiB
Python
"""Test the legacy stt setup."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from homeassistant.components.stt import Provider
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers.discovery import async_load_platform
|
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
|
|
|
from .common import mock_stt_platform
|
|
|
|
|
|
async def test_invalid_platform(
|
|
hass: HomeAssistant, caplog: pytest.LogCaptureFixture, tmp_path: Path
|
|
) -> None:
|
|
"""Test platform setup with an invalid platform."""
|
|
await async_load_platform(
|
|
hass,
|
|
"stt",
|
|
"bad_stt",
|
|
{"stt": [{"platform": "bad_stt"}]},
|
|
hass_config={"stt": [{"platform": "bad_stt"}]},
|
|
)
|
|
await hass.async_block_till_done()
|
|
|
|
assert "Unknown speech-to-text platform specified" in caplog.text
|
|
|
|
|
|
async def test_platform_setup_with_error(
|
|
hass: HomeAssistant, caplog: pytest.LogCaptureFixture, tmp_path: Path
|
|
) -> None:
|
|
"""Test platform setup with an error during setup."""
|
|
|
|
async def async_get_engine(
|
|
hass: HomeAssistant,
|
|
config: ConfigType,
|
|
discovery_info: DiscoveryInfoType | None = None,
|
|
) -> Provider:
|
|
"""Raise exception during platform setup."""
|
|
raise Exception("Setup error") # noqa: TRY002
|
|
|
|
mock_stt_platform(hass, tmp_path, "bad_stt", async_get_engine=async_get_engine)
|
|
|
|
await async_load_platform(
|
|
hass,
|
|
"stt",
|
|
"bad_stt",
|
|
{},
|
|
hass_config={"stt": [{"platform": "bad_stt"}]},
|
|
)
|
|
await hass.async_block_till_done()
|
|
|
|
assert "Error setting up platform: bad_stt" in caplog.text
|