mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-04 21:06:03 +02:00
github: fix missing groups (#3171)
This commit is contained in:
parent
b5ce4c7d5d
commit
a65024f8fe
2 changed files with 63 additions and 26 deletions
|
@ -122,6 +122,26 @@ func newMockAPI(t *testing.T, srv *httptest.Server) http.Handler {
|
|||
}
|
||||
}
|
||||
}
|
||||
renderNodeField := func(field *ast.Field, path []string, value string) string {
|
||||
outer:
|
||||
for _, segment := range path {
|
||||
for _, selection := range field.SelectionSet {
|
||||
subField, ok := selection.(*ast.Field)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
||||
if subField.Name != segment {
|
||||
continue
|
||||
}
|
||||
|
||||
field = subField
|
||||
continue outer
|
||||
}
|
||||
return ""
|
||||
}
|
||||
return value
|
||||
}
|
||||
handleTeams := func(orgSlug string, field *ast.Field) {
|
||||
teams := &qlTeamConnection{}
|
||||
|
||||
|
@ -142,7 +162,11 @@ func newMockAPI(t *testing.T, srv *httptest.Server) http.Handler {
|
|||
case "org1":
|
||||
teams.PageInfo = qlPageInfo{HasNextPage: true, EndCursor: "TOKEN1"}
|
||||
teams.Edges = []qlTeamEdge{
|
||||
{Node: qlTeam{ID: "MDQ6VGVhbTE=", Slug: "team1", Name: "Team 1", Members: &qlTeamMemberConnection{
|
||||
{Node: qlTeam{
|
||||
ID: renderNodeField(field, []string{"edges", "node", "id"}, "MDQ6VGVhbTE="),
|
||||
Slug: renderNodeField(field, []string{"edges", "node", "slug"}, "team1"),
|
||||
Name: renderNodeField(field, []string{"edges", "node", "name"}, "Team 1"),
|
||||
Members: &qlTeamMemberConnection{
|
||||
PageInfo: qlPageInfo{HasNextPage: false},
|
||||
Edges: []qlTeamMemberEdge{
|
||||
{Node: qlUser{ID: "user1"}},
|
||||
|
@ -153,7 +177,11 @@ func newMockAPI(t *testing.T, srv *httptest.Server) http.Handler {
|
|||
case "org2":
|
||||
teams.PageInfo = qlPageInfo{HasNextPage: false}
|
||||
teams.Edges = []qlTeamEdge{
|
||||
{Node: qlTeam{ID: "MDQ6VGVhbTM=", Slug: "team3", Name: "Team 3", Members: &qlTeamMemberConnection{
|
||||
{Node: qlTeam{
|
||||
ID: renderNodeField(field, []string{"edges", "node", "id"}, "MDQ6VGVhbTM="),
|
||||
Slug: renderNodeField(field, []string{"edges", "node", "slug"}, "team3"),
|
||||
Name: renderNodeField(field, []string{"edges", "node", "name"}, "Team 3"),
|
||||
Members: &qlTeamMemberConnection{
|
||||
PageInfo: qlPageInfo{HasNextPage: true, EndCursor: "TOKEN1"},
|
||||
Edges: []qlTeamMemberEdge{
|
||||
{Node: qlUser{ID: "user1"}},
|
||||
|
@ -163,7 +191,11 @@ func newMockAPI(t *testing.T, srv *httptest.Server) http.Handler {
|
|||
}
|
||||
if userLogin == "" || userLogin == "user4" {
|
||||
teams.Edges = append(teams.Edges, qlTeamEdge{
|
||||
Node: qlTeam{ID: "MDQ6VGVhbTQ=", Slug: "team4", Name: "Team 4", Members: &qlTeamMemberConnection{
|
||||
Node: qlTeam{
|
||||
ID: renderNodeField(field, []string{"edges", "node", "id"}, "MDQ6VGVhbTQ="),
|
||||
Slug: renderNodeField(field, []string{"edges", "node", "slug"}, "team4"),
|
||||
Name: renderNodeField(field, []string{"edges", "node", "name"}, "Team 4"),
|
||||
Members: &qlTeamMemberConnection{
|
||||
PageInfo: qlPageInfo{HasNextPage: false},
|
||||
Edges: []qlTeamMemberEdge{
|
||||
{Node: qlUser{ID: "user4"}},
|
||||
|
@ -177,7 +209,11 @@ func newMockAPI(t *testing.T, srv *httptest.Server) http.Handler {
|
|||
case "TOKEN1":
|
||||
teams.PageInfo = qlPageInfo{HasNextPage: false}
|
||||
teams.Edges = []qlTeamEdge{
|
||||
{Node: qlTeam{ID: "MDQ6VGVhbTI=", Slug: "team2", Name: "Team 2", Members: &qlTeamMemberConnection{
|
||||
{Node: qlTeam{
|
||||
ID: renderNodeField(field, []string{"edges", "node", "id"}, "MDQ6VGVhbTI="),
|
||||
Slug: renderNodeField(field, []string{"edges", "node", "slug"}, "team2"),
|
||||
Name: renderNodeField(field, []string{"edges", "node", "name"}, "Team 2"),
|
||||
Members: &qlTeamMemberConnection{
|
||||
PageInfo: qlPageInfo{HasNextPage: false},
|
||||
Edges: []qlTeamMemberEdge{
|
||||
{Node: qlUser{ID: "user1"}},
|
||||
|
|
|
@ -216,6 +216,7 @@ func (p *Provider) listUserOrganizationTeams(ctx context.Context, userSlug strin
|
|||
edges {
|
||||
node {
|
||||
id
|
||||
slug
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue