From 452d72333ac656d4f8401def19e8eaf93986ab22 Mon Sep 17 00:00:00 2001 From: Francis Chuang Date: Wed, 4 Jan 2023 10:12:25 +1100 Subject: [PATCH 1/3] Support OIDC subject claim customization templates for actions --- github/actions_oidc.go | 73 ++++++++++++++++ github/actions_oidc_test.go | 150 ++++++++++++++++++++++++++++++++ github/github-accessors.go | 8 ++ github/github-accessors_test.go | 10 +++ 4 files changed, 241 insertions(+) create mode 100644 github/actions_oidc.go create mode 100644 github/actions_oidc_test.go diff --git a/github/actions_oidc.go b/github/actions_oidc.go new file mode 100644 index 00000000000..c5766a82184 --- /dev/null +++ b/github/actions_oidc.go @@ -0,0 +1,73 @@ +// Copyright 2023 The go-github AUTHORS. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package github + +import ( + "context" + "fmt" +) + +// OIDCSubjectClaimCustomizationTemplate represents an OIDC subject claim customization template +type OIDCSubjectClaimCustomizationTemplate struct { + UseDefault *bool `json:"use_default,omitempty"` + IncludeClaimKeys []string `json:"include_claim_keys"` +} + +// GetOrganizationOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for an organization. +// +// GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization +func (s *ActionsService) GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { + u := fmt.Sprintf("orgs/%v/actions/oidc/customization/sub", org) + return s.getOIDCSubjectClaimCustomizationTemplate(ctx, u) +} + +// GetRepositoryOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for a repository. +// +// GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository +func (s *ActionsService) GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { + u := fmt.Sprintf("repos/%v/%v/actions/oidc/customization/sub", owner, repo) + return s.getOIDCSubjectClaimCustomizationTemplate(ctx, u) +} + +func (s *ActionsService) getOIDCSubjectClaimCustomizationTemplate(ctx context.Context, url string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { + req, err := s.client.NewRequest("GET", url, nil) + if err != nil { + return nil, nil, err + } + + oidcSubjectClaimCustomizationTemplate := new(OIDCSubjectClaimCustomizationTemplate) + resp, err := s.client.Do(ctx, req, oidcSubjectClaimCustomizationTemplate) + if err != nil { + return nil, resp, err + } + + return oidcSubjectClaimCustomizationTemplate, resp, nil +} + +// SetOrganizationOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for an organization. +// +// GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization +func (s *ActionsService) SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { + u := fmt.Sprintf("orgs/%v/actions/oidc/customization/sub", org) + return s.setOIDCSubjectClaimCustomizationTemplate(ctx, u, template) +} + +// SetRepositoryOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for a repository. +// +// GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository +func (s *ActionsService) SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { + u := fmt.Sprintf("repos/%v/%v/actions/oidc/customization/sub", owner, repo) + return s.setOIDCSubjectClaimCustomizationTemplate(ctx, u, template) +} + +func (s *ActionsService) setOIDCSubjectClaimCustomizationTemplate(ctx context.Context, url string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { + req, err := s.client.NewRequest("PUT", url, template) + if err != nil { + return nil, err + } + + return s.client.Do(ctx, req, nil) +} diff --git a/github/actions_oidc_test.go b/github/actions_oidc_test.go new file mode 100644 index 00000000000..0a2b5434816 --- /dev/null +++ b/github/actions_oidc_test.go @@ -0,0 +1,150 @@ +// Copyright 2023 The go-github AUTHORS. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package github + +import ( + "context" + "fmt" + "net/http" + "testing" + + "github.com/google/go-cmp/cmp" +) + +func TestActionsService_GetOrganizationOIDCSubjectClaimCustomizationTemplate(t *testing.T) { + client, mux, _, teardown := setup() + defer teardown() + + mux.HandleFunc("/orgs/o/actions/oidc/customization/sub", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "GET") + fmt.Fprint(w, `{"include_claim_keys":["repo","context"]}`) + }) + + ctx := context.Background() + template, _, err := client.Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o") + if err != nil { + t.Errorf("Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + } + + want := &OIDCSubjectClaimCustomizationTemplate{IncludeClaimKeys: []string{"repo", "context"}} + if !cmp.Equal(template, want) { + t.Errorf("Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) + } + + const methodName = "GetOrganizationOIDCSubjectClaimCustomizationTemplate" + testBadOptions(t, methodName, func() (err error) { + _, _, err = client.Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "\n") + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + got, resp, err := client.Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o") + if got != nil { + t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) + } + return resp, err + }) +} + +func TestActionsService_GetRepositoryOIDCSubjectClaimCustomizationTemplate(t *testing.T) { + client, mux, _, teardown := setup() + defer teardown() + + mux.HandleFunc("/repos/o/r/actions/oidc/customization/sub", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "GET") + fmt.Fprint(w, `{"use_default":false,"include_claim_keys":["repo","context"]}`) + }) + + ctx := context.Background() + template, _, err := client.Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") + if err != nil { + t.Errorf("Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + } + + want := &OIDCSubjectClaimCustomizationTemplate{UseDefault: Bool(false), IncludeClaimKeys: []string{"repo", "context"}} + if !cmp.Equal(template, want) { + t.Errorf("Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) + } + + const methodName = "GetRepositoryOIDCSubjectClaimCustomizationTemplate" + testBadOptions(t, methodName, func() (err error) { + _, _, err = client.Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n") + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + got, resp, err := client.Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") + if got != nil { + t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) + } + return resp, err + }) +} + +func TestActionsService_SetOrganizationOIDCSubjectClaimCustomizationTemplate(t *testing.T) { + client, mux, _, teardown := setup() + defer teardown() + + mux.HandleFunc("/orgs/o/actions/oidc/customization/sub", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "PUT") + testHeader(t, r, "Content-Type", "application/json") + testBody(t, r, `{"include_claim_keys":["repo","context"]}`+"\n") + w.WriteHeader(http.StatusCreated) + }) + + input := &OIDCSubjectClaimCustomizationTemplate{ + IncludeClaimKeys: []string{"repo", "context"}, + } + ctx := context.Background() + _, err := client.Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) + if err != nil { + t.Errorf("Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + } + + const methodName = "SetOrganizationOIDCSubjectClaimCustomizationTemplate" + + testBadOptions(t, methodName, func() (err error) { + _, err = client.Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "\n", input) + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + return client.Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) + }) +} + +func TestActionsService_SetRepositoryOIDCSubjectClaimCustomizationTemplate(t *testing.T) { + client, mux, _, teardown := setup() + defer teardown() + + mux.HandleFunc("/repos/o/r/actions/oidc/customization/sub", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "PUT") + testHeader(t, r, "Content-Type", "application/json") + testBody(t, r, `{"use_default":false,"include_claim_keys":["repo","context"]}`+"\n") + w.WriteHeader(http.StatusCreated) + }) + + input := &OIDCSubjectClaimCustomizationTemplate{ + UseDefault: Bool(false), + IncludeClaimKeys: []string{"repo", "context"}, + } + ctx := context.Background() + _, err := client.Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) + if err != nil { + t.Errorf("Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + } + + const methodName = "SetRepositoryOIDCSubjectClaimCustomizationTemplate" + + testBadOptions(t, methodName, func() (err error) { + _, err = client.Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n", input) + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + return client.Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) + }) +} diff --git a/github/github-accessors.go b/github/github-accessors.go index 422d8bc0d3b..9fae77a6dac 100644 --- a/github/github-accessors.go +++ b/github/github-accessors.go @@ -9990,6 +9990,14 @@ func (o *OAuthAPP) GetURL() string { return *o.URL } +// GetUseDefault returns the UseDefault field if it's non-nil, zero value otherwise. +func (o *OIDCSubjectClaimCustomizationTemplate) GetUseDefault() bool { + if o == nil || o.UseDefault == nil { + return false + } + return *o.UseDefault +} + // GetAdvancedSecurityEnabledForNewRepos returns the AdvancedSecurityEnabledForNewRepos field if it's non-nil, zero value otherwise. func (o *Organization) GetAdvancedSecurityEnabledForNewRepos() bool { if o == nil || o.AdvancedSecurityEnabledForNewRepos == nil { diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go index efa66e7875a..248bac296b0 100644 --- a/github/github-accessors_test.go +++ b/github/github-accessors_test.go @@ -11699,6 +11699,16 @@ func TestOAuthAPP_GetURL(tt *testing.T) { o.GetURL() } +func TestOIDCSubjectClaimCustomizationTemplate_GetUseDefault(tt *testing.T) { + var zeroValue bool + o := &OIDCSubjectClaimCustomizationTemplate{UseDefault: &zeroValue} + o.GetUseDefault() + o = &OIDCSubjectClaimCustomizationTemplate{} + o.GetUseDefault() + o = nil + o.GetUseDefault() +} + func TestOrganization_GetAdvancedSecurityEnabledForNewRepos(tt *testing.T) { var zeroValue bool o := &Organization{AdvancedSecurityEnabledForNewRepos: &zeroValue} From 12b7789348e95f3dbfc1222fa8d1e0e595d05aab Mon Sep 17 00:00:00 2001 From: Francis Chuang Date: Wed, 4 Jan 2023 11:13:45 +1100 Subject: [PATCH 2/3] Rename organization to org and repository to repo and some minor cleanups --- github/actions_oidc.go | 24 ++++++++--------- github/actions_oidc_test.go | 52 ++++++++++++++++++------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/github/actions_oidc.go b/github/actions_oidc.go index c5766a82184..9a2c3e43b93 100644 --- a/github/actions_oidc.go +++ b/github/actions_oidc.go @@ -10,24 +10,24 @@ import ( "fmt" ) -// OIDCSubjectClaimCustomizationTemplate represents an OIDC subject claim customization template +// OIDCSubjectClaimCustomizationTemplate represents an OIDC subject claim customization template. type OIDCSubjectClaimCustomizationTemplate struct { UseDefault *bool `json:"use_default,omitempty"` IncludeClaimKeys []string `json:"include_claim_keys"` } -// GetOrganizationOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for an organization. +// GetOrgOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for an organization. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization -func (s *ActionsService) GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { +func (s *ActionsService) GetOrgOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { u := fmt.Sprintf("orgs/%v/actions/oidc/customization/sub", org) return s.getOIDCSubjectClaimCustomizationTemplate(ctx, u) } -// GetRepositoryOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for a repository. +// GetRepoOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for a repository. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository -func (s *ActionsService) GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { +func (s *ActionsService) GetRepoOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/oidc/customization/sub", owner, repo) return s.getOIDCSubjectClaimCustomizationTemplate(ctx, u) } @@ -38,27 +38,27 @@ func (s *ActionsService) getOIDCSubjectClaimCustomizationTemplate(ctx context.Co return nil, nil, err } - oidcSubjectClaimCustomizationTemplate := new(OIDCSubjectClaimCustomizationTemplate) - resp, err := s.client.Do(ctx, req, oidcSubjectClaimCustomizationTemplate) + tmpl := new(OIDCSubjectClaimCustomizationTemplate) + resp, err := s.client.Do(ctx, req, tmpl) if err != nil { return nil, resp, err } - return oidcSubjectClaimCustomizationTemplate, resp, nil + return tmpl, resp, nil } -// SetOrganizationOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for an organization. +// SetOrgOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for an organization. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization -func (s *ActionsService) SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { +func (s *ActionsService) SetOrgOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { u := fmt.Sprintf("orgs/%v/actions/oidc/customization/sub", org) return s.setOIDCSubjectClaimCustomizationTemplate(ctx, u, template) } -// SetRepositoryOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for a repository. +// SetRepoOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for a repository. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository -func (s *ActionsService) SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { +func (s *ActionsService) SetRepoOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/oidc/customization/sub", owner, repo) return s.setOIDCSubjectClaimCustomizationTemplate(ctx, u, template) } diff --git a/github/actions_oidc_test.go b/github/actions_oidc_test.go index 0a2b5434816..6789ae47628 100644 --- a/github/actions_oidc_test.go +++ b/github/actions_oidc_test.go @@ -14,7 +14,7 @@ import ( "github.com/google/go-cmp/cmp" ) -func TestActionsService_GetOrganizationOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_GetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -24,24 +24,24 @@ func TestActionsService_GetOrganizationOIDCSubjectClaimCustomizationTemplate(t * }) ctx := context.Background() - template, _, err := client.Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o") + template, _, err := client.Actions.GetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o") if err != nil { - t.Errorf("Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomizationTemplate returned error: %v", err) } want := &OIDCSubjectClaimCustomizationTemplate{IncludeClaimKeys: []string{"repo", "context"}} if !cmp.Equal(template, want) { - t.Errorf("Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) + t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) } - const methodName = "GetOrganizationOIDCSubjectClaimCustomizationTemplate" + const methodName = "GetOrgOIDCSubjectClaimCustomizationTemplate" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "\n") + _, _, err = client.Actions.GetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o") + got, resp, err := client.Actions.GetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -49,7 +49,7 @@ func TestActionsService_GetOrganizationOIDCSubjectClaimCustomizationTemplate(t * }) } -func TestActionsService_GetRepositoryOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_GetRepoOIDCSubjectClaimCustomizationTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -59,24 +59,24 @@ func TestActionsService_GetRepositoryOIDCSubjectClaimCustomizationTemplate(t *te }) ctx := context.Background() - template, _, err := client.Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") + template, _, err := client.Actions.GetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") if err != nil { - t.Errorf("Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.GetRepoOIDCSubjectClaimCustomizationTemplate returned error: %v", err) } want := &OIDCSubjectClaimCustomizationTemplate{UseDefault: Bool(false), IncludeClaimKeys: []string{"repo", "context"}} if !cmp.Equal(template, want) { - t.Errorf("Actions.GetOrganizationOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) + t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) } - const methodName = "GetRepositoryOIDCSubjectClaimCustomizationTemplate" + const methodName = "GetRepoOIDCSubjectClaimCustomizationTemplate" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n") + _, _, err = client.Actions.GetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Actions.GetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") + got, resp, err := client.Actions.GetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -84,7 +84,7 @@ func TestActionsService_GetRepositoryOIDCSubjectClaimCustomizationTemplate(t *te }) } -func TestActionsService_SetOrganizationOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_SetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -99,24 +99,24 @@ func TestActionsService_SetOrganizationOIDCSubjectClaimCustomizationTemplate(t * IncludeClaimKeys: []string{"repo", "context"}, } ctx := context.Background() - _, err := client.Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) + _, err := client.Actions.SetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) if err != nil { - t.Errorf("Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.SetOrgOIDCSubjectClaimCustomizationTemplate returned error: %v", err) } - const methodName = "SetOrganizationOIDCSubjectClaimCustomizationTemplate" + const methodName = "SetOrgOIDCSubjectClaimCustomizationTemplate" testBadOptions(t, methodName, func() (err error) { - _, err = client.Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "\n", input) + _, err = client.Actions.SetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Actions.SetOrganizationOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) + return client.Actions.SetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) }) } -func TestActionsService_SetRepositoryOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_SetRepoOIDCSubjectClaimCustomizationTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -132,19 +132,19 @@ func TestActionsService_SetRepositoryOIDCSubjectClaimCustomizationTemplate(t *te IncludeClaimKeys: []string{"repo", "context"}, } ctx := context.Background() - _, err := client.Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) + _, err := client.Actions.SetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) if err != nil { - t.Errorf("Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.SetRepoOIDCSubjectClaimCustomizationTemplate returned error: %v", err) } - const methodName = "SetRepositoryOIDCSubjectClaimCustomizationTemplate" + const methodName = "SetRepoOIDCSubjectClaimCustomizationTemplate" testBadOptions(t, methodName, func() (err error) { - _, err = client.Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n", input) + _, err = client.Actions.SetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Actions.SetRepositoryOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) + return client.Actions.SetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) }) } From 0d027613ef00ce501c4880802ba02f3e99d0d11a Mon Sep 17 00:00:00 2001 From: Francis Chuang Date: Wed, 4 Jan 2023 11:38:30 +1100 Subject: [PATCH 3/3] Rename customization to custom --- github/actions_oidc.go | 34 +++++++++---------- github/actions_oidc_test.go | 60 ++++++++++++++++----------------- github/github-accessors.go | 2 +- github/github-accessors_test.go | 6 ++-- 4 files changed, 51 insertions(+), 51 deletions(-) diff --git a/github/actions_oidc.go b/github/actions_oidc.go index 9a2c3e43b93..5132ad3a3fb 100644 --- a/github/actions_oidc.go +++ b/github/actions_oidc.go @@ -10,35 +10,35 @@ import ( "fmt" ) -// OIDCSubjectClaimCustomizationTemplate represents an OIDC subject claim customization template. -type OIDCSubjectClaimCustomizationTemplate struct { +// OIDCSubjectClaimCustomTemplate represents an OIDC subject claim customization template. +type OIDCSubjectClaimCustomTemplate struct { UseDefault *bool `json:"use_default,omitempty"` IncludeClaimKeys []string `json:"include_claim_keys"` } -// GetOrgOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for an organization. +// GetOrgOIDCSubjectClaimCustomTemplate gets the subject claim customization template for an organization. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization -func (s *ActionsService) GetOrgOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { +func (s *ActionsService) GetOrgOIDCSubjectClaimCustomTemplate(ctx context.Context, org string) (*OIDCSubjectClaimCustomTemplate, *Response, error) { u := fmt.Sprintf("orgs/%v/actions/oidc/customization/sub", org) - return s.getOIDCSubjectClaimCustomizationTemplate(ctx, u) + return s.getOIDCSubjectClaimCustomTemplate(ctx, u) } -// GetRepoOIDCSubjectClaimCustomizationTemplate gets the subject claim customization template for a repository. +// GetRepoOIDCSubjectClaimCustomTemplate gets the subject claim customization template for a repository. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository -func (s *ActionsService) GetRepoOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { +func (s *ActionsService) GetRepoOIDCSubjectClaimCustomTemplate(ctx context.Context, owner, repo string) (*OIDCSubjectClaimCustomTemplate, *Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/oidc/customization/sub", owner, repo) - return s.getOIDCSubjectClaimCustomizationTemplate(ctx, u) + return s.getOIDCSubjectClaimCustomTemplate(ctx, u) } -func (s *ActionsService) getOIDCSubjectClaimCustomizationTemplate(ctx context.Context, url string) (*OIDCSubjectClaimCustomizationTemplate, *Response, error) { +func (s *ActionsService) getOIDCSubjectClaimCustomTemplate(ctx context.Context, url string) (*OIDCSubjectClaimCustomTemplate, *Response, error) { req, err := s.client.NewRequest("GET", url, nil) if err != nil { return nil, nil, err } - tmpl := new(OIDCSubjectClaimCustomizationTemplate) + tmpl := new(OIDCSubjectClaimCustomTemplate) resp, err := s.client.Do(ctx, req, tmpl) if err != nil { return nil, resp, err @@ -47,23 +47,23 @@ func (s *ActionsService) getOIDCSubjectClaimCustomizationTemplate(ctx context.Co return tmpl, resp, nil } -// SetOrgOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for an organization. +// SetOrgOIDCSubjectClaimCustomTemplate sets the subject claim customization for an organization. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization -func (s *ActionsService) SetOrgOIDCSubjectClaimCustomizationTemplate(ctx context.Context, org string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { +func (s *ActionsService) SetOrgOIDCSubjectClaimCustomTemplate(ctx context.Context, org string, template *OIDCSubjectClaimCustomTemplate) (*Response, error) { u := fmt.Sprintf("orgs/%v/actions/oidc/customization/sub", org) - return s.setOIDCSubjectClaimCustomizationTemplate(ctx, u, template) + return s.setOIDCSubjectClaimCustomTemplate(ctx, u, template) } -// SetRepoOIDCSubjectClaimCustomizationTemplate sets the subject claim customization for a repository. +// SetRepoOIDCSubjectClaimCustomTemplate sets the subject claim customization for a repository. // // GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository -func (s *ActionsService) SetRepoOIDCSubjectClaimCustomizationTemplate(ctx context.Context, owner, repo string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { +func (s *ActionsService) SetRepoOIDCSubjectClaimCustomTemplate(ctx context.Context, owner, repo string, template *OIDCSubjectClaimCustomTemplate) (*Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/oidc/customization/sub", owner, repo) - return s.setOIDCSubjectClaimCustomizationTemplate(ctx, u, template) + return s.setOIDCSubjectClaimCustomTemplate(ctx, u, template) } -func (s *ActionsService) setOIDCSubjectClaimCustomizationTemplate(ctx context.Context, url string, template *OIDCSubjectClaimCustomizationTemplate) (*Response, error) { +func (s *ActionsService) setOIDCSubjectClaimCustomTemplate(ctx context.Context, url string, template *OIDCSubjectClaimCustomTemplate) (*Response, error) { req, err := s.client.NewRequest("PUT", url, template) if err != nil { return nil, err diff --git a/github/actions_oidc_test.go b/github/actions_oidc_test.go index 6789ae47628..99a9a5b3b6d 100644 --- a/github/actions_oidc_test.go +++ b/github/actions_oidc_test.go @@ -14,7 +14,7 @@ import ( "github.com/google/go-cmp/cmp" ) -func TestActionsService_GetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_GetOrgOIDCSubjectClaimCustomTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -24,24 +24,24 @@ func TestActionsService_GetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T }) ctx := context.Background() - template, _, err := client.Actions.GetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o") + template, _, err := client.Actions.GetOrgOIDCSubjectClaimCustomTemplate(ctx, "o") if err != nil { - t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomTemplate returned error: %v", err) } - want := &OIDCSubjectClaimCustomizationTemplate{IncludeClaimKeys: []string{"repo", "context"}} + want := &OIDCSubjectClaimCustomTemplate{IncludeClaimKeys: []string{"repo", "context"}} if !cmp.Equal(template, want) { - t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) + t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomTemplate returned %+v, want %+v", template, want) } - const methodName = "GetOrgOIDCSubjectClaimCustomizationTemplate" + const methodName = "GetOrgOIDCSubjectClaimCustomTemplate" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Actions.GetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "\n") + _, _, err = client.Actions.GetOrgOIDCSubjectClaimCustomTemplate(ctx, "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Actions.GetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o") + got, resp, err := client.Actions.GetOrgOIDCSubjectClaimCustomTemplate(ctx, "o") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -49,7 +49,7 @@ func TestActionsService_GetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T }) } -func TestActionsService_GetRepoOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_GetRepoOIDCSubjectClaimCustomTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -59,24 +59,24 @@ func TestActionsService_GetRepoOIDCSubjectClaimCustomizationTemplate(t *testing. }) ctx := context.Background() - template, _, err := client.Actions.GetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") + template, _, err := client.Actions.GetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r") if err != nil { - t.Errorf("Actions.GetRepoOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.GetRepoOIDCSubjectClaimCustomTemplate returned error: %v", err) } - want := &OIDCSubjectClaimCustomizationTemplate{UseDefault: Bool(false), IncludeClaimKeys: []string{"repo", "context"}} + want := &OIDCSubjectClaimCustomTemplate{UseDefault: Bool(false), IncludeClaimKeys: []string{"repo", "context"}} if !cmp.Equal(template, want) { - t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomizationTemplate returned %+v, want %+v", template, want) + t.Errorf("Actions.GetOrgOIDCSubjectClaimCustomTemplate returned %+v, want %+v", template, want) } - const methodName = "GetRepoOIDCSubjectClaimCustomizationTemplate" + const methodName = "GetRepoOIDCSubjectClaimCustomTemplate" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Actions.GetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n") + _, _, err = client.Actions.GetRepoOIDCSubjectClaimCustomTemplate(ctx, "\n", "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Actions.GetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r") + got, resp, err := client.Actions.GetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -84,7 +84,7 @@ func TestActionsService_GetRepoOIDCSubjectClaimCustomizationTemplate(t *testing. }) } -func TestActionsService_SetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_SetOrgOIDCSubjectClaimCustomTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -95,28 +95,28 @@ func TestActionsService_SetOrgOIDCSubjectClaimCustomizationTemplate(t *testing.T w.WriteHeader(http.StatusCreated) }) - input := &OIDCSubjectClaimCustomizationTemplate{ + input := &OIDCSubjectClaimCustomTemplate{ IncludeClaimKeys: []string{"repo", "context"}, } ctx := context.Background() - _, err := client.Actions.SetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) + _, err := client.Actions.SetOrgOIDCSubjectClaimCustomTemplate(ctx, "o", input) if err != nil { - t.Errorf("Actions.SetOrgOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.SetOrgOIDCSubjectClaimCustomTemplate returned error: %v", err) } - const methodName = "SetOrgOIDCSubjectClaimCustomizationTemplate" + const methodName = "SetOrgOIDCSubjectClaimCustomTemplate" testBadOptions(t, methodName, func() (err error) { - _, err = client.Actions.SetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "\n", input) + _, err = client.Actions.SetOrgOIDCSubjectClaimCustomTemplate(ctx, "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Actions.SetOrgOIDCSubjectClaimCustomizationTemplate(ctx, "o", input) + return client.Actions.SetOrgOIDCSubjectClaimCustomTemplate(ctx, "o", input) }) } -func TestActionsService_SetRepoOIDCSubjectClaimCustomizationTemplate(t *testing.T) { +func TestActionsService_SetRepoOIDCSubjectClaimCustomTemplate(t *testing.T) { client, mux, _, teardown := setup() defer teardown() @@ -127,24 +127,24 @@ func TestActionsService_SetRepoOIDCSubjectClaimCustomizationTemplate(t *testing. w.WriteHeader(http.StatusCreated) }) - input := &OIDCSubjectClaimCustomizationTemplate{ + input := &OIDCSubjectClaimCustomTemplate{ UseDefault: Bool(false), IncludeClaimKeys: []string{"repo", "context"}, } ctx := context.Background() - _, err := client.Actions.SetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) + _, err := client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r", input) if err != nil { - t.Errorf("Actions.SetRepoOIDCSubjectClaimCustomizationTemplate returned error: %v", err) + t.Errorf("Actions.SetRepoOIDCSubjectClaimCustomTemplate returned error: %v", err) } - const methodName = "SetRepoOIDCSubjectClaimCustomizationTemplate" + const methodName = "SetRepoOIDCSubjectClaimCustomTemplate" testBadOptions(t, methodName, func() (err error) { - _, err = client.Actions.SetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "\n", "\n", input) + _, err = client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "\n", "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Actions.SetRepoOIDCSubjectClaimCustomizationTemplate(ctx, "o", "r", input) + return client.Actions.SetRepoOIDCSubjectClaimCustomTemplate(ctx, "o", "r", input) }) } diff --git a/github/github-accessors.go b/github/github-accessors.go index 9fae77a6dac..772fe553d4d 100644 --- a/github/github-accessors.go +++ b/github/github-accessors.go @@ -9991,7 +9991,7 @@ func (o *OAuthAPP) GetURL() string { } // GetUseDefault returns the UseDefault field if it's non-nil, zero value otherwise. -func (o *OIDCSubjectClaimCustomizationTemplate) GetUseDefault() bool { +func (o *OIDCSubjectClaimCustomTemplate) GetUseDefault() bool { if o == nil || o.UseDefault == nil { return false } diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go index 248bac296b0..459deb873dc 100644 --- a/github/github-accessors_test.go +++ b/github/github-accessors_test.go @@ -11699,11 +11699,11 @@ func TestOAuthAPP_GetURL(tt *testing.T) { o.GetURL() } -func TestOIDCSubjectClaimCustomizationTemplate_GetUseDefault(tt *testing.T) { +func TestOIDCSubjectClaimCustomTemplate_GetUseDefault(tt *testing.T) { var zeroValue bool - o := &OIDCSubjectClaimCustomizationTemplate{UseDefault: &zeroValue} + o := &OIDCSubjectClaimCustomTemplate{UseDefault: &zeroValue} o.GetUseDefault() - o = &OIDCSubjectClaimCustomizationTemplate{} + o = &OIDCSubjectClaimCustomTemplate{} o.GetUseDefault() o = nil o.GetUseDefault()