@@ -7,99 +7,58 @@ package github
7
7
8
8
import (
9
9
"context"
10
- "encoding/json"
11
10
"fmt"
12
- "io/ioutil"
13
11
"net/http"
14
12
"reflect"
15
13
"testing"
16
14
)
17
15
18
- type reviewersRequest struct {
19
- Reviewers []string `json:"reviewers,omitempty"`
20
- }
21
-
22
16
func TestRequestReviewers (t * testing.T ) {
23
17
setup ()
24
18
defer teardown ()
25
19
26
- logins := []string {"octocat" , "googlebot" }
27
-
28
20
mux .HandleFunc ("/repos/o/r/pulls/1/requested_reviewers" , func (w http.ResponseWriter , r * http.Request ) {
29
21
testMethod (t , r , "POST" )
30
22
testHeader (t , r , "Accept" , mediaTypePullRequestReviewsPreview )
31
- b , err := ioutil .ReadAll (r .Body )
32
- if err != nil {
33
- t .Errorf ("TestReviewerRequest couldn't read request body: %v" , err )
34
- }
35
-
36
- reviewers := reviewersRequest {}
37
- if err := json .Unmarshal (b , & reviewers ); err != nil {
38
- return
39
- }
40
- want := reviewersRequest {
41
- Reviewers : logins ,
42
- }
43
- if ! reflect .DeepEqual (reviewers , want ) {
44
- t .Errorf ("PullRequests.RequestReviewers returned %+v, want %+v" , reviewers , want )
45
- }
23
+ testBody (t , r , `{"reviewers":["octocat","googlebot"]}` )
24
+ fmt .Fprint (w , `{"number":1}` )
46
25
})
47
26
48
27
// This returns a PR, unmarshalling of which is tested elsewhere
49
- _ , _ , err := client .PullRequests .RequestReviewers (context .Background (), "o" , "r" , 1 , logins )
28
+ pull , _ , err := client .PullRequests .RequestReviewers (context .Background (), "o" , "r" , 1 , [] string { "octocat" , "googlebot" } )
50
29
if err != nil {
51
30
t .Errorf ("PullRequests.RequestReviewers returned error: %v" , err )
52
31
}
32
+ want := & PullRequest {Number : Int (1 )}
33
+ if ! reflect .DeepEqual (pull , want ) {
34
+ t .Errorf ("PullRequests.RequestReviewers returned %+v, want %+v" , pull , want )
35
+ }
53
36
}
54
37
55
38
func TestRemoveReviewers (t * testing.T ) {
56
39
setup ()
57
40
defer teardown ()
58
- logins := []string {"octocat" , "googlebot" }
59
41
60
42
mux .HandleFunc ("/repos/o/r/pulls/1/requested_reviewers" , func (w http.ResponseWriter , r * http.Request ) {
61
43
testMethod (t , r , "DELETE" )
62
44
testHeader (t , r , "Accept" , mediaTypePullRequestReviewsPreview )
63
- b , err := ioutil .ReadAll (r .Body )
64
- if err != nil {
65
- t .Errorf ("TestReviewerRequest couldn't read request body: %v" , err )
66
- }
67
-
68
- reviewers := reviewersRequest {}
69
- if err := json .Unmarshal (b , & reviewers ); err != nil {
70
- return
71
- }
72
-
73
- want := reviewersRequest {
74
- Reviewers : logins ,
75
- }
76
- if ! reflect .DeepEqual (reviewers , want ) {
77
- t .Errorf ("PullRequests.RemoveReviewers returned %+v, want %+v" , reviewers , want )
78
- }
45
+ testBody (t , r , `{"reviewers":["octocat","googlebot"]}` )
79
46
})
80
47
81
- _ , err := client .PullRequests .RemoveReviewers (context .Background (), "o" , "r" , 1 , logins )
48
+ _ , err := client .PullRequests .RemoveReviewers (context .Background (), "o" , "r" , 1 , [] string { "octocat" , "googlebot" } )
82
49
if err != nil {
83
50
t .Errorf ("PullRequests.RequestReviewers returned error: %v" , err )
84
51
}
85
-
86
52
}
87
53
88
54
func TestListReviewers (t * testing.T ) {
89
55
setup ()
90
56
defer teardown ()
91
57
92
- sampleResponse := `[
93
- {
94
- "login": "octocat",
95
- "id": 1
96
- }
97
- ]`
98
-
99
58
mux .HandleFunc ("/repos/o/r/pulls/1/requested_reviewers" , func (w http.ResponseWriter , r * http.Request ) {
100
59
testMethod (t , r , "GET" )
101
60
testHeader (t , r , "Accept" , mediaTypePullRequestReviewsPreview )
102
- fmt .Fprintf (w , sampleResponse )
61
+ fmt .Fprint (w , `[{"login": "octocat","id": 1 }]` )
103
62
})
104
63
105
64
reviewers , _ , err := client .PullRequests .ListReviewers (context .Background (), "o" , "r" , 1 )
0 commit comments