@@ -58,6 +58,29 @@ func TestAPIReposGitCommitList(t *testing.T) {
5858 session := loginUser (t , user .Name )
5959 token := getTokenForLoggedInUser (t , session )
6060
61+ // Test getting commits (Page 1)
62+ req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo20/commits?token=" + token + "¬=master&sha=remove-files-a" , user .Name )
63+ resp := MakeRequest (t , req , http .StatusOK )
64+
65+ var apiData []api.Commit
66+ DecodeJSON (t , resp , & apiData )
67+
68+ assert .Len (t , apiData , 2 )
69+ assert .EqualValues (t , "cfe3b3c1fd36fba04f9183287b106497e1afe986" , apiData [0 ].CommitMeta .SHA )
70+ compareCommitFiles (t , []string {"link_hi" , "test.csv" }, apiData [0 ].Files )
71+ assert .EqualValues (t , "c8e31bc7688741a5287fcde4fbb8fc129ca07027" , apiData [1 ].CommitMeta .SHA )
72+ compareCommitFiles (t , []string {"test.csv" }, apiData [1 ].Files )
73+
74+ assert .EqualValues (t , resp .Header ().Get ("X-Total" ), "2" )
75+ }
76+
77+ func TestAPIReposGitCommitListNotMaster (t * testing.T ) {
78+ defer tests .PrepareTestEnv (t )()
79+ user := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 2 })
80+ // Login as User2.
81+ session := loginUser (t , user .Name )
82+ token := getTokenForLoggedInUser (t , session )
83+
6184 // Test getting commits (Page 1)
6285 req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo16/commits?token=" + token , user .Name )
6386 resp := MakeRequest (t , req , http .StatusOK )
@@ -72,6 +95,8 @@ func TestAPIReposGitCommitList(t *testing.T) {
7295 compareCommitFiles (t , []string {"readme.md" }, apiData [1 ].Files )
7396 assert .EqualValues (t , "5099b81332712fe655e34e8dd63574f503f61811" , apiData [2 ].CommitMeta .SHA )
7497 compareCommitFiles (t , []string {"readme.md" }, apiData [2 ].Files )
98+
99+ assert .EqualValues (t , resp .Header ().Get ("X-Total" ), "3" )
75100}
76101
77102func TestAPIReposGitCommitListPage2Empty (t * testing.T ) {
@@ -148,4 +173,26 @@ func TestGetFileHistory(t *testing.T) {
148173 assert .Len (t , apiData , 1 )
149174 assert .Equal (t , "f27c2b2b03dcab38beaf89b0ab4ff61f6de63441" , apiData [0 ].CommitMeta .SHA )
150175 compareCommitFiles (t , []string {"readme.md" }, apiData [0 ].Files )
176+
177+ assert .EqualValues (t , resp .Header ().Get ("X-Total" ), "1" )
178+ }
179+
180+ func TestGetFileHistoryNotOnMaster (t * testing.T ) {
181+ defer tests .PrepareTestEnv (t )()
182+ user := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 2 })
183+ // Login as User2.
184+ session := loginUser (t , user .Name )
185+ token := getTokenForLoggedInUser (t , session )
186+
187+ req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo20/commits?path=test.csv&token=" + token + "&sha=add-csv¬=master" , user .Name )
188+ resp := MakeRequest (t , req , http .StatusOK )
189+
190+ var apiData []api.Commit
191+ DecodeJSON (t , resp , & apiData )
192+
193+ assert .Len (t , apiData , 1 )
194+ assert .Equal (t , "c8e31bc7688741a5287fcde4fbb8fc129ca07027" , apiData [0 ].CommitMeta .SHA )
195+ compareCommitFiles (t , []string {"test.csv" }, apiData [0 ].Files )
196+
197+ assert .EqualValues (t , resp .Header ().Get ("X-Total" ), "1" )
151198}
0 commit comments