package api import ( "testing" "k8s.io/kubernetes/pkg/util/sets" ) func TestEscalating(t *testing.T) { escalatingResources := NormalizeResources(sets.NewString(groupsToResources[escalatingResourcesGroupName]...)) nonEscalatingResources := NormalizeResources(sets.NewString(groupsToResources[nonescalatingResourcesGroupName]...)) if len(nonEscalatingResources) <= len(escalatingResources) { t.Errorf("groups look bad: escalating=%v nonescalating=%v", escalatingResources.List(), nonEscalatingResources.List()) } } func TestNormalizeResources(t *testing.T) { tests := []struct { name string resource string expected string }{ {"capA", "capA", "capa"}, {"capH", "capH", "caph"}, {"capZ", "capZ", "capz"}, {"group", buildGroupName, "builds"}, } for _, test := range tests { normalizedNames := NormalizeResources(sets.NewString(test.resource)) if !normalizedNames.Has(test.expected) { t.Errorf("%s: expected %s, got %v", test.name, test.expected, normalizedNames) } } } func TestNeedsNormalization(t *testing.T) { tests := []struct { name string resource string expected bool }{ {"cap", "G", true}, {"lowera", "lowera", false}, {"lowerh", "lowerh", false}, {"lowerz", "lowerz", false}, {"0", "0", false}, {"5", "5", false}, {"9", "9", false}, {"/", "/", false}, {"-", "-", false}, {".", ".", false}, {resourceGroupPrefix, resourceGroupPrefix, true}, } for _, test := range tests { needsNormalizing := needsNormalizing(test.resource) if needsNormalizing != test.expected { t.Errorf("%s: expected %v, got %v", test.name, test.expected, needsNormalizing) } } }