Skip to content

Commit

Permalink
test(render): increased unit tests coverage (#3691)
Browse files Browse the repository at this point in the history
  • Loading branch information
araujo88 committed Aug 12, 2023
1 parent d16fdb1 commit bb2d8cf
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
13 changes: 13 additions & 0 deletions render/render_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -578,3 +578,16 @@ func TestRenderReaderNoContentLength(t *testing.T) {
assert.Equal(t, headers["Content-Disposition"], w.Header().Get("Content-Disposition"))
assert.Equal(t, headers["x-request-id"], w.Header().Get("x-request-id"))
}

func TestRenderWriteError(t *testing.T) {
data := []interface{}{"value1", "value2"}
prefix := "my-prefix:"
r := SecureJSON{Data: data, Prefix: prefix}
ew := &errorWriter{
bufString: prefix,
ResponseRecorder: httptest.NewRecorder(),
}
err := r.Render(ew)
assert.NotNil(t, err)
assert.Equal(t, `write "my-prefix:" error`, err.Error())
}
30 changes: 30 additions & 0 deletions response_writer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,33 @@ func TestResponseWriterStatusCode(t *testing.T) {
// status must be 200 although we tried to change it
assert.Equal(t, http.StatusOK, w.Status())
}

// mockPusherResponseWriter is an http.ResponseWriter that implements http.Pusher.
type mockPusherResponseWriter struct {
http.ResponseWriter
}

func (m *mockPusherResponseWriter) Push(target string, opts *http.PushOptions) error {
return nil
}

// nonPusherResponseWriter is an http.ResponseWriter that does not implement http.Pusher.
type nonPusherResponseWriter struct {
http.ResponseWriter
}

func TestPusherWithPusher(t *testing.T) {
rw := &mockPusherResponseWriter{}
w := &responseWriter{ResponseWriter: rw}

pusher := w.Pusher()
assert.NotNil(t, pusher, "Expected pusher to be non-nil")
}

func TestPusherWithoutPusher(t *testing.T) {
rw := &nonPusherResponseWriter{}
w := &responseWriter{ResponseWriter: rw}

pusher := w.Pusher()
assert.Nil(t, pusher, "Expected pusher to be nil")
}

1 comment on commit bb2d8cf

@DasoTD
Copy link

@DasoTD DasoTD commented on bb2d8cf Aug 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why did mockPusherResponseWriter contain only http writer alone?

Please sign in to comment.