diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-04-26 02:59:10 +0800 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-04-25 21:59:10 +0300 |
commit | 199faadea3ff40880d70c8bc031aab800720330d (patch) | |
tree | 274117bd848e3cbf9c7f9fb3057814fd76552e83 /integrations/org_test.go | |
parent | e8f4c7733a822eb6bb04909dbf70f2de679522b7 (diff) | |
download | gitea-199faadea3ff40880d70c8bc031aab800720330d.tar.gz gitea-199faadea3ff40880d70c8bc031aab800720330d.zip |
Fix org visibility bug when git cloning (#6743)
* fix org visibility bug
* fix permission check
* add integration tests
* fix tests
* change test user name for easier maintainance and fix test
* fix test git repo name
Diffstat (limited to 'integrations/org_test.go')
-rw-r--r-- | integrations/org_test.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/integrations/org_test.go b/integrations/org_test.go index b17d229d67..17b8958480 100644 --- a/integrations/org_test.go +++ b/integrations/org_test.go @@ -41,3 +41,63 @@ func TestOrgRepos(t *testing.T) { }) } } + +func TestLimitedOrg(t *testing.T) { + prepareTestEnv(t) + + // not logged in user + req := NewRequest(t, "GET", "/limited_org") + MakeRequest(t, req, http.StatusNotFound) + req = NewRequest(t, "GET", "/limited_org/public_repo_on_limited_org") + MakeRequest(t, req, http.StatusNotFound) + req = NewRequest(t, "GET", "/limited_org/private_repo_on_limited_org") + MakeRequest(t, req, http.StatusNotFound) + + // login non-org member user + session := loginUser(t, "user2") + req = NewRequest(t, "GET", "/limited_org") + session.MakeRequest(t, req, http.StatusOK) + req = NewRequest(t, "GET", "/limited_org/public_repo_on_limited_org") + session.MakeRequest(t, req, http.StatusOK) + req = NewRequest(t, "GET", "/limited_org/private_repo_on_limited_org") + session.MakeRequest(t, req, http.StatusNotFound) + + // site admin + session = loginUser(t, "user1") + req = NewRequest(t, "GET", "/limited_org") + session.MakeRequest(t, req, http.StatusOK) + req = NewRequest(t, "GET", "/limited_org/public_repo_on_limited_org") + session.MakeRequest(t, req, http.StatusOK) + req = NewRequest(t, "GET", "/limited_org/private_repo_on_limited_org") + session.MakeRequest(t, req, http.StatusOK) +} + +func TestPrivateOrg(t *testing.T) { + prepareTestEnv(t) + + // not logged in user + req := NewRequest(t, "GET", "/privated_org") + MakeRequest(t, req, http.StatusNotFound) + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") + MakeRequest(t, req, http.StatusNotFound) + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") + MakeRequest(t, req, http.StatusNotFound) + + // login non-org member user + session := loginUser(t, "user2") + req = NewRequest(t, "GET", "/privated_org") + session.MakeRequest(t, req, http.StatusNotFound) + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") + session.MakeRequest(t, req, http.StatusNotFound) + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") + session.MakeRequest(t, req, http.StatusNotFound) + + // site admin + session = loginUser(t, "user1") + req = NewRequest(t, "GET", "/privated_org") + session.MakeRequest(t, req, http.StatusOK) + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") + session.MakeRequest(t, req, http.StatusOK) + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") + session.MakeRequest(t, req, http.StatusOK) +} |