| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package auth
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
- )
- func mockRpcDate(fn func() string) string {
- return "mock date"
- }
- func TestRpcSignatureComposer_buildRpcStringToSign(t *testing.T) {
- request := requests.NewCommonRequest()
- request.TransToAcsRequest()
- stringToSign := buildRpcStringToSign(request)
- assert.Equal(t, "GET&%2F&", stringToSign)
- request.FormParams["key"] = "value"
- stringToSign = buildRpcStringToSign(request)
- assert.Equal(t, "GET&%2F&key%3Dvalue", stringToSign)
- request.QueryParams["q"] = "value"
- stringToSign = buildRpcStringToSign(request)
- assert.Equal(t, "GET&%2F&key%3Dvalue%26q%3Dvalue", stringToSign)
- request.QueryParams["q"] = "http://domain/?q=value&q2=value2"
- stringToSign = buildRpcStringToSign(request)
- assert.Equal(t, "GET&%2F&key%3Dvalue%26q%3Dhttp%253A%252F%252Fdomain%252F%253Fq%253Dvalue%2526q2%253Dvalue2", stringToSign)
- }
- // func TestRpcSignatureComposer(t *testing.T) {
- // request := requests.NewCommonRequest()
- // request.TransToAcsRequest()
- // c := credentials.NewAccessKeyCredential("accessKeyId", "accessKeySecret")
- // signer := signers.NewAccessKeySigner(c)
- // origTestHookLookupIP := hookGetDate
- // defer func() { hookGetDate = origTestHookLookupIP }()
- // hookGetDate = mockDate
- // signRpcRequest(request, signer, "regionId")
- // assert.Equal(t, "mock date", request.GetHeaders()["Date"])
- // assert.Equal(t, "acs accessKeyId:degLHXLEN6rMojj+bOlK74U9iic=", request.GetQueryParams()["Signature"])
- // }
- // func TestRpcSignatureComposer2(t *testing.T) {
- // request := requests.NewCommonRequest()
- // request.PathPattern = "/users/:user"
- // request.FormParams["key"] = "value"
- // request.AcceptFormat = "XML"
- // request.TransToAcsRequest()
- // c := credentials.NewAccessKeyCredential("accessKeyId", "accessKeySecret")
- // signer := signers.NewAccessKeySigner(c)
- // origTestHookLookupIP := hookGetDate
- // defer func() { hookGetDate = origTestHookLookupIP }()
- // hookGetDate = mockDate
- // signRpcRequest(request, signer, "regionId")
- // assert.Equal(t, "application/x-www-form-urlencoded", request.GetHeaders()["Content-Type"])
- // assert.Equal(t, "mock date", request.GetHeaders()["Date"])
- // assert.Equal(t, "application/xml", request.GetHeaders()["Accept"])
- // assert.Equal(t, "acs accessKeyId:U9uA3ftRZKixHPB08Z7Z4GOlpTY=", request.GetQueryParams()["Signature"])
- // }
|