Consider gitlab inherited permissions (#3308)

The gitlab projects endpoint does not include information about
permissions granted by namespace memberships. To get this information a
separate query to
https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project-including-inherited-and-invited-members
is necessary.
This commit is contained in:
Lukas
2024-02-06 00:10:23 +01:00
committed by GitHub
parent c7467b9828
commit db4a50951c
6 changed files with 94 additions and 46 deletions

View File

@@ -304,3 +304,33 @@ var project4PayloadHooks = []byte(`
}
]
`)
var project4PayloadMembers = []byte(`
{
"id": 3,
"username": "some_user",
"name": "Diaspora",
"state": "active",
"locked": false,
"avatar_url": "https://example.com/uploads/-/system/user/avatar/3/avatar.png",
"web_url": "https://example.com/some_user",
"access_level": 50,
"created_at": "2024-01-16T12:39:58.912Z",
"expires_at": null
}
`)
var project6PayloadMembers = []byte(`
{
"id": 3,
"username": "some_user",
"name": "Diaspora",
"state": "active",
"locked": false,
"avatar_url": "https://example.com/uploads/-/system/user/avatar/3/avatar.png",
"web_url": "https://example.com/some_user",
"access_level": 30,
"created_at": "2024-01-16T12:39:58.912Z",
"expires_at": null
}
`)

View File

@@ -46,6 +46,7 @@ func NewServer(t *testing.T) *httptest.Server {
w.Write(project4Payload)
return
case "/api/v4/projects/brightbox/puppet":
case "/api/v4/projects/6":
w.Write(project6Payload)
return
case "/api/v4/projects/4/hooks":
@@ -60,6 +61,15 @@ func NewServer(t *testing.T) *httptest.Server {
case "/api/v4/projects/4/hooks/10717088":
w.WriteHeader(201)
return
case "/api/v4/projects/4/members/all/3":
w.Write(project4PayloadMembers)
return
case "/api/v4/projects/diaspora/diaspora-client/members/all/3":
w.Write(project4PayloadMembers)
return
case "/api/v4/projects/6/members/all/3":
w.Write(project6PayloadMembers)
return
case "/oauth/token":
w.Write(accessTokenPayload)
return