diff --git a/app/allowlist.go b/app/allowlist.go index 996572d..567e5f6 100644 --- a/app/allowlist.go +++ b/app/allowlist.go @@ -113,7 +113,7 @@ func SetAllowlist(name string, callers []CallerConfig) error { // GetAllowlist retrieves the allowlist for an integration. func GetAllowlist(name string) []CallerConfig { allowlists.RLock() - m := allowlists.m[name] + m := allowlists.m[strings.ToLower(name)] res := make([]CallerConfig, 0, len(m)) for _, c := range m { res = append(res, c) diff --git a/app/allowlist_test.go b/app/allowlist_test.go index ec5eebc..426aac7 100644 --- a/app/allowlist_test.go +++ b/app/allowlist_test.go @@ -193,6 +193,21 @@ func TestSetAllowlistIndexing(t *testing.T) { } } +func TestGetAllowlistCaseInsensitive(t *testing.T) { + allowlists.Lock() + allowlists.m = make(map[string]map[string]CallerConfig) + allowlists.Unlock() + + if err := SetAllowlist("MiXeD", []CallerConfig{{ID: "caller"}}); err != nil { + t.Fatalf("failed to set allowlist: %v", err) + } + + got := GetAllowlist("MIXED") + if len(got) != 1 || got[0].ID != "caller" { + t.Fatalf("expected case-insensitive allowlist lookup, got %#v", got) + } +} + func TestFindConstraintWildcard(t *testing.T) { allowlists.Lock() allowlists.m = make(map[string]map[string]CallerConfig)