diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-19 21:58:20 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-19 21:58:20 +0300 |
| commit | baaa2a95b323296992bcce9c8cdc789c1c52d917 (patch) | |
| tree | dbb2f8a231c1827cb571a1733abd5f7c66d31f4f /internal/apicircuit/apicircuit_test.go | |
| parent | a87e799634280e2b52a5fcacafc44cb28a0d288e (diff) | |
u4: add core infrastructure scaffolding
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") + } +} |
