fix transcriber tests for strict language validation
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user