Skip to content

Commit

Permalink
added test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
s0s01qp committed Jul 21, 2021
1 parent 604ed93 commit 3df77fc
Showing 1 changed file with 42 additions and 4 deletions.
46 changes: 42 additions & 4 deletions core/httpTrace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package core_test

import (
"github.com/gin-gonic/gin"
"github.com/sinhashubham95/go-actuator/commons"
"github.com/stretchr/testify/assert"
"github.com/valyala/fasthttp"
"net/http"
Expand All @@ -15,10 +16,6 @@ func TestGetHTTPTrace(t *testing.T) {
assert.Empty(t, core.GetHTTPTrace())
}

func TestWithFastHTTP(t *testing.T) {

}

func TestWithGIN(t *testing.T) {
router := setupGINRouter()
w := httptest.NewRecorder()
Expand All @@ -38,7 +35,42 @@ func TestWithGIN(t *testing.T) {
}

func TestWithNetHTTP(t *testing.T) {
m := &http.ServeMux{}
m.HandleFunc("/ping", getNetHTTPHandler())
w := httptest.NewRecorder()
request, err := http.NewRequest(http.MethodGet, "/ping", nil)
assert.NoError(t, err)
m.ServeHTTP(w, request)
assert.Equal(t, http.StatusOK, w.Code)

traces := core.GetHTTPTrace()
assert.NotEmpty(t, traces)
trace := traces[0]
assert.Equal(t, http.MethodGet, trace.Request.Method)
assert.Equal(t, "/ping", trace.Request.URL)
assert.Empty(t, trace.Request.Headers)
assert.Equal(t, http.StatusOK, trace.Response.Status)
assert.Empty(t, trace.Response.Headers)
}

func TestForMoreThanThresholdRequests(t *testing.T) {
router := setupGINRouter()
for i := 0; i <= (commons.HTTPTraceResultsSize + 5); i += 1 {
w := httptest.NewRecorder()
request, err := http.NewRequest(http.MethodGet, "/ping", nil)
assert.NoError(t, err)
router.ServeHTTP(w, request)
assert.Equal(t, http.StatusOK, w.Code)
}

traces := core.GetHTTPTrace()
assert.Equal(t, commons.HTTPTraceResultsSize, len(traces))
trace := traces[0]
assert.Equal(t, http.MethodGet, trace.Request.Method)
assert.Equal(t, "/ping", trace.Request.URL)
assert.Empty(t, trace.Request.Headers)
assert.Equal(t, http.StatusOK, trace.Response.Status)
assert.Empty(t, trace.Response.Headers)
}

func getFastHTTPHandler() fasthttp.RequestHandler {
Expand All @@ -55,3 +87,9 @@ func setupGINRouter() *gin.Engine {
})
return router
}

func getNetHTTPHandler() http.HandlerFunc {
return core.WrapNetHTTPHandler(func(writer http.ResponseWriter, request *http.Request) {
writer.WriteHeader(http.StatusOK)
})
}

0 comments on commit 3df77fc

Please sign in to comment.