summaryrefslogtreecommitdiff
path: root/internal/hexaiaction/run_more_test.go
blob: 1c0eb51f6d01b8457509b729593e32b416e089f1 (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
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
}