diff options
Diffstat (limited to 'client/client_test.go')
-rw-r--r-- | client/client_test.go | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/client/client_test.go b/client/client_test.go index a724857..bfb8480 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -1,6 +1,7 @@ package client import ( + "bytes" "io/ioutil" "net/http" "net/http/httptest" @@ -14,32 +15,27 @@ func TestEncode(t *testing.T) { })) defer server.Close() client := CaesarClient{Endpoint: server.URL} // HL - r, err := client.EncodeMessage(strings.NewReader("secret message")) - if err != nil { + var b bytes.Buffer + if err := client.EncodeMessage(&b, strings.NewReader("secret message")); err != nil { t.Errorf("should not have gotten error: %v", err) } - if r == nil { - t.Fatalf("should have gotten a reader") - } - resp, err := ioutil.ReadAll(r) - if err != nil { - t.Fatalf("could not read message: %v", err) - } - if string(resp) != "response" { + resp := b.String() + if resp != "response" { t.Errorf("expected 'response' but got '%s'", resp) } } func TestUserAgent(t *testing.T) { var ua string - var hf http.HandlerFunc = func(w http.ResponseWriter, r *http.Request) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { ua = r.Header.Get("user-agent") - } - server := httptest.NewServer(hf) + })) defer server.Close() c := CaesarClient{Endpoint: server.URL} - c.EncodeMessage(strings.NewReader("secret message")) + if err := c.EncodeMessage(ioutil.Discard, strings.NewReader("secret message")); err != nil { + t.Errorf("expected no error but got %v", err) + } expected := "caesar-client/1.0" if ua != expected { |