Skip to content

Commit 087dc12

Browse files
CLI tests
1 parent 76be3cc commit 087dc12

5 files changed

Lines changed: 35 additions & 4 deletions

File tree

speechmatics/cli.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,9 @@ def get_transcription_config(
286286

287287
if args.get("end_of_utterance_silence_trigger") is not None:
288288
config["conversation_config"] = {
289-
"end_of_utterance_silence_trigger": args.get("end_of_utterance_silence_trigger")
289+
"end_of_utterance_silence_trigger": args.get(
290+
"end_of_utterance_silence_trigger"
291+
)
290292
}
291293

292294
if args.get("volume_threshold") is not None:

speechmatics/cli_parser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,9 @@ def get_arg_parser():
223223
dest="end_of_utterance_silence_trigger",
224224
type=float,
225225
default=None,
226-
help=("Generate an EndOfUtterance message from the server after this many seconds of silence (0.0-2.0)"),
227-
226+
help=(
227+
"Generate an EndOfUtterance message from the server after this many seconds of silence (0.0-2.0)"
228+
),
228229
)
229230
config_parser.add_argument(
230231
"--remove-disfluencies",

tests/mock_rt_server.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,15 @@ def dummy_add_partial_transcript():
120120
}
121121

122122

123+
def dummy_end_of_utterance():
124+
"""Returns a dummy EndOfUtterance message."""
125+
return {
126+
"message": "EndOfUtterance",
127+
"format": "2.1",
128+
"metadata": {"start_time": 3.0, "end_time": 3.0},
129+
}
130+
131+
123132
def dummy_add_transcript():
124133
"""Returns a dummy AddTranscript message."""
125134
return {
@@ -194,9 +203,10 @@ def get_responses(message, is_binary=False):
194203
)
195204
mock_server_handler.next_audio_seq_no += 1
196205

197-
# Answer immediately with a partial and a final.
206+
# Answer immediately with a partial and a final and an end of utterance.
198207
responses.append(dummy_add_partial_transcript())
199208
responses.append(dummy_add_transcript())
209+
responses.append(dummy_end_of_utterance())
200210
else:
201211
msg_name = message.get("message")
202212
if not msg_name:

tests/test_cli.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,10 @@
183183
{"enable_translation_partials": True},
184184
),
185185
(["rt", "transcribe", "--enable-entities"], {"enable_entities": True}),
186+
(
187+
["rt", "transcribe", "--end-of-utterance-silence-trigger=1.8"],
188+
{"end_of_utterance_silence_trigger": 1.8},
189+
),
186190
(["batch", "transcribe", "--enable-entities"], {"enable_entities": True}),
187191
(
188192
["batch", "transcribe", "--speaker-diarization-sensitivity=0.7"],

tests/test_models.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,17 @@ def test_notification_config(params, want):
220220
def test_audio_events_config_config(params, want):
221221
audio_events_config = models.AudioEventsConfig(**params)
222222
assert audio_events_config.asdict() == want
223+
224+
225+
@mark.parametrize(
226+
"params, want",
227+
[
228+
param(
229+
{"end_of_utterance_silence_trigger": 1.8},
230+
{"end_of_utterance_silence_trigger": 1.8},
231+
),
232+
],
233+
)
234+
def test_conversation_config(params, want):
235+
conversation_config = models.ConversationConfig(**params)
236+
assert asdict(conversation_config) == want

0 commit comments

Comments
 (0)