diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-01 13:07:41 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-01 13:07:41 +0300 |
| commit | 5b88a045b29970a3cc057326b85eae58ab41fe02 (patch) | |
| tree | 2d70a826591d58b1b3349f95328b77409cd0267c /internal/processor | |
| parent | b006582e4c7323821eb836080a9bc9ec24243a47 (diff) | |
zr: restore OpenAI default translation provider
Diffstat (limited to 'internal/processor')
| -rw-r--r-- | internal/processor/processor_test.go | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/internal/processor/processor_test.go b/internal/processor/processor_test.go index a9c9ab1..9e6b5fc 100644 --- a/internal/processor/processor_test.go +++ b/internal/processor/processor_test.go @@ -6,12 +6,20 @@ import ( "testing" "codeberg.org/snonux/totalrecall/internal/cli" + "github.com/spf13/viper" ) func TestNewProcessor(t *testing.T) { t.Setenv("OPENAI_API_KEY", "test-openai-key") t.Setenv("GOOGLE_API_KEY", "test-google-key") + originalConfig := viper.New() + *originalConfig = *viper.GetViper() + defer func() { + *viper.GetViper() = *originalConfig + }() + viper.Reset() + flags := cli.NewFlags() p := NewProcessor(flags) @@ -36,6 +44,53 @@ func TestNewProcessor(t *testing.T) { } } +func TestNewProcessor_DefaultTranslationProviderUsesOpenAI(t *testing.T) { + t.Setenv("OPENAI_API_KEY", "") + t.Setenv("GOOGLE_API_KEY", "") + + originalConfig := viper.New() + *originalConfig = *viper.GetViper() + defer func() { + *viper.GetViper() = *originalConfig + }() + viper.Reset() + + flags := cli.NewFlags() + p := NewProcessor(flags) + + _, err := p.translator.TranslateWord("ябълка") + if err == nil { + t.Fatal("Expected error for missing OpenAI API key") + } + if err.Error() != "OpenAI API key not found" { + t.Fatalf("Expected OpenAI default provider error, got: %v", err) + } +} + +func TestNewProcessor_ExplicitGeminiTranslationProvider(t *testing.T) { + t.Setenv("OPENAI_API_KEY", "") + t.Setenv("GOOGLE_API_KEY", "") + + originalConfig := viper.New() + *originalConfig = *viper.GetViper() + defer func() { + *viper.GetViper() = *originalConfig + }() + viper.Reset() + viper.Set("translation.provider", "gemini") + + flags := cli.NewFlags() + p := NewProcessor(flags) + + _, err := p.translator.TranslateWord("ябълка") + if err == nil { + t.Fatal("Expected error for missing Google API key") + } + if err.Error() != "Google API key not found" { + t.Fatalf("Expected Gemini provider error, got: %v", err) + } +} + func TestProcessSingleWord_InvalidWord(t *testing.T) { flags := cli.NewFlags() flags.OutputDir = t.TempDir() |
