@@ -21,17 +21,41 @@ func TestAPIReposGitCommits(t *testing.T) {
2121 session := loginUser (t , user .Name )
2222 token := getTokenForLoggedInUser (t , session )
2323
24+ //check invalid requests for GetCommitsBySHA
25+ req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/git/commits/master?token=" + token , user .Name )
26+ session .MakeRequest (t , req , http .StatusUnprocessableEntity )
27+
28+ req = NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/git/commits/12345?token=" + token , user .Name )
29+ session .MakeRequest (t , req , http .StatusNotFound )
30+
31+ //check invalid requests for GetCommitsByRef
32+ req = NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/commits/..?token=" + token , user .Name )
33+ session .MakeRequest (t , req , http .StatusUnprocessableEntity )
34+
35+ req = NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/commits/branch-not-exist?token=" + token , user .Name )
36+ session .MakeRequest (t , req , http .StatusNotFound )
37+
2438 for _ , ref := range [... ]string {
25- "commits/master" , // Branch
26- "commits/v1.1" , // Tag
39+ "master" , // Branch
40+ "v1.1" , // Tag
41+ "65f1" , // short sha
42+ "65f1bf27bc3bf70f64657658635e66094edbcb4d" , // full sha
2743 } {
28- req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/git/%s?token=" + token , user .Name , ref )
29- session .MakeRequest (t , req , http .StatusOK )
44+ req = NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/commits/%s?token=" + token , user .Name , ref )
45+ resp := session .MakeRequest (t , req , http .StatusOK )
46+ commitByRef := new (api.Commit )
47+ DecodeJSON (t , resp , commitByRef )
48+ assert .Len (t , commitByRef .SHA , 40 )
49+ assert .EqualValues (t , commitByRef .SHA , commitByRef .RepoCommit .Tree .SHA )
50+ req = NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/git/commits/%s?token=" + token , user .Name , commitByRef .SHA )
51+ resp = session .MakeRequest (t , req , http .StatusOK )
52+ commitBySHA := new (api.Commit )
53+ DecodeJSON (t , resp , commitBySHA )
54+
55+ assert .EqualValues (t , commitByRef .SHA , commitBySHA .SHA )
56+ assert .EqualValues (t , commitByRef .HTMLURL , commitBySHA .HTMLURL )
57+ assert .EqualValues (t , commitByRef .RepoCommit .Message , commitBySHA .RepoCommit .Message )
3058 }
31-
32- // Test getting non-existent refs
33- req := NewRequestf (t , "GET" , "/api/v1/repos/%s/repo1/git/commits/unknown?token=" + token , user .Name )
34- session .MakeRequest (t , req , http .StatusNotFound )
3559}
3660
3761func TestAPIReposGitCommitList (t * testing.T ) {
0 commit comments