Skip to content

Commit 1fd16cd

Browse files
committed
fix: pass required params by value, per org/enterprise pagination options, rename get to list
1 parent 2a504ca commit 1fd16cd

6 files changed

+220
-144
lines changed

github/enterprise_codesecurity_configurations.go

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,31 @@ import (
1111
"net/http"
1212
)
1313

14-
// GetCodeSecurityConfigurations lists all code security configurations available in an enterprise.
14+
// ListEnterpriseCodeSecurityConfigurationOptions specifies optional parameters to get security configurations for enterprises.
15+
//
16+
// Note: Pagination is powered by before/after cursor-style pagination. After the initial call,
17+
// inspect the returned *Response. Use resp.After as the opts.After value to request
18+
// the next page, and resp.Before as the opts.Before value to request the previous
19+
// page. Set either Before or After for a request; if both are
20+
// supplied GitHub API will return an error. PerPage controls the number of items
21+
// per page (max 100 per GitHub API docs).
22+
type ListEnterpriseCodeSecurityConfigurationOptions struct {
23+
// A cursor, as given in the Link header. If specified, the query only searches for security configurations before this cursor.
24+
Before *string `url:"before,omitempty"`
25+
26+
// A cursor, as given in the Link header. If specified, the query only searches for security configurations after this cursor.
27+
After *string `url:"after,omitempty"`
28+
29+
// For paginated result sets, the number of results to include per page.
30+
PerPage *int `url:"per_page,omitempty"`
31+
}
32+
33+
// ListCodeSecurityConfigurations lists all code security configurations available in an enterprise.
1534
//
1635
// GitHub API docs: https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-enterprise
1736
//
1837
//meta:operation GET /enterprises/{enterprise}/code-security/configurations
19-
func (s *EnterpriseService) GetCodeSecurityConfigurations(ctx context.Context, enterprise string, opts *GetCodeSecurityConfigurationOptions) ([]*CodeSecurityConfiguration, *Response, error) {
38+
func (s *EnterpriseService) ListCodeSecurityConfigurations(ctx context.Context, enterprise string, opts *ListEnterpriseCodeSecurityConfigurationOptions) ([]*CodeSecurityConfiguration, *Response, error) {
2039
u := fmt.Sprintf("enterprises/%v/code-security/configurations", enterprise)
2140
u, err := addOptions(u, opts)
2241
if err != nil {
@@ -41,7 +60,7 @@ func (s *EnterpriseService) GetCodeSecurityConfigurations(ctx context.Context, e
4160
// GitHub API docs: https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration-for-an-enterprise
4261
//
4362
//meta:operation POST /enterprises/{enterprise}/code-security/configurations
44-
func (s *EnterpriseService) CreateCodeSecurityConfiguration(ctx context.Context, enterprise string, config *CodeSecurityConfiguration) (*CodeSecurityConfiguration, *Response, error) {
63+
func (s *EnterpriseService) CreateCodeSecurityConfiguration(ctx context.Context, enterprise string, config CodeSecurityConfiguration) (*CodeSecurityConfiguration, *Response, error) {
4564
u := fmt.Sprintf("enterprises/%v/code-security/configurations", enterprise)
4665

4766
req, err := s.client.NewRequest("POST", u, config)
@@ -78,12 +97,12 @@ func (s *EnterpriseService) GetDefaultCodeSecurityConfigurations(ctx context.Con
7897
return configurations, resp, nil
7998
}
8099

81-
// GetCodeSecurityConfiguration gets a code security configuration available in an enterprise.
100+
// ListCodeSecurityConfiguration gets a code security configuration available in an enterprise.
82101
//
83102
// GitHub API docs: https://docs.github.com/rest/code-security/configurations#retrieve-a-code-security-configuration-of-an-enterprise
84103
//
85104
//meta:operation GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}
86-
func (s *EnterpriseService) GetCodeSecurityConfiguration(ctx context.Context, enterprise string, id int64) (*CodeSecurityConfiguration, *Response, error) {
105+
func (s *EnterpriseService) ListCodeSecurityConfiguration(ctx context.Context, enterprise string, id int64) (*CodeSecurityConfiguration, *Response, error) {
87106
u := fmt.Sprintf("enterprises/%v/code-security/configurations/%v", enterprise, id)
88107

89108
req, err := s.client.NewRequest("GET", u, nil)
@@ -104,7 +123,7 @@ func (s *EnterpriseService) GetCodeSecurityConfiguration(ctx context.Context, en
104123
// GitHub API docs: https://docs.github.com/rest/code-security/configurations#update-a-custom-code-security-configuration-for-an-enterprise
105124
//
106125
//meta:operation PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}
107-
func (s *EnterpriseService) UpdateCodeSecurityConfiguration(ctx context.Context, enterprise string, id int64, config *CodeSecurityConfiguration) (*CodeSecurityConfiguration, *Response, error) {
126+
func (s *EnterpriseService) UpdateCodeSecurityConfiguration(ctx context.Context, enterprise string, id int64, config CodeSecurityConfiguration) (*CodeSecurityConfiguration, *Response, error) {
108127
u := fmt.Sprintf("enterprises/%v/code-security/configurations/%v", enterprise, id)
109128

110129
req, err := s.client.NewRequest("PATCH", u, config)

github/enterprise_codesecurity_configurations_test.go

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ import (
1414
"github.com/google/go-cmp/cmp"
1515
)
1616

17-
func TestEnterpriseService_GetCodeSecurityConfigurations(t *testing.T) {
17+
func TestEnterpriseService_ListCodeSecurityConfigurations(t *testing.T) {
1818
t.Parallel()
19-
opts := &GetCodeSecurityConfigurationOptions{Before: Ptr("1"), After: Ptr("2"), PerPage: Ptr(30)}
19+
opts := &ListEnterpriseCodeSecurityConfigurationOptions{Before: Ptr("1"), After: Ptr("2"), PerPage: Ptr(30)}
2020
ctx := t.Context()
2121
client, mux, _ := setup(t)
2222

@@ -38,33 +38,33 @@ func TestEnterpriseService_GetCodeSecurityConfigurations(t *testing.T) {
3838
}]`)
3939
})
4040

41-
configurations, _, err := client.Enterprise.GetCodeSecurityConfigurations(ctx, "e", opts)
41+
configurations, _, err := client.Enterprise.ListCodeSecurityConfigurations(ctx, "e", opts)
4242
if err != nil {
43-
t.Errorf("Enterprise.GetCodeSecurityConfigurations returned error: %v", err)
43+
t.Errorf("Enterprise.ListCodeSecurityConfigurations returned error: %v", err)
4444
}
4545

4646
want := []*CodeSecurityConfiguration{
4747
{ID: Ptr(int64(1)), Name: "config1", Description: "desc1", CodeScanningDefaultSetup: Ptr("enabled")},
4848
{ID: Ptr(int64(2)), Name: "config2", Description: "desc2", PrivateVulnerabilityReporting: Ptr("enabled")},
4949
}
5050
if !cmp.Equal(configurations, want) {
51-
t.Errorf("Enterprise.GetCodeSecurityConfigurations returned %+v, want %+v", configurations, want)
51+
t.Errorf("Enterprise.ListCodeSecurityConfigurations returned %+v, want %+v", configurations, want)
5252
}
53-
const methodName = "GetCodeSecurityConfigurations"
53+
const methodName = "ListCodeSecurityConfigurations"
5454
testBadOptions(t, methodName, func() (err error) {
55-
_, _, err = client.Enterprise.GetCodeSecurityConfigurations(ctx, "\n", opts)
55+
_, _, err = client.Enterprise.ListCodeSecurityConfigurations(ctx, "\n", opts)
5656
return err
5757
})
5858
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
59-
got, resp, err := client.Enterprise.GetCodeSecurityConfigurations(ctx, "e", opts)
59+
got, resp, err := client.Enterprise.ListCodeSecurityConfigurations(ctx, "e", opts)
6060
if got != nil {
6161
t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
6262
}
6363
return resp, err
6464
})
6565
}
6666

67-
func TestEnterpriseService_GetCodeSecurityConfiguration(t *testing.T) {
67+
func TestEnterpriseService_ListCodeSecurityConfiguration(t *testing.T) {
6868
t.Parallel()
6969
client, mux, _ := setup(t)
7070
ctx := t.Context()
@@ -79,24 +79,24 @@ func TestEnterpriseService_GetCodeSecurityConfiguration(t *testing.T) {
7979
}`)
8080
})
8181

82-
configuration, _, err := client.Enterprise.GetCodeSecurityConfiguration(ctx, "e", 1)
82+
configuration, _, err := client.Enterprise.ListCodeSecurityConfiguration(ctx, "e", 1)
8383
if err != nil {
84-
t.Errorf("Enterprise.GetCodeSecurityConfiguration returned error: %v", err)
84+
t.Errorf("Enterprise.ListCodeSecurityConfiguration returned error: %v", err)
8585
}
8686

8787
want := &CodeSecurityConfiguration{ID: Ptr(int64(1)), Name: "config1", Description: "desc1", CodeScanningDefaultSetup: Ptr("enabled")}
8888
if !cmp.Equal(configuration, want) {
89-
t.Errorf("Enterprise.GetCodeSecurityConfiguration returned %+v, want %+v", configuration, want)
89+
t.Errorf("Enterprise.ListCodeSecurityConfiguration returned %+v, want %+v", configuration, want)
9090
}
9191

92-
const methodName = "GetCodeSecurityConfiguration"
92+
const methodName = "ListCodeSecurityConfiguration"
9393
testBadOptions(t, methodName, func() (err error) {
94-
_, _, err = client.Enterprise.GetCodeSecurityConfiguration(ctx, "\n", -1)
94+
_, _, err = client.Enterprise.ListCodeSecurityConfiguration(ctx, "\n", -1)
9595
return err
9696
})
9797

9898
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
99-
got, resp, err := client.Enterprise.GetCodeSecurityConfiguration(ctx, "e", 1)
99+
got, resp, err := client.Enterprise.ListCodeSecurityConfiguration(ctx, "e", 1)
100100
if got != nil {
101101
t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
102102
}
@@ -109,15 +109,15 @@ func TestEnterpriseService_CreateCodeSecurityConfiguration(t *testing.T) {
109109
client, mux, _ := setup(t)
110110
ctx := t.Context()
111111

112-
input := &CodeSecurityConfiguration{
112+
input := CodeSecurityConfiguration{
113113
Name: "config1",
114114
Description: "desc1",
115115
CodeScanningDefaultSetup: Ptr("enabled"),
116116
}
117117

118118
mux.HandleFunc("/enterprises/e/code-security/configurations", func(w http.ResponseWriter, r *http.Request) {
119-
v := new(CodeSecurityConfiguration)
120-
assertNilError(t, json.NewDecoder(r.Body).Decode(v))
119+
var v CodeSecurityConfiguration
120+
assertNilError(t, json.NewDecoder(r.Body).Decode(&v))
121121

122122
if !cmp.Equal(v, input) {
123123
t.Errorf("Enterprise.CreateCodeSecurityConfiguration request body = %+v, want %+v", v, input)
@@ -218,15 +218,15 @@ func TestEnterpriseService_UpdateCodeSecurityConfiguration(t *testing.T) {
218218
ctx := t.Context()
219219
client, mux, _ := setup(t)
220220

221-
input := &CodeSecurityConfiguration{
221+
input := CodeSecurityConfiguration{
222222
Name: "config1",
223223
Description: "desc1",
224224
CodeScanningDefaultSetup: Ptr("enabled"),
225225
}
226226

227227
mux.HandleFunc("/enterprises/e/code-security/configurations/1", func(w http.ResponseWriter, r *http.Request) {
228-
v := new(CodeSecurityConfiguration)
229-
assertNilError(t, json.NewDecoder(r.Body).Decode(v))
228+
var v CodeSecurityConfiguration
229+
assertNilError(t, json.NewDecoder(r.Body).Decode(&v))
230230

231231
if !cmp.Equal(v, input) {
232232
t.Errorf("Enterprise.UpdateCodeSecurityConfiguration request body = %+v, want %+v", v, input)

github/github-accessors.go

Lines changed: 56 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)