fix transcriber tests for strict language validation

This commit is contained in:
leonardotrapani
2026-02-02 10:54:27 +01:00
parent 2e2ad9ceeb
commit 0981317aa2
+14 -13
View File
@@ -3,6 +3,7 @@ package transcriber
import ( import (
"context" "context"
"fmt" "fmt"
"strings"
"testing" "testing"
"time" "time"
@@ -81,7 +82,7 @@ func TestNewTranscriber(t *testing.T) {
config: Config{ config: Config{
Provider: "elevenlabs", Provider: "elevenlabs",
APIKey: "test-key", APIKey: "test-key",
Language: "en", Language: "eng", // ElevenLabs uses ISO 639-3
Model: "scribe_v1", Model: "scribe_v1",
}, },
wantErr: false, wantErr: false,
@@ -91,7 +92,7 @@ func TestNewTranscriber(t *testing.T) {
config: Config{ config: Config{
Provider: "elevenlabs", Provider: "elevenlabs",
APIKey: "test-key", APIKey: "test-key",
Language: "pt", Language: "por", // ElevenLabs uses ISO 639-3
Model: "scribe_v2", Model: "scribe_v2",
}, },
wantErr: false, wantErr: false,
@@ -101,7 +102,7 @@ func TestNewTranscriber(t *testing.T) {
config: Config{ config: Config{
Provider: "elevenlabs", Provider: "elevenlabs",
APIKey: "", APIKey: "",
Language: "en", Language: "eng",
Model: "scribe_v1", Model: "scribe_v1",
}, },
wantErr: true, wantErr: true,
@@ -139,7 +140,7 @@ func TestNewTranscriber(t *testing.T) {
config: Config{ config: Config{
Provider: "elevenlabs", Provider: "elevenlabs",
APIKey: "test-key", APIKey: "test-key",
Language: "en", Language: "eng", // ElevenLabs uses ISO 639-3
Model: "scribe_v2_realtime", Model: "scribe_v2_realtime",
Streaming: true, Streaming: true,
}, },
@@ -150,7 +151,7 @@ func TestNewTranscriber(t *testing.T) {
config: Config{ config: Config{
Provider: "elevenlabs", Provider: "elevenlabs",
APIKey: "test-key", APIKey: "test-key",
Language: "en", Language: "eng", // ElevenLabs uses ISO 639-3
Model: "scribe_v2", Model: "scribe_v2",
Streaming: true, Streaming: true,
}, },
@@ -969,8 +970,8 @@ func TestStreamingTranscriber_GetFinalTranscriptionSafe(t *testing.T) {
} }
} }
func TestNewTranscriber_LanguageFallback(t *testing.T) { func TestNewTranscriber_UnsupportedLanguageErrors(t *testing.T) {
// test that incompatible language falls back to auto-detect (no error) // test that incompatible language returns an error
// base.en only supports English // base.en only supports English
config := Config{ config := Config{
Provider: "whisper-cpp", Provider: "whisper-cpp",
@@ -978,15 +979,15 @@ func TestNewTranscriber_LanguageFallback(t *testing.T) {
Model: "base.en", Model: "base.en",
} }
// should succeed (fallback to auto), not error // should error, not silently fall back
transcriber, err := NewTranscriber(config) _, err := NewTranscriber(config)
if err != nil { if err == nil {
t.Errorf("NewTranscriber() should fall back to auto, got error: %v", err) t.Errorf("NewTranscriber() should error on unsupported language")
return return
} }
if transcriber == nil { if !strings.Contains(err.Error(), "does not support language") {
t.Errorf("NewTranscriber() returned nil transcriber") t.Errorf("expected 'does not support language' error, got: %v", err)
} }
} }