summaryrefslogtreecommitdiffstats
path: root/integrations
diff options
context:
space:
mode:
authorqwerty287 <80460567+qwerty287@users.noreply.github.com>2022-05-01 17:39:04 +0200
committerGitHub <noreply@github.com>2022-05-01 17:39:04 +0200
commitac6c338428b83d0cb80764571e2402402beb2788 (patch)
tree8fca66a8fa01846018154d24d220975f7466309a /integrations
parentedff571aa927f3c412ce91976e248ad4569b0c77 (diff)
downloadgitea-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.go24
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)
+}