@@ -21,17 +21,41 @@ func TestAPIReposGitCommits(t *testing.T) {
21
21
session := loginUser (t , user .Name )
22
22
token := getTokenForLoggedInUser (t , session )
23
23
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
+
24
38
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
27
43
} {
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 )
30
58
}
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 )
35
59
}
36
60
37
61
func TestAPIReposGitCommitList (t * testing.T ) {
0 commit comments