cli/internal/bugseti/ghcheck_test.go

38 lines
991 B
Go
Raw Normal View History

package bugseti
import (
"os/exec"
"strings"
"testing"
)
func TestCheckGHCLI_Good(t *testing.T) {
// Only run if gh is actually available (CI-friendly skip)
if _, err := exec.LookPath("gh"); err != nil {
t.Skip("gh CLI not installed, skipping")
}
err := CheckGHCLI()
// We can't guarantee auth status in all environments,
// but if gh is present the function should at least not panic.
if err != nil {
t.Logf("CheckGHCLI returned error (may be expected if not authenticated): %v", err)
}
}
func TestCheckGHCLI_Bad_MissingBinary(t *testing.T) {
// Save and clear PATH to simulate missing gh
t.Setenv("PATH", t.TempDir())
err := CheckGHCLI()
if err == nil {
t.Fatal("expected error when gh is not in PATH")
}
if !strings.Contains(err.Error(), "gh CLI not found") {
t.Errorf("error should mention 'gh CLI not found', got: %v", err)
}
if !strings.Contains(err.Error(), "https://cli.github.com") {
t.Errorf("error should include install URL, got: %v", err)
}
}