loginterceptor_test.go 986 B

123456789101112131415161718192021222324252627282930313233343536
  1. package internal
  2. import (
  3. "net/http"
  4. "net/http/httptest"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestLogInterceptor(t *testing.T) {
  9. svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  10. }))
  11. defer svr.Close()
  12. req, err := http.NewRequest(http.MethodGet, svr.URL, nil)
  13. assert.Nil(t, err)
  14. req, handler := LogInterceptor(req)
  15. resp, err := http.DefaultClient.Do(req)
  16. assert.Nil(t, err)
  17. handler(resp)
  18. assert.Equal(t, http.StatusOK, resp.StatusCode)
  19. }
  20. func TestLogInterceptorServerError(t *testing.T) {
  21. svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  22. w.WriteHeader(http.StatusInternalServerError)
  23. }))
  24. defer svr.Close()
  25. req, err := http.NewRequest(http.MethodGet, svr.URL, nil)
  26. assert.Nil(t, err)
  27. req, handler := LogInterceptor(req)
  28. resp, err := http.DefaultClient.Do(req)
  29. assert.Nil(t, err)
  30. handler(resp)
  31. assert.Equal(t, http.StatusInternalServerError, resp.StatusCode)
  32. }