respond_test.go 975 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package web
  2. import (
  3. "net/http/httptest"
  4. "testing"
  5. "github.com/gin-gonic/gin"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func Test_render(t *testing.T) {
  9. c, _ := gin.CreateTestContext(httptest.NewRecorder())
  10. data := gin.H{"foo": "bar"}
  11. returnStatus := 500
  12. assert.Equal(t, 200, c.Writer.Status())
  13. render(c, returnStatus, data)
  14. assert.Equal(t, 500, c.Writer.Status())
  15. }
  16. func Test_render_rendering(t *testing.T) {
  17. mode := gin.Mode()
  18. defer gin.SetMode(mode)
  19. // gin.IsDebugging() == true
  20. gin.SetMode(gin.DebugMode)
  21. rec := httptest.NewRecorder()
  22. c, _ := gin.CreateTestContext(rec)
  23. data := gin.H{"foo": "bar"}
  24. render(c, 200, data)
  25. expectedResp := "{\n \"foo\": \"bar\"\n}"
  26. assert.Equal(t, expectedResp, rec.Body.String())
  27. // gin.IsDebugging() == false
  28. gin.SetMode(gin.ReleaseMode)
  29. rec = httptest.NewRecorder()
  30. c, _ = gin.CreateTestContext(rec)
  31. render(c, 200, data)
  32. expectedResp = `{"foo":"bar"}`
  33. assert.Equal(t, expectedResp, rec.Body.String())
  34. }