Include engine name in STT WS responses (#124684)

This commit is contained in:
Erik Montnemery 2024-08-27 11:14:17 +02:00 committed by GitHub
parent dece7e0f9c
commit 823b62d8ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 7 deletions

View File

@ -448,6 +448,7 @@ def websocket_list_engines(
for engine_id, provider in legacy_providers.items(): for engine_id, provider in legacy_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:

View File

@ -399,8 +399,11 @@ async def test_restore_state(
@pytest.mark.parametrize( @pytest.mark.parametrize(
("setup", "engine_id"), ("setup", "engine_id", "extra_data"),
[("mock_setup", "test"), ("mock_config_entry_setup", "stt.test")], [
("mock_setup", "test", {"name": "test"}),
("mock_config_entry_setup", "stt.test", {}),
],
indirect=["setup"], indirect=["setup"],
) )
async def test_ws_list_engines( async def test_ws_list_engines(
@ -408,6 +411,7 @@ async def test_ws_list_engines(
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
setup: MockProvider | MockProviderEntity, setup: MockProvider | MockProviderEntity,
engine_id: str, engine_id: str,
extra_data: dict[str, str],
) -> None: ) -> None:
"""Test listing speech-to-text engines.""" """Test listing speech-to-text engines."""
client = await hass_ws_client() client = await hass_ws_client()
@ -419,6 +423,7 @@ async def test_ws_list_engines(
assert msg["result"] == { assert msg["result"] == {
"providers": [ "providers": [
{"engine_id": engine_id, "supported_languages": ["de", "de-CH", "en"]} {"engine_id": engine_id, "supported_languages": ["de", "de-CH", "en"]}
| extra_data
] ]
} }
@ -427,7 +432,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": "stt/engine/list", "language": "en"}) await client.send_json_auto_id({"type": "stt/engine/list", "language": "en"})
@ -435,7 +440,9 @@ 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": ["en"]}] "providers": [
{"engine_id": engine_id, "supported_languages": ["en"]} | extra_data
]
} }
await client.send_json_auto_id({"type": "stt/engine/list", "language": "en-UK"}) await client.send_json_auto_id({"type": "stt/engine/list", "language": "en-UK"})
@ -443,7 +450,9 @@ 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": ["en"]}] "providers": [
{"engine_id": engine_id, "supported_languages": ["en"]} | extra_data
]
} }
await client.send_json_auto_id({"type": "stt/engine/list", "language": "de"}) await client.send_json_auto_id({"type": "stt/engine/list", "language": "de"})
@ -451,7 +460,10 @@ async def test_ws_list_engines(
assert msg["type"] == "result" assert msg["type"] == "result"
assert msg["success"] assert msg["success"]
assert msg["result"] == { assert msg["result"] == {
"providers": [{"engine_id": engine_id, "supported_languages": ["de", "de-CH"]}] "providers": [
{"engine_id": engine_id, "supported_languages": ["de", "de-CH"]}
| extra_data
]
} }
await client.send_json_auto_id( await client.send_json_auto_id(
@ -461,7 +473,10 @@ async def test_ws_list_engines(
assert msg["type"] == "result" assert msg["type"] == "result"
assert msg["success"] assert msg["success"]
assert msg["result"] == { assert msg["result"] == {
"providers": [{"engine_id": engine_id, "supported_languages": ["de-CH", "de"]}] "providers": [
{"engine_id": engine_id, "supported_languages": ["de-CH", "de"]}
| extra_data
]
} }