Team LBAC: Fix backend validation (#77612)

* Team LBAC: Fix backend validation

* more tests

* use slices.ContainsFunc()
This commit is contained in:
Alexander Zobnin
2023-11-03 17:02:57 +03:00
committed by GitHub
parent d06abedca2
commit 225a69ba02
2 changed files with 35 additions and 32 deletions
+8 -4
View File
@@ -481,18 +481,22 @@ func TestAPI_datasources_AccessControl(t *testing.T) {
}
}
// TeamHTTPHeaderValueRegexMatch returns a regex that can be used to check
func TestTeamHTTPHeaderValueRegexMatch(t *testing.T) {
func TestValidateLBACHeader(t *testing.T) {
testcases := []struct {
desc string
teamHeaderValue string
want bool
}{
{
desc: "Should be valid regex match for team headervalue",
desc: "Should allow valid header",
teamHeaderValue: `1234:{ name!="value",foo!~"bar" }`,
want: true,
},
{
desc: "Should allow valid selector",
teamHeaderValue: `1234:{ name!="value",foo!~"bar/baz.foo" }`,
want: true,
},
{
desc: "Should return false for incorrect header value",
teamHeaderValue: `1234:!="value",foo!~"bar" }`,
@@ -501,7 +505,7 @@ func TestTeamHTTPHeaderValueRegexMatch(t *testing.T) {
}
for _, tc := range testcases {
t.Run(tc.desc, func(t *testing.T) {
assert.Equal(t, tc.want, teamHTTPHeaderValueRegexMatch(tc.teamHeaderValue))
assert.Equal(t, tc.want, validateLBACHeader(tc.teamHeaderValue))
})
}
}