hugin/cli/cmd/hugin/sync_test.go
2026-10-27 08:33:21 +01:00

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")
}
}