Skip to content

Commit e4ff2a2

Browse files
authored
Omit OpenID Connect customization template claims when none are set (#2620)
1 parent 93166f4 commit e4ff2a2

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

github/actions_oidc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
// OIDCSubjectClaimCustomTemplate represents an OIDC subject claim customization template.
1414
type OIDCSubjectClaimCustomTemplate struct {
1515
UseDefault *bool `json:"use_default,omitempty"`
16-
IncludeClaimKeys []string `json:"include_claim_keys"`
16+
IncludeClaimKeys []string `json:"include_claim_keys,omitempty"`
1717
}
1818

1919
// GetOrgOIDCSubjectClaimCustomTemplate gets the subject claim customization template for an organization.

github/actions_oidc_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,34 @@ func TestActionsService_SetRepoOIDCSubjectClaimCustomTemplate(t *testing.T) {
148148
return client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r", input)
149149
})
150150
}
151+
152+
func TestActionService_SetRepoOIDCSubjectClaimCustomTemplateToDefault(t *testing.T) {
153+
client, mux, _, teardown := setup()
154+
defer teardown()
155+
156+
mux.HandleFunc("/repos/o/r/actions/oidc/customization/sub", func(w http.ResponseWriter, r *http.Request) {
157+
testMethod(t, r, "PUT")
158+
testHeader(t, r, "Content-Type", "application/json")
159+
testBody(t, r, `{"use_default":true}`+"\n")
160+
w.WriteHeader(http.StatusCreated)
161+
})
162+
163+
input := &OIDCSubjectClaimCustomTemplate{
164+
UseDefault: Bool(true),
165+
}
166+
ctx := context.Background()
167+
_, err := client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r", input)
168+
if err != nil {
169+
t.Errorf("Actions.SetRepoOIDCSubjectClaimCustomTemplate returned error: %v", err)
170+
}
171+
172+
const methodName = "SetRepoOIDCSubjectClaimCustomTemplate"
173+
testBadOptions(t, methodName, func() (err error) {
174+
_, err = client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "\n", "\n", input)
175+
return err
176+
})
177+
178+
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
179+
return client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r", input)
180+
})
181+
}

0 commit comments

Comments
 (0)