metis/pkg/facts/targets_test.go

27 lines
772 B
Go

package facts
import "testing"
func TestChooseTargetsPicksMostCommon(t *testing.T) {
sum := &ClassSummary{
Kernels: map[string]int{"k1": 2, "k2": 1},
OSImages: map[string]int{"os1": 1},
Containerd: map[string]int{"c1": 2, "c2": 2}, // tie -> empty
K3sVersions: map[string]int{"k3s1": 3},
PackageStats: map[string]map[string]int{
"containerd": {"1.7": 1, "2.0": 2},
"k3s": {"v1": 1},
},
}
tg := ChooseTargets(sum)
if tg.Kernel != "k1" || tg.OSImage != "os1" || tg.K3sVersion != "k3s1" {
t.Fatalf("unexpected targets: %+v", tg)
}
if tg.Containerd != "" {
t.Fatalf("expected tie -> empty for containerd, got %q", tg.Containerd)
}
if tg.Packages["containerd"] != "2.0" {
t.Fatalf("package target wrong: %+v", tg.Packages)
}
}