@@ -58,6 +58,29 @@ func TestAPIReposGitCommitList(t *testing.T) {
58
58
session := loginUser (t , user .Name )
59
59
token := getTokenForLoggedInUser (t , session )
60
60
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
+
61
84
// Test getting commits (Page 1)
62
85
req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo16/commits?token=" + token , user .Name )
63
86
resp := MakeRequest (t , req , http .StatusOK )
@@ -72,6 +95,8 @@ func TestAPIReposGitCommitList(t *testing.T) {
72
95
compareCommitFiles (t , []string {"readme.md" }, apiData [1 ].Files )
73
96
assert .EqualValues (t , "5099b81332712fe655e34e8dd63574f503f61811" , apiData [2 ].CommitMeta .SHA )
74
97
compareCommitFiles (t , []string {"readme.md" }, apiData [2 ].Files )
98
+
99
+ assert .EqualValues (t , resp .Header ().Get ("X-Total" ), "3" )
75
100
}
76
101
77
102
func TestAPIReposGitCommitListPage2Empty (t * testing.T ) {
@@ -148,4 +173,26 @@ func TestGetFileHistory(t *testing.T) {
148
173
assert .Len (t , apiData , 1 )
149
174
assert .Equal (t , "f27c2b2b03dcab38beaf89b0ab4ff61f6de63441" , apiData [0 ].CommitMeta .SHA )
150
175
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" )
151
198
}
0 commit comments