31 lines
980 B
Go
31 lines
980 B
Go
package main
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"hugin/cli/internal/bundle"
|
|
)
|
|
|
|
func TestMissingEnv(t *testing.T) {
|
|
hints := []bundle.Hint{
|
|
{Kind: "env_variable", Package: "pub-munin-anbindung", Name: "MUNIN_KEY"},
|
|
{Kind: "env_variable", Package: "pub-jira", Name: "JIRA_KEY"},
|
|
{Kind: "env_variable", Package: "pub-wiki", Name: "WIKI_KEY"},
|
|
{Kind: "min_version", Package: "pub-x", Tool: "claude", Version: "2.1.84"},
|
|
}
|
|
env := map[string]string{"MUNIN_KEY": "geheim", "WIKI_KEY": ""}
|
|
lookup := func(name string) (string, bool) { v, ok := env[name]; return v, ok }
|
|
|
|
got := missingEnv(hints, lookup)
|
|
if len(got) != 2 {
|
|
t.Fatalf("erwartet JIRA_KEY (fehlt) und WIKI_KEY (leer), bekommen: %q", got)
|
|
}
|
|
if !strings.Contains(got[0], "pub-jira") || !strings.Contains(got[0], "JIRA_KEY") ||
|
|
!strings.Contains(got[1], "WIKI_KEY") {
|
|
t.Errorf("falsche Meldungen: %q", got)
|
|
}
|
|
if missingEnv(hints[:1], lookup) != nil {
|
|
t.Error("gesetzte Variable darf nichts melden")
|
|
}
|
|
}
|