Skip to content

Commit 7aa8ad8

Browse files
authored
Merge branch 'master' into webhook-config
2 parents 5493cb6 + 7ceef94 commit 7aa8ad8

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

github/repos.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2069,3 +2069,43 @@ func isBranchNotProtected(err error) bool {
20692069
errorResponse, ok := err.(*ErrorResponse)
20702070
return ok && errorResponse.Message == githubBranchNotProtected
20712071
}
2072+
2073+
// EnablePrivateReporting enables private reporting of vulnerabilities for a
2074+
// repository.
2075+
//
2076+
// GitHub API docs: https://docs.github.com/en/rest/repos/repos#enable-private-vulnerability-reporting-for-a-repository
2077+
func (s *RepositoriesService) EnablePrivateReporting(ctx context.Context, owner, repo string) (*Response, error) {
2078+
u := fmt.Sprintf("repos/%v/%v/private-vulnerability-reporting", owner, repo)
2079+
2080+
req, err := s.client.NewRequest("PUT", u, nil)
2081+
if err != nil {
2082+
return nil, err
2083+
}
2084+
2085+
resp, err := s.client.Do(ctx, req, nil)
2086+
if err != nil {
2087+
return resp, err
2088+
}
2089+
2090+
return resp, nil
2091+
}
2092+
2093+
// DisablePrivateReporting disables private reporting of vulnerabilities for a
2094+
// repository.
2095+
//
2096+
// GitHub API docs: https://docs.github.com/en/rest/repos/repos#disable-private-vulnerability-reporting-for-a-repository
2097+
func (s *RepositoriesService) DisablePrivateReporting(ctx context.Context, owner, repo string) (*Response, error) {
2098+
u := fmt.Sprintf("repos/%v/%v/private-vulnerability-reporting", owner, repo)
2099+
2100+
req, err := s.client.NewRequest("DELETE", u, nil)
2101+
if err != nil {
2102+
return nil, err
2103+
}
2104+
2105+
resp, err := s.client.Do(ctx, req, nil)
2106+
if err != nil {
2107+
return resp, err
2108+
}
2109+
2110+
return resp, nil
2111+
}

github/repos_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3569,3 +3569,55 @@ func TestRepositoryTag_Marshal(t *testing.T) {
35693569

35703570
testJSONMarshal(t, u, want)
35713571
}
3572+
3573+
func TestRepositoriesService_EnablePrivateReporting(t *testing.T) {
3574+
client, mux, _, teardown := setup()
3575+
defer teardown()
3576+
3577+
mux.HandleFunc("/repos/owner/repo/private-vulnerability-reporting", func(w http.ResponseWriter, r *http.Request) {
3578+
testMethod(t, r, "PUT")
3579+
w.WriteHeader(http.StatusNoContent)
3580+
})
3581+
3582+
ctx := context.Background()
3583+
_, err := client.Repositories.EnablePrivateReporting(ctx, "owner", "repo")
3584+
if err != nil {
3585+
t.Errorf("Repositories.EnablePrivateReporting returned error: %v", err)
3586+
}
3587+
3588+
const methodName = "EnablePrivateReporting"
3589+
testBadOptions(t, methodName, func() (err error) {
3590+
_, err = client.Repositories.EnablePrivateReporting(ctx, "\n", "\n")
3591+
return err
3592+
})
3593+
3594+
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
3595+
return client.Repositories.EnablePrivateReporting(ctx, "owner", "repo")
3596+
})
3597+
}
3598+
3599+
func TestRepositoriesService_DisablePrivateReporting(t *testing.T) {
3600+
client, mux, _, teardown := setup()
3601+
defer teardown()
3602+
3603+
mux.HandleFunc("/repos/owner/repo/private-vulnerability-reporting", func(w http.ResponseWriter, r *http.Request) {
3604+
testMethod(t, r, "DELETE")
3605+
w.WriteHeader(http.StatusNoContent)
3606+
})
3607+
3608+
ctx := context.Background()
3609+
_, err := client.Repositories.DisablePrivateReporting(ctx, "owner", "repo")
3610+
if err != nil {
3611+
t.Errorf("Repositories.DisablePrivateReporting returned error: %v", err)
3612+
}
3613+
3614+
const methodName = "DisablePrivateReporting"
3615+
testBadOptions(t, methodName, func() (err error) {
3616+
_, err = client.Repositories.DisablePrivateReporting(ctx, "\n", "\n")
3617+
return err
3618+
})
3619+
3620+
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
3621+
return client.Repositories.DisablePrivateReporting(ctx, "owner", "repo")
3622+
})
3623+
}

0 commit comments

Comments
 (0)