mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 10:17:09 +00:00
Include engine name in TTS WS responses (#124683)
This commit is contained in:
parent
823b62d8ab
commit
ef1d53c207
@ -1103,6 +1103,7 @@ def websocket_list_engines(
|
|||||||
for engine_id, provider in manager.providers.items():
|
for engine_id, provider in manager.providers.items():
|
||||||
provider_info = {
|
provider_info = {
|
||||||
"engine_id": engine_id,
|
"engine_id": engine_id,
|
||||||
|
"name": provider.name,
|
||||||
"supported_languages": provider.supported_languages,
|
"supported_languages": provider.supported_languages,
|
||||||
}
|
}
|
||||||
if language:
|
if language:
|
||||||
@ -1153,6 +1154,8 @@ def websocket_get_engine(
|
|||||||
"engine_id": engine_id,
|
"engine_id": engine_id,
|
||||||
"supported_languages": provider.supported_languages,
|
"supported_languages": provider.supported_languages,
|
||||||
}
|
}
|
||||||
|
if isinstance(provider, Provider):
|
||||||
|
provider_info["name"] = provider.name
|
||||||
|
|
||||||
connection.send_message(
|
connection.send_message(
|
||||||
websocket_api.result_message(msg["id"], {"provider": provider_info})
|
websocket_api.result_message(msg["id"], {"provider": provider_info})
|
||||||
|
@ -1565,15 +1565,19 @@ async def test_fetching_in_async(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("setup", "engine_id"),
|
("setup", "engine_id", "extra_data"),
|
||||||
[
|
[
|
||||||
("mock_setup", "test"),
|
("mock_setup", "test", {"name": "Test"}),
|
||||||
("mock_config_entry_setup", "tts.test"),
|
("mock_config_entry_setup", "tts.test", {}),
|
||||||
],
|
],
|
||||||
indirect=["setup"],
|
indirect=["setup"],
|
||||||
)
|
)
|
||||||
async def test_ws_list_engines(
|
async def test_ws_list_engines(
|
||||||
hass: HomeAssistant, hass_ws_client: WebSocketGenerator, setup: str, engine_id: str
|
hass: HomeAssistant,
|
||||||
|
hass_ws_client: WebSocketGenerator,
|
||||||
|
setup: str,
|
||||||
|
engine_id: str,
|
||||||
|
extra_data: dict[str, str],
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test listing tts engines and supported languages."""
|
"""Test listing tts engines and supported languages."""
|
||||||
client = await hass_ws_client()
|
client = await hass_ws_client()
|
||||||
@ -1588,6 +1592,7 @@ async def test_ws_list_engines(
|
|||||||
"engine_id": engine_id,
|
"engine_id": engine_id,
|
||||||
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
||||||
}
|
}
|
||||||
|
| extra_data
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1596,7 +1601,7 @@ async def test_ws_list_engines(
|
|||||||
msg = await client.receive_json()
|
msg = await client.receive_json()
|
||||||
assert msg["success"]
|
assert msg["success"]
|
||||||
assert msg["result"] == {
|
assert msg["result"] == {
|
||||||
"providers": [{"engine_id": engine_id, "supported_languages": []}]
|
"providers": [{"engine_id": engine_id, "supported_languages": []} | extra_data]
|
||||||
}
|
}
|
||||||
|
|
||||||
await client.send_json_auto_id({"type": "tts/engine/list", "language": "en"})
|
await client.send_json_auto_id({"type": "tts/engine/list", "language": "en"})
|
||||||
@ -1606,6 +1611,7 @@ async def test_ws_list_engines(
|
|||||||
assert msg["result"] == {
|
assert msg["result"] == {
|
||||||
"providers": [
|
"providers": [
|
||||||
{"engine_id": engine_id, "supported_languages": ["en_US", "en_GB"]}
|
{"engine_id": engine_id, "supported_languages": ["en_US", "en_GB"]}
|
||||||
|
| extra_data
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1616,6 +1622,7 @@ async def test_ws_list_engines(
|
|||||||
assert msg["result"] == {
|
assert msg["result"] == {
|
||||||
"providers": [
|
"providers": [
|
||||||
{"engine_id": engine_id, "supported_languages": ["en_GB", "en_US"]}
|
{"engine_id": engine_id, "supported_languages": ["en_GB", "en_US"]}
|
||||||
|
| extra_data
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1626,6 +1633,7 @@ async def test_ws_list_engines(
|
|||||||
assert msg["result"] == {
|
assert msg["result"] == {
|
||||||
"providers": [
|
"providers": [
|
||||||
{"engine_id": engine_id, "supported_languages": ["de_DE", "de_CH"]}
|
{"engine_id": engine_id, "supported_languages": ["de_DE", "de_CH"]}
|
||||||
|
| extra_data
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1638,6 +1646,7 @@ async def test_ws_list_engines(
|
|||||||
assert msg["result"] == {
|
assert msg["result"] == {
|
||||||
"providers": [
|
"providers": [
|
||||||
{"engine_id": engine_id, "supported_languages": ["de_CH", "de_DE"]}
|
{"engine_id": engine_id, "supported_languages": ["de_CH", "de_DE"]}
|
||||||
|
| extra_data
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1679,10 +1688,12 @@ async def test_ws_list_engines_deprecated(
|
|||||||
{
|
{
|
||||||
"deprecated": True,
|
"deprecated": True,
|
||||||
"engine_id": "test",
|
"engine_id": "test",
|
||||||
|
"name": "Test",
|
||||||
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"engine_id": "test_2",
|
"engine_id": "test_2",
|
||||||
|
"name": "Test",
|
||||||
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -1690,15 +1701,19 @@ async def test_ws_list_engines_deprecated(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("setup", "engine_id"),
|
("setup", "engine_id", "extra_data"),
|
||||||
[
|
[
|
||||||
("mock_setup", "test"),
|
("mock_setup", "test", {"name": "Test"}),
|
||||||
("mock_config_entry_setup", "tts.test"),
|
("mock_config_entry_setup", "tts.test", {}),
|
||||||
],
|
],
|
||||||
indirect=["setup"],
|
indirect=["setup"],
|
||||||
)
|
)
|
||||||
async def test_ws_get_engine(
|
async def test_ws_get_engine(
|
||||||
hass: HomeAssistant, hass_ws_client: WebSocketGenerator, setup: str, engine_id: str
|
hass: HomeAssistant,
|
||||||
|
hass_ws_client: WebSocketGenerator,
|
||||||
|
setup: str,
|
||||||
|
engine_id: str,
|
||||||
|
extra_data: dict[str, str],
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test getting an tts engine."""
|
"""Test getting an tts engine."""
|
||||||
client = await hass_ws_client()
|
client = await hass_ws_client()
|
||||||
@ -1712,6 +1727,7 @@ async def test_ws_get_engine(
|
|||||||
"engine_id": engine_id,
|
"engine_id": engine_id,
|
||||||
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
"supported_languages": ["de_CH", "de_DE", "en_GB", "en_US"],
|
||||||
}
|
}
|
||||||
|
| extra_data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user