From 53c4797606e5ded3ddc1437ca164d0c60fc74a12 Mon Sep 17 00:00:00 2001 From: Karthic Rao Date: Tue, 11 Aug 2015 22:02:13 +0530 Subject: [PATCH 1/2] Initial setup of test for recorder.go of middleware package --- middleware/recorder_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 middleware/recorder_test.go diff --git a/middleware/recorder_test.go b/middleware/recorder_test.go new file mode 100644 index 00000000..5a2fa10c --- /dev/null +++ b/middleware/recorder_test.go @@ -0,0 +1,19 @@ +package middleware + +import ( + "net/http" + "net/http/httptest" + "reflect" + "testing" +) + +func TestNewResponseRecorder(t *testing.T) { + w := httptest.NewRecorder() + recordRequest := NewResponseRecorder(w) + if !reflect.DeepEqual(recordRequest.ResponseWriter, w) { + t.Fatalf("Expected Response writer in the Recording to be same as the one sent") + } + if recordRequest.status != http.StatusOK { + t.Fatalf("Expected recorded status to be http.StatusOK") + } +} From 4704625e3a70b261fd40dc5a66d35b74876bc5ac Mon Sep 17 00:00:00 2001 From: Karthic Rao Date: Fri, 14 Aug 2015 09:59:22 +0530 Subject: [PATCH 2/2] Complete test coverage for middleware/recorder.go --- middleware/recorder_test.go | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/middleware/recorder_test.go b/middleware/recorder_test.go index 5a2fa10c..9d4e5b83 100644 --- a/middleware/recorder_test.go +++ b/middleware/recorder_test.go @@ -3,17 +3,38 @@ package middleware import ( "net/http" "net/http/httptest" - "reflect" "testing" ) func TestNewResponseRecorder(t *testing.T) { w := httptest.NewRecorder() recordRequest := NewResponseRecorder(w) - if !reflect.DeepEqual(recordRequest.ResponseWriter, w) { - t.Fatalf("Expected Response writer in the Recording to be same as the one sent") + if !(recordRequest.ResponseWriter == w) { + t.Fatalf("Expected Response writer in the Recording to be same as the one sent\n") } if recordRequest.status != http.StatusOK { - t.Fatalf("Expected recorded status to be http.StatusOK") + t.Fatalf("Expected recorded status to be http.StatusOK (%d) , but found %d\n ", recordRequest.status) + } +} +func TestWriteHeader(t *testing.T) { + w := httptest.NewRecorder() + recordRequest := NewResponseRecorder(w) + recordRequest.WriteHeader(401) + if w.Code != 401 || recordRequest.status != 401 { + t.Fatalf("Expected Response status to be set to 401, but found %d\n", recordRequest.status) + } +} + +func TestWrite(t *testing.T) { + w := httptest.NewRecorder() + responseTestString := "test" + recordRequest := NewResponseRecorder(w) + buf := []byte(responseTestString) + recordRequest.Write(buf) + if recordRequest.size != len(buf) { + t.Fatalf("Expected the bytes written counter to be %d, but instead found %d\n", len(buf), recordRequest.size) + } + if w.Body.String() != responseTestString { + t.Fatalf("Expected Response Body to be %s , but found %s\n", w.Body.String()) } }