PATCH branch-protection updates check list even when checks are disabled #26351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #26333.
Previously, this endpoint only updates the
StatusCheckContexts
field whenEnableStatusCheck==true
, which makes it impossible to clear the array otherwise.This patch uses slice
nil
-ness to decide whether to update the list of checks. The field is ignored when either the client explicitly passes in a null, or just omits the field from the json (which causesjson.Unmarshal
to leave the struct field unchanged). I think this is a better measure of intent than whether theEnableStatusCheck
flag was set, because it matches the semantics of other field types.Also adds a test case. I noticed that
testAPIEditBranchProtection
only checks the branch name and no other fields, so I added some extraGET
calls and specific checks to make sure the fields are changing properly.I added those checks the existing integration test; is that the right place for it?