@@ -41,6 +41,7 @@ func testGitLabBackend() *httptest.Server {
41 "groups": ["foo", "bar"]
41 "groups": ["foo", "bar"]
44 projectInfo := `
45 projectInfo := `
46 "name": "MyProject",
47 "name": "MyProject",
@@ -56,6 +57,18 @@ func testGitLabBackend() *httptest.Server {
60+ noAccessProjectInfo := `
62+ "name": "NoAccessProject",
64+ "path_with_namespace": "no_access_group/no_access_project",
66+ "project_access": null,
67+ "group_access": null,
59 personalProjectInfo := `
72 personalProjectInfo := `
61 "name": "MyPersonalProject",
74 "name": "MyPersonalProject",
@@ -105,6 +118,13 @@ func testGitLabBackend() *httptest.Server {
106 w.WriteHeader(401)
119 w.WriteHeader(401)
121+ case "/api/v4/projects/no_access_group/no_access_project":
122+ if r.Header["Authorization"][0] == authHeader {
124+ w.Write([]byte(noAccessProjectInfo))
108 case "/api/v4/projects/my_group/my_archived_project":
128 case "/api/v4/projects/my_group/my_archived_project":
109 if r.Header["Authorization"][0] == authHeader {
129 if r.Header["Authorization"][0] == authHeader {
110 w.WriteHeader(200)
130 w.WriteHeader(200)
@@ -219,6 +239,10 @@ var _ = Describe("Gitlab Provider Tests", func() {
219 expectedValue: nil,
239 expectedValue: nil,
220 projects: []string{"my_group/my_project=40"},
240 projects: []string{"my_group/my_project=40"},
242+ Entry("project membership invalid on group project, no access at all", entitiesTableInput{
244+ projects: []string{"no_access_group/no_access_project=30"},
222 Entry("project membership valid on personnal project", entitiesTableInput{
246 Entry("project membership valid on personnal project", entitiesTableInput{
223 expectedValue: []string{"project:my_profile/my_personal_project"},
247 expectedValue: []string{"project:my_profile/my_personal_project"},
224 projects: []string{"my_profile/my_personal_project"},
248 projects: []string{"my_profile/my_personal_project"},