package auth import "testing" func TestIsAuthorized(t *testing.T) { cases := []struct { name string groups []string required string want bool }{ {"in group", []string{"hsa-users"}, "hsa-users", true}, {"in group among others", []string{"admins", "hsa-users", "devs"}, "hsa-users", true}, {"empty groups", []string{}, "hsa-users", false}, {"nil groups", nil, "hsa-users", false}, {"other group only", []string{"admins"}, "hsa-users", false}, {"wrong case", []string{"HSA-USERS"}, "hsa-users", false}, } for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { got := IsAuthorized(tc.groups, tc.required) if got != tc.want { t.Errorf("IsAuthorized(%v, %q) = %v, want %v", tc.groups, tc.required, got, tc.want) } }) } }