Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion github/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package github
import (
"fmt"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"context"
"strings"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/client_organization_teams.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package github
import (
"context"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/client_repositories_org.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"context"
"errors"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/client_repository_branch.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package github
import (
"context"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/client_repository_commit.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"fmt"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"
)

var githubNewFileMode = "100644"
Expand Down
2 changes: 1 addition & 1 deletion github/client_repository_deploykey.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"context"
"errors"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/client_repository_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"io"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"
)

// FileClient implements the gitprovider.FileClient interface.
Expand Down
2 changes: 1 addition & 1 deletion github/client_repository_pullrequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"context"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"
)

// PullRequestClient implements the gitprovider.PullRequestClient interface.
Expand Down
2 changes: 1 addition & 1 deletion github/client_repository_teamaccess.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func (c *TeamAccessClient) Get(ctx context.Context, name string) (gitprovider.Te

return newTeamAccess(c, gitprovider.TeamAccessInfo{
Name: name,
Permission: getPermissionFromMap(permissionMap),
Permission: getPermissionFromStruct(permissionMap),
}), nil
}

Expand Down
2 changes: 1 addition & 1 deletion github/example_organization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (

"github.com/fluxcd/go-git-providers/github"
"github.com/fluxcd/go-git-providers/gitprovider"
gogithub "github.com/google/go-github/v75/github"
gogithub "github.com/google/go-github/v82/github"
)

// checkErr is used for examples in this repository.
Expand Down
2 changes: 1 addition & 1 deletion github/example_repository_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (

"github.com/fluxcd/go-git-providers/github"
"github.com/fluxcd/go-git-providers/gitprovider"
gogithub "github.com/google/go-github/v75/github"
gogithub "github.com/google/go-github/v82/github"
)

func ExampleOrgRepositoriesClient_Get() {
Expand Down
7 changes: 4 additions & 3 deletions github/githubclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ import (
"context"
"fmt"

"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/google/go-github/v75/github"
)

// githubClientImpl is a wrapper around *github.Client, which implements higher-level methods,
Expand Down Expand Up @@ -85,7 +86,7 @@ type githubClient interface {

// GetTeamPermissions is a wrapper for "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}".
// This function handles HTTP error wrapping, and validates the server result.
GetTeamPermissions(ctx context.Context, orgName, repo, teamName string) (map[string]bool, error)
GetTeamPermissions(ctx context.Context, orgName, repo, teamName string) (*github.RepositoryPermissions, error)
// ListRepoTeams is a wrapper for "GET /repos/{owner}/{repo}/teams".
// This function handles pagination, HTTP error wrapping, and validates the server result.
ListRepoTeams(ctx context.Context, orgName, repo string) ([]*github.Team, error)
Expand Down Expand Up @@ -354,7 +355,7 @@ func (c *githubClientImpl) DeleteKey(ctx context.Context, owner, repo string, id
return handleHTTPError(err)
}

func (c *githubClientImpl) GetTeamPermissions(ctx context.Context, orgName, repo, teamName string) (map[string]bool, error) {
func (c *githubClientImpl) GetTeamPermissions(ctx context.Context, orgName, repo, teamName string) (*github.RepositoryPermissions, error) {
// GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
apiObj, _, err := c.c.Teams.IsTeamRepoBySlug(ctx, orgName, teamName, orgName, repo)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion github/integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (
"testing"
"time"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"
"github.com/gregjones/httpcache"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
Expand Down
2 changes: 1 addition & 1 deletion github/resource_commit.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ limitations under the License.
package github

import (
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)
Expand Down
2 changes: 1 addition & 1 deletion github/resource_deploykey.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (
"fmt"
"reflect"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/fluxcd/go-git-providers/validation"
Expand Down
2 changes: 1 addition & 1 deletion github/resource_organization.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ limitations under the License.
package github

import (
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/fluxcd/go-git-providers/validation"
Expand Down
2 changes: 1 addition & 1 deletion github/resource_pullrequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ package github

import (
"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"
)

func newPullRequest(ctx *clientContext, apiObj *github.PullRequest) *pullrequest {
Expand Down
2 changes: 1 addition & 1 deletion github/resource_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"errors"
"reflect"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/fluxcd/go-git-providers/validation"
Expand Down
39 changes: 18 additions & 21 deletions github/resource_teamaccess.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ import (
"context"
"errors"

"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)

Expand Down Expand Up @@ -105,26 +107,21 @@ func (ta *teamAccess) Reconcile(ctx context.Context) (bool, error) {
return true, ta.Update(ctx)
}

//nolint:gochecknoglobals,gomnd
var permissionPriority = map[gitprovider.RepositoryPermission]int{
gitprovider.RepositoryPermissionPull: 1,
gitprovider.RepositoryPermissionTriage: 2,
gitprovider.RepositoryPermissionPush: 3,
gitprovider.RepositoryPermissionMaintain: 4,
gitprovider.RepositoryPermissionAdmin: 5,
}

func getPermissionFromMap(permissionMap map[string]bool) (permission *gitprovider.RepositoryPermission) {
lastPriority := 0
for key, ok := range permissionMap {
if ok {
p := gitprovider.RepositoryPermission(key)
priority, ok := permissionPriority[p]
if ok && priority > lastPriority {
permission = &p
lastPriority = priority
}
}
func getPermissionFromStruct(permissionMap *github.RepositoryPermissions) *gitprovider.RepositoryPermission {
if permissionMap.GetAdmin() {
return &gitprovider.RepositoryPermissionAdmin
}
return
if permissionMap.GetMaintain() {
return &gitprovider.RepositoryPermissionMaintain
}
if permissionMap.GetPush() {
return &gitprovider.RepositoryPermissionPush
}
if permissionMap.GetTriage() {
return &gitprovider.RepositoryPermissionTriage
}
if permissionMap.GetPull() {
return &gitprovider.RepositoryPermissionPull
}
return nil
}
83 changes: 43 additions & 40 deletions github/resource_teamaccess_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,87 +20,90 @@ import (
"reflect"
"testing"

"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
)

func Test_getPermissionFromMap(t *testing.T) {
trueValue := true
falseValue := false

tests := []struct {
name string
permissions map[string]bool
permissions *github.RepositoryPermissions
want *gitprovider.RepositoryPermission
}{
{
name: "pull",
permissions: map[string]bool{
"pull": true,
"triage": false,
"push": false,
"maintain": false,
"admin": false,
permissions: &github.RepositoryPermissions{
Pull: &trueValue,
Triage: &falseValue,
Push: &falseValue,
Maintain: &falseValue,
Admin: &falseValue,
},
want: gitprovider.RepositoryPermissionVar(gitprovider.RepositoryPermissionPull),
},
{
name: "push",
permissions: map[string]bool{
"triage": false,
"push": true,
"maintain": false,
"pull": true,
"admin": false,
permissions: &github.RepositoryPermissions{
Triage: &falseValue,
Push: &trueValue,
Maintain: &falseValue,
Pull: &trueValue,
Admin: &falseValue,
},
want: gitprovider.RepositoryPermissionVar(gitprovider.RepositoryPermissionPush),
},
{
name: "admin",
permissions: map[string]bool{
"admin": true,
"pull": true,
"triage": true,
"maintain": true,
"push": true,
permissions: &github.RepositoryPermissions{
Admin: &trueValue,
Pull: &trueValue,
Triage: &trueValue,
Maintain: &trueValue,
Push: &trueValue,
},
want: gitprovider.RepositoryPermissionVar(gitprovider.RepositoryPermissionAdmin),
},
{
name: "none",
permissions: map[string]bool{
"admin": false,
"pull": false,
"push": false,
"maintain": false,
"triage": false,
permissions: &github.RepositoryPermissions{
Admin: &falseValue,
Pull: &falseValue,
Push: &falseValue,
Maintain: &falseValue,
Triage: &falseValue,
},
want: nil,
},
{
name: "false data",
permissions: map[string]bool{
"pull": false,
"triage": false,
"push": false,
"maintain": false,
"admin": false,
"invalid": true,
permissions: &github.RepositoryPermissions{
Pull: &falseValue,
Triage: &falseValue,
Push: &falseValue,
Maintain: &falseValue,
Admin: &falseValue,
},
want: nil,
},
{
name: "not all specifed",
permissions: map[string]bool{
"pull": false,
"triage": false,
"push": false,
"maintain": false,
"admin": false,
"invalid": true,
permissions: &github.RepositoryPermissions{
Pull: &falseValue,
Triage: &falseValue,
Push: &falseValue,
Maintain: &falseValue,
Admin: &falseValue,
},
want: nil,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
gotPermission := getPermissionFromMap(tt.permissions)
gotPermission := getPermissionFromStruct(tt.permissions)
if !reflect.DeepEqual(gotPermission, tt.want) {
t.Errorf("getPermissionFromMap() = %v, want %v", gotPermission, tt.want)
}
Expand Down
2 changes: 1 addition & 1 deletion github/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"fmt"
"net/http"

"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/fluxcd/go-git-providers/validation"
Expand Down
2 changes: 1 addition & 1 deletion github/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (

"github.com/fluxcd/go-git-providers/gitprovider"
"github.com/fluxcd/go-git-providers/validation"
"github.com/google/go-github/v75/github"
"github.com/google/go-github/v82/github"
)

func Test_validateAPIObject(t *testing.T) {
Expand Down
Loading
Loading