github.com/aliyun/credentials-go@v1.4.7/credentials/request/common_request_test.go (about) 1 package request 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func Test_BuildURL(t *testing.T) { 10 r := NewCommonRequest() 11 r.Domain = "domain.com" 12 r.Scheme = "http" 13 assert.Equal(t, "http://domain.com/?", r.BuildURL()) 14 r.QueryParams["key"] = "value" 15 assert.Equal(t, "http://domain.com/?key=value", r.BuildURL()) 16 r.QueryParams["key"] = "https://domain/?q=v" 17 assert.Equal(t, "http://domain.com/?key=https%3A%2F%2Fdomain%2F%3Fq%3Dv", r.BuildURL()) 18 } 19 20 func Test_BuildRpcStringToSign(t *testing.T) { 21 request := NewCommonRequest() 22 stringToSign := request.BuildStringToSign() 23 assert.Equal(t, "&%2F&", stringToSign) 24 request.QueryParams["q"] = "value" 25 stringToSign = request.BuildStringToSign() 26 assert.Equal(t, "&%2F&q%3Dvalue", stringToSign) 27 request.QueryParams["q"] = "http://domain/?q=value&q2=value2" 28 stringToSign = request.BuildStringToSign() 29 assert.Equal(t, "&%2F&q%3Dhttp%253A%252F%252Fdomain%252F%253Fq%253Dvalue%2526q2%253Dvalue2", stringToSign) 30 31 request.BodyParams["bq"] = "bq" 32 stringToSign = request.BuildStringToSign() 33 assert.Equal(t, "&%2F&bq%3Dbq%26q%3Dhttp%253A%252F%252Fdomain%252F%253Fq%253Dvalue%2526q2%253Dvalue2", stringToSign) 34 }