requestparser_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package gateway
  2. import (
  3. "net/http/httptest"
  4. "strings"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "github.com/zeromicro/go-zero/rest/pathvar"
  8. )
  9. func TestNewRequestParserNoVar(t *testing.T) {
  10. req := httptest.NewRequest("GET", "/", nil)
  11. parser, err := newRequestParser(req, nil)
  12. assert.Nil(t, err)
  13. assert.NotNil(t, parser)
  14. }
  15. func TestNewRequestParserWithVars(t *testing.T) {
  16. req := httptest.NewRequest("GET", "/", nil)
  17. req = pathvar.WithVars(req, map[string]string{"a": "b"})
  18. parser, err := newRequestParser(req, nil)
  19. assert.Nil(t, err)
  20. assert.NotNil(t, parser)
  21. }
  22. func TestNewRequestParserNoVarWithBody(t *testing.T) {
  23. req := httptest.NewRequest("GET", "/", strings.NewReader(`{"a": "b"}`))
  24. parser, err := newRequestParser(req, nil)
  25. assert.Nil(t, err)
  26. assert.NotNil(t, parser)
  27. }
  28. func TestNewRequestParserWithVarsWithBody(t *testing.T) {
  29. req := httptest.NewRequest("GET", "/", strings.NewReader(`{"a": "b"}`))
  30. req = pathvar.WithVars(req, map[string]string{"c": "d"})
  31. parser, err := newRequestParser(req, nil)
  32. assert.Nil(t, err)
  33. assert.NotNil(t, parser)
  34. }
  35. func TestNewRequestParserWithVarsWithWrongBody(t *testing.T) {
  36. req := httptest.NewRequest("GET", "/", strings.NewReader(`{"a": "b"`))
  37. req = pathvar.WithVars(req, map[string]string{"c": "d"})
  38. parser, err := newRequestParser(req, nil)
  39. assert.NotNil(t, err)
  40. assert.Nil(t, parser)
  41. }