diff options
author | qwerty287 <80460567+qwerty287@users.noreply.github.com> | 2022-05-01 17:39:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-01 17:39:04 +0200 |
commit | ac6c338428b83d0cb80764571e2402402beb2788 (patch) | |
tree | 8fca66a8fa01846018154d24d220975f7466309a /integrations | |
parent | edff571aa927f3c412ce91976e248ad4569b0c77 (diff) | |
download | gitea-ac6c338428b83d0cb80764571e2402402beb2788.tar.gz gitea-ac6c338428b83d0cb80764571e2402402beb2788.zip |
Add API to check if team has repo access (#19540)
* Add API to check if team has repo access
* Add test case
Diffstat (limited to 'integrations')
-rw-r--r-- | integrations/api_team_test.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/integrations/api_team_test.go b/integrations/api_team_test.go index daf1efa2be..412fd4c73d 100644 --- a/integrations/api_team_test.go +++ b/integrations/api_team_test.go @@ -11,6 +11,7 @@ import ( "testing" "code.gitea.io/gitea/models/organization" + "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" @@ -239,3 +240,26 @@ func TestAPITeamSearch(t *testing.T) { req = NewRequestf(t, "GET", "/api/v1/orgs/%s/teams/search?q=%s&token=%s", org.Name, "team", token5) MakeRequest(t, req, http.StatusForbidden) } + +func TestAPIGetTeamRepo(t *testing.T) { + defer prepareTestEnv(t)() + + user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 15}).(*user_model.User) + teamRepo := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 24}).(*repo.Repository) + team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 5}).(*organization.Team) + + var results api.Repository + + token := getUserToken(t, user.Name) + req := NewRequestf(t, "GET", "/api/v1/teams/%d/repos/%s/?token=%s", team.ID, teamRepo.FullName(), token) + resp := MakeRequest(t, req, http.StatusOK) + DecodeJSON(t, resp, &results) + assert.Equal(t, "big_test_private_4", teamRepo.Name) + + // no access if not organization member + user5 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5}).(*user_model.User) + token5 := getUserToken(t, user5.Name) + + req = NewRequestf(t, "GET", "/api/v1/teams/%d/repos/%s/?token=%s", team.ID, teamRepo.FullName(), token5) + MakeRequest(t, req, http.StatusNotFound) +} |