summaryrefslogtreecommitdiff
path: root/internal/hexaiaction/run_more_test.go
blob: d7ab0259dade2b9c0ae9e26677424d2610bb3d3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package hexaiaction

import (
    "bytes"
    "context"
    "os"
    "testing"
)

// Covers the early error path in Run when no API key is available for the default provider.
func TestRun_MissingAPIKey(t *testing.T) {
    // Ensure no provider API keys in env
    for _, k := range []string{"HEXAI_OPENAI_API_KEY", "OPENAI_API_KEY", "HEXAI_COPILOT_API_KEY", "COPILOT_API_KEY"} {
        t.Setenv(k, "")
    }
    // Provide minimal stdin to get past empty input check (if reached)
    in := bytes.NewBufferString("some selection text")
    var out bytes.Buffer
    var errBuf bytes.Buffer
    // Expect an error due to missing OPENAI_API_KEY (default provider is openai)
    if err := Run(context.Background(), in, &out, &errBuf); err == nil {
        t.Fatal("expected error when API key is missing")
    }
    _ = os.Stderr
}