|
6 | 6 | package github
|
7 | 7 |
|
8 | 8 | import (
|
| 9 | + "bytes" |
9 | 10 | "context"
|
10 |
| - "encoding/json" |
11 | 11 | "fmt"
|
| 12 | + "io/ioutil" |
12 | 13 | "net/http"
|
13 | 14 | "reflect"
|
14 | 15 | "testing"
|
@@ -68,17 +69,16 @@ func TestGitService_CreateTree(t *testing.T) {
|
68 | 69 | }
|
69 | 70 |
|
70 | 71 | mux.HandleFunc("/repos/o/r/git/trees", func(w http.ResponseWriter, r *http.Request) {
|
71 |
| - v := new(createTree) |
72 |
| - json.NewDecoder(r.Body).Decode(v) |
| 72 | + got, err := ioutil.ReadAll(r.Body) |
| 73 | + if err != nil { |
| 74 | + t.Fatalf("unable to read body: %v", err) |
| 75 | + } |
73 | 76 |
|
74 | 77 | testMethod(t, r, "POST")
|
75 | 78 |
|
76 |
| - want := &createTree{ |
77 |
| - BaseTree: "b", |
78 |
| - Entries: input, |
79 |
| - } |
80 |
| - if !reflect.DeepEqual(v, want) { |
81 |
| - t.Errorf("Git.CreateTree request body: %+v, want %+v", v, want) |
| 79 | + want := []byte(`{"base_tree":"b","tree":[{"sha":"7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b","path":"file.rb","mode":"100644","type":"blob"}]}` + "\n") |
| 80 | + if !bytes.Equal(got, want) { |
| 81 | + t.Errorf("Git.CreateTree request body: %s, want %s", got, want) |
82 | 82 | }
|
83 | 83 |
|
84 | 84 | fmt.Fprint(w, `{
|
@@ -132,17 +132,16 @@ func TestGitService_CreateTree_Content(t *testing.T) {
|
132 | 132 | }
|
133 | 133 |
|
134 | 134 | mux.HandleFunc("/repos/o/r/git/trees", func(w http.ResponseWriter, r *http.Request) {
|
135 |
| - v := new(createTree) |
136 |
| - json.NewDecoder(r.Body).Decode(v) |
| 135 | + got, err := ioutil.ReadAll(r.Body) |
| 136 | + if err != nil { |
| 137 | + t.Fatalf("unable to read body: %v", err) |
| 138 | + } |
137 | 139 |
|
138 | 140 | testMethod(t, r, "POST")
|
139 | 141 |
|
140 |
| - want := &createTree{ |
141 |
| - BaseTree: "b", |
142 |
| - Entries: input, |
143 |
| - } |
144 |
| - if !reflect.DeepEqual(v, want) { |
145 |
| - t.Errorf("Git.CreateTree request body: %+v, want %+v", v, want) |
| 142 | + want := []byte(`{"base_tree":"b","tree":[{"path":"content.md","mode":"100644","content":"file content"}]}` + "\n") |
| 143 | + if !bytes.Equal(got, want) { |
| 144 | + t.Errorf("Git.CreateTree request body: %s, want %s", got, want) |
146 | 145 | }
|
147 | 146 |
|
148 | 147 | fmt.Fprint(w, `{
|
@@ -198,17 +197,16 @@ func TestGitService_CreateTree_Delete(t *testing.T) {
|
198 | 197 | }
|
199 | 198 |
|
200 | 199 | mux.HandleFunc("/repos/o/r/git/trees", func(w http.ResponseWriter, r *http.Request) {
|
201 |
| - v := new(createTree) |
202 |
| - json.NewDecoder(r.Body).Decode(v) |
| 200 | + got, err := ioutil.ReadAll(r.Body) |
| 201 | + if err != nil { |
| 202 | + t.Fatalf("unable to read body: %v", err) |
| 203 | + } |
203 | 204 |
|
204 | 205 | testMethod(t, r, "POST")
|
205 | 206 |
|
206 |
| - want := &createTree{ |
207 |
| - BaseTree: "b", |
208 |
| - Entries: input, |
209 |
| - } |
210 |
| - if !reflect.DeepEqual(v, want) { |
211 |
| - t.Errorf("Git.CreateTree request body: %+v, want %+v", v, want) |
| 207 | + want := []byte(`{"base_tree":"b","tree":[{"sha":null,"path":"content.md","mode":"100644"}]}` + "\n") |
| 208 | + if !bytes.Equal(got, want) { |
| 209 | + t.Errorf("Git.CreateTree request body: %s, want %s", got, want) |
212 | 210 | }
|
213 | 211 |
|
214 | 212 | fmt.Fprint(w, `{
|
|
0 commit comments