mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-07 07:55:16 +02:00
55 lines
2 KiB
Python
55 lines
2 KiB
Python
from types import SimpleNamespace
|
|
from unittest.mock import patch
|
|
|
|
from pipecat.transcriptions.language import Language
|
|
|
|
from api.services.configuration.registry import ServiceProviders
|
|
from api.services.pipecat.service_factory import create_stt_service
|
|
|
|
|
|
def test_create_google_stt_service_uses_credentials_location_and_language():
|
|
user_config = SimpleNamespace(
|
|
stt=SimpleNamespace(
|
|
provider=ServiceProviders.GOOGLE.value,
|
|
credentials='{"project_id":"demo-project"}',
|
|
api_key=None,
|
|
model="latest_long",
|
|
language="en-US",
|
|
location="us-central1",
|
|
)
|
|
)
|
|
audio_config = SimpleNamespace(transport_in_sample_rate=16000)
|
|
|
|
with patch("api.services.pipecat.service_factory.GoogleSTTService") as mock_service:
|
|
create_stt_service(user_config, audio_config)
|
|
|
|
assert mock_service.call_count == 1
|
|
kwargs = mock_service.call_args.kwargs
|
|
assert kwargs["credentials"] == '{"project_id":"demo-project"}'
|
|
assert kwargs["location"] == "us-central1"
|
|
assert kwargs["sample_rate"] == 16000
|
|
assert kwargs["settings"].model == "latest_long"
|
|
assert kwargs["settings"].languages == [Language.EN_US]
|
|
|
|
|
|
def test_create_google_stt_service_falls_back_to_raw_language_codes():
|
|
user_config = SimpleNamespace(
|
|
stt=SimpleNamespace(
|
|
provider=ServiceProviders.GOOGLE.value,
|
|
credentials=None,
|
|
api_key=None,
|
|
model="chirp_3",
|
|
language="cmn-Hans-CN",
|
|
location="global",
|
|
)
|
|
)
|
|
audio_config = SimpleNamespace(transport_in_sample_rate=24000)
|
|
|
|
with patch("api.services.pipecat.service_factory.GoogleSTTService") as mock_service:
|
|
create_stt_service(user_config, audio_config)
|
|
|
|
assert mock_service.call_count == 1
|
|
kwargs = mock_service.call_args.kwargs
|
|
assert kwargs["sample_rate"] == 24000
|
|
assert kwargs["settings"].model == "chirp_3"
|
|
assert kwargs["settings"].language_codes == ["cmn-Hans-CN"]
|