From 90af9a72f89b9edb6dba5041213bf232b78bd0cd Mon Sep 17 00:00:00 2001 From: Thanabodee Charoenpiriyakij Date: Wed, 11 Mar 2015 11:24:00 +0700 Subject: [PATCH] add ResponseRecorder for unittest handler function --- rest/test/recorder.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 rest/test/recorder.go diff --git a/rest/test/recorder.go b/rest/test/recorder.go new file mode 100644 index 0000000..bb4286e --- /dev/null +++ b/rest/test/recorder.go @@ -0,0 +1,29 @@ +package test + +import ( + "encoding/json" + "net/http/httptest" +) + +type ResponseRecorder struct { + *httptest.ResponseRecorder +} + +func (r *ResponseRecorder) WriteJson(v interface{}) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + _, err = r.Write(b) + return err +} + +func (r *ResponseRecorder) EncodeJson(v interface{}) ([]byte, error) { + return json.Marshal(v) +} + +func NewRecorder() *ResponseRecorder { + return &ResponseRecorder{ + ResponseRecorder: httptest.NewRecorder(), + } +}