123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package internal
- import (
- "net/http"
- "net/http/httptest"
- "strings"
- "testing"
- "github.com/stretchr/testify/assert"
- "github.com/zeromicro/go-zero/rest/pathvar"
- )
- func TestNewRequestParserNoVar(t *testing.T) {
- req := httptest.NewRequest("GET", "/", http.NoBody)
- parser, err := NewRequestParser(req, nil)
- assert.Nil(t, err)
- assert.NotNil(t, parser)
- }
- func TestNewRequestParserWithVars(t *testing.T) {
- req := httptest.NewRequest("GET", "/", http.NoBody)
- req = pathvar.WithVars(req, map[string]string{"a": "b"})
- parser, err := NewRequestParser(req, nil)
- assert.Nil(t, err)
- assert.NotNil(t, parser)
- }
- func TestNewRequestParserNoVarWithBody(t *testing.T) {
- req := httptest.NewRequest("GET", "/", strings.NewReader(`{"a": "b"}`))
- parser, err := NewRequestParser(req, nil)
- assert.Nil(t, err)
- assert.NotNil(t, parser)
- }
- func TestNewRequestParserWithVarsWithBody(t *testing.T) {
- req := httptest.NewRequest("GET", "/", strings.NewReader(`{"a": "b"}`))
- req = pathvar.WithVars(req, map[string]string{"c": "d"})
- parser, err := NewRequestParser(req, nil)
- assert.Nil(t, err)
- assert.NotNil(t, parser)
- }
- func TestNewRequestParserWithVarsWithWrongBody(t *testing.T) {
- req := httptest.NewRequest("GET", "/", strings.NewReader(`{"a": "b"`))
- req = pathvar.WithVars(req, map[string]string{"c": "d"})
- parser, err := NewRequestParser(req, nil)
- assert.NotNil(t, err)
- assert.Nil(t, parser)
- }
- func TestNewRequestParserWithForm(t *testing.T) {
- req := httptest.NewRequest("GET", "/val?a=b", http.NoBody)
- parser, err := NewRequestParser(req, nil)
- assert.Nil(t, err)
- assert.NotNil(t, parser)
- }
- func TestNewRequestParserWithBadForm(t *testing.T) {
- req := httptest.NewRequest("GET", "/val?a%1=b", http.NoBody)
- parser, err := NewRequestParser(req, nil)
- assert.NotNil(t, err)
- assert.Nil(t, parser)
- }
- func TestRequestParser_buildJsonRequestParser(t *testing.T) {
- parser, err := buildJsonRequestParser(map[string]interface{}{"a": make(chan int)}, nil)
- assert.NotNil(t, err)
- assert.Nil(t, parser)
- }
|