func checkScrape(p params, expected interface{}, srv *httptest.Server, t *testing.T) bool { values := &url.Values{} for k, v := range p { values.Add(k, v) } response, err := http.Get(srv.URL + "/scrape?" + values.Encode()) if err != nil { t.Error(err) return false } body, err := ioutil.ReadAll(response.Body) response.Body.Close() if err != nil { t.Error(err) return false } got, err := bencode.Unmarshal(body) if !reflect.DeepEqual(got, expected) { t.Errorf("\ngot: %#v\nwanted: %#v", got, expected) return false } return true }
func checkAnnounce(p params, expected interface{}, srv *httptest.Server, t *testing.T) bool { body, err := announce(p, srv) if err != nil { t.Error(err) return false } if e, ok := expected.(bencode.Dict); ok { sortPeersInResponse(e) } got, err := bencode.Unmarshal(body) if e, ok := got.(bencode.Dict); ok { sortPeersInResponse(e) } if !reflect.DeepEqual(got, expected) { t.Errorf("\ngot: %#v\nwanted: %#v", got, expected) return false } return true }