-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix properties update validation #4980
Conversation
The properties validation was validating the envelope instead of the actual properties. This lead to issues of us not being able to accurately update required fields, even if this was allowed by previous checks. Signed-off-by: Juan Antonio Osorio <[email protected]>
@@ -119,7 +135,7 @@ func validateProperties(oldSchemaMap, newSchemaMap map[string]any) error { | |||
|
|||
// The new schema should be a superset of the old schema | |||
// if it's not, we may break profiles using this rule type | |||
if !cmp.Equal(newSchemaMap, castedDst, opts...) { | |||
if !cmp.Equal(newPropertiesMap, castedDst, opts...) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hey, do I read this correct that castedDst
comes from dst
which comes from newPropertiesMap
? If so, perhaps the comment on top might not be valid
return fmt.Errorf("invalid new properties field") | ||
} | ||
|
||
dst, err := deepcopy.Anything(newPropertiesMap) | ||
if err != nil { | ||
return fmt.Errorf("failed to deepcopy old schema: %v", err) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar comment here
Signed-off-by: Juan Antonio Osorio <[email protected]>
827010f
to
aa0f09d
Compare
Summary
The properties validation was validating the envelope instead of the
actual properties. This lead to issues of us not being able to
accurately update required fields, even if this was allowed by previous
checks.
By fixing this, we now have better validation and updates are no longer an issue for rule types.
Change Type
Mark the type of change your PR introduces:
Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist: