fix(managed_groups): Fix validation function panic (#2390)
The logic would panic if no attributes were specified. Ensure that attributes are non-nil before checking any sub fields.
This commit is contained in:
1 parent
ec3d2ef360
commit
ac591d8283
2 files changed
+7
-6
No files matched your search
@@ -601,12 +601,13 @@ func validateCreateRequest(req *pbs.CreateManagedGroupRequest) error {
|
||||
attrs := req.GetItem().GetOidcManagedGroupAttributes()
|
||||
if attrs == nil {
|
||||
badFields[globals.AttributesField] = "Attribute fields is required."
|
||||
}
|
||||
if attrs.Filter == "" {
|
||||
badFields[attrFilterField] = "This field is required."
|
||||
} else {
|
||||
if _, err := bexpr.CreateEvaluator(attrs.Filter); err != nil {
|
||||
badFields[attrFilterField] = fmt.Sprintf("Error evaluating submitted filter expression: %v.", err)
|
||||
if attrs.Filter == "" {
|
||||
badFields[attrFilterField] = "This field is required."
|
||||
} else {
|
||||
if _, err := bexpr.CreateEvaluator(attrs.Filter); err != nil {
|
||||
badFields[attrFilterField] = fmt.Sprintf("Error evaluating submitted filter expression: %v.", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -49,7 +49,7 @@ func TestValidateCreateRequest(t *testing.T) {
|
||||
AuthMethodId: oidc.AuthMethodPrefix + "_1234567890",
|
||||
Attrs: nil,
|
||||
},
|
||||
errContains: fieldError(attrFilterField, "This field is required."),
|
||||
errContains: fieldError(globals.AttributesField, "Attribute fields is required."),
|
||||
},
|
||||
{
|
||||
name: "bad oidc attributes",
|
||||
|
||||
Reference in new issue
Block a user