4 "github.com/bitly/go-simplejson"
5 "github.com/bmizerany/assert"
12func testBackend(response_code int, payload string) *httptest.Server {
13 return httptest.NewServer(http.HandlerFunc(
14 func(w http.ResponseWriter, r *http.Request) {
15 w.WriteHeader(response_code)
16 w.Write([]byte(payload))
20func TestRequest(t *testing.T) {
21 backend := testBackend(200, "{\"foo\": \"bar\"}")
24 req, _ := http.NewRequest("GET", backend.URL, nil)
25 response, err := Request(req)
26 assert.Equal(t, nil, err)
27 result, err := response.Get("foo").String()
28 assert.Equal(t, nil, err)
29 assert.Equal(t, "bar", result)
32func TestRequestFailure(t *testing.T) {
33 // Create a backend to generate a test URL, then close it to cause a
35 backend := testBackend(200, "{\"foo\": \"bar\"}")
38 req, err := http.NewRequest("GET", backend.URL, nil)
39 assert.Equal(t, nil, err)
40 resp, err := Request(req)
41 assert.Equal(t, (*simplejson.Json)(nil), resp)
42 assert.NotEqual(t, nil, err)
43 if !strings.HasSuffix(err.Error(), "connection refused") {
44 t.Error("expected error when a connection fails")
48func TestHttpErrorCode(t *testing.T) {
49 backend := testBackend(404, "{\"foo\": \"bar\"}")
52 req, err := http.NewRequest("GET", backend.URL, nil)
53 assert.Equal(t, nil, err)
54 resp, err := Request(req)
55 assert.Equal(t, (*simplejson.Json)(nil), resp)
56 assert.NotEqual(t, nil, err)
59func TestJsonParsingError(t *testing.T) {
60 backend := testBackend(200, "not well-formed JSON")
63 req, err := http.NewRequest("GET", backend.URL, nil)
64 assert.Equal(t, nil, err)
65 resp, err := Request(req)
66 assert.Equal(t, (*simplejson.Json)(nil), resp)
67 assert.NotEqual(t, nil, err)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list