@@ -12,7 +12,9 @@ import (
1212 "testing"
1313
1414 auth_model "code.gitea.io/gitea/models/auth"
15+ "code.gitea.io/gitea/models/perm"
1516 repo_model "code.gitea.io/gitea/models/repo"
17+ "code.gitea.io/gitea/models/unit"
1618 "code.gitea.io/gitea/models/unittest"
1719 user_model "code.gitea.io/gitea/models/user"
1820 "code.gitea.io/gitea/tests"
@@ -58,9 +60,12 @@ func TestAPIDownloadArchive(t *testing.T) {
5860
5961 link , _ = url .Parse (fmt .Sprintf ("/api/v1/repos/%s/%s/archive/master" , user2 .Name , repo .Name ))
6062 MakeRequest (t , NewRequest (t , "GET" , link .String ()).AddTokenAuth (token ), http .StatusBadRequest )
63+
64+ t .Run ("GitHubStyle" , testAPIDownloadArchiveGitHubStyle )
65+ t .Run ("PrivateRepo" , testAPIDownloadArchivePrivateRepo )
6166}
6267
63- func TestAPIDownloadArchive2 (t * testing.T ) {
68+ func testAPIDownloadArchiveGitHubStyle (t * testing.T ) {
6469 defer tests .PrepareTestEnv (t )()
6570
6671 repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : 1 })
@@ -95,7 +100,13 @@ func TestAPIDownloadArchive2(t *testing.T) {
95100 bs , err = io .ReadAll (resp .Body )
96101 assert .NoError (t , err )
97102 assert .Len (t , bs , 382 )
103+ }
98104
99- link , _ = url .Parse (fmt .Sprintf ("/api/v1/repos/%s/%s/archive/master" , user2 .Name , repo .Name ))
100- MakeRequest (t , NewRequest (t , "GET" , link .String ()).AddTokenAuth (token ), http .StatusBadRequest )
105+ func testAPIDownloadArchivePrivateRepo (t * testing.T ) {
106+ _ = repo_model .UpdateRepositoryColsNoAutoTime (t .Context (), & repo_model.Repository {ID : 1 , IsPrivate : true }, "is_private" )
107+ MakeRequest (t , NewRequest (t , "HEAD" , "/api/v1/repos/user2/repo1/archive/master.zip" ), http .StatusNotFound )
108+ MakeRequest (t , NewRequest (t , "HEAD" , "/api/v1/repos/user2/repo1/zipball/master" ), http .StatusNotFound )
109+ _ = repo_model .UpdateRepoUnitPublicAccess (t .Context (), & repo_model.RepoUnit {RepoID : 1 , Type : unit .TypeCode , AnonymousAccessMode : perm .AccessModeRead })
110+ MakeRequest (t , NewRequest (t , "HEAD" , "/api/v1/repos/user2/repo1/archive/master.zip" ), http .StatusOK )
111+ MakeRequest (t , NewRequest (t , "HEAD" , "/api/v1/repos/user2/repo1/zipball/master" ), http .StatusOK )
101112}
0 commit comments