Total Lines | 33 |
Duplicated Lines | 0 % |
Changes | 0 |
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 | } |
||
35 |