diff options
Diffstat (limited to 'internal/apicircuit/apicircuit_test.go')
| -rw-r--r-- | internal/apicircuit/apicircuit_test.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/internal/apicircuit/apicircuit_test.go b/internal/apicircuit/apicircuit_test.go new file mode 100644 index 0000000..842a0f2 --- /dev/null +++ b/internal/apicircuit/apicircuit_test.go @@ -0,0 +1,40 @@ +package apicircuit + +import ( + "context" + "errors" + "testing" +) + +func TestGeminiTTS_Success(t *testing.T) { + t.Parallel() + + v, err := GeminiTTS(func() (string, error) { + return "ok", nil + }) + if err != nil || v != "ok" { + t.Fatalf("GeminiTTS() = %q, %v; want ok, nil", v, err) + } +} + +func TestGeminiImage_Success(t *testing.T) { + t.Parallel() + + v, err := GeminiImage(func() (int, error) { + return 42, nil + }) + if err != nil || v != 42 { + t.Fatalf("GeminiImage() = %d, %v; want 42, nil", v, err) + } +} + +func TestIsSuccessful_ContextCanceled(t *testing.T) { + t.Parallel() + + if !isSuccessful(context.Canceled) { + t.Fatal("context.Canceled should not count as breaker failure") + } + if isSuccessful(errors.New("api error")) { + t.Fatal("arbitrary errors must count as failure") + } +} |
