| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- package requests
- import (
- "io/ioutil"
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func Test_RoaRequest(t *testing.T) {
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- assert.NotNil(t, r)
- assert.Equal(t, "GET", r.GetMethod())
- assert.Equal(t, "ROA", r.GetStyle())
- // assert.Equal(t, "version", r.GetVersion())
- // assert.Equal(t, "action", r.GetActionName())
- assert.Equal(t, "serviceCode", r.GetLocationServiceCode())
- assert.Equal(t, "endpointType", r.GetLocationEndpointType())
- }
- func Test_RoaRequest_initWithCommonRequest(t *testing.T) {
- r := &RoaRequest{}
- common := NewCommonRequest()
- r.initWithCommonRequest(common)
- assert.NotNil(t, r)
- assert.Equal(t, "GET", r.GetMethod())
- assert.Equal(t, "ROA", r.GetStyle())
- assert.Equal(t, "common", r.Headers["x-sdk-invoke-type"])
- // assert.Equal(t, "version", r.GetVersion())
- // assert.Equal(t, "action", r.GetActionName())
- }
- func Test_RoaRequest_BuildQueries(t *testing.T) {
- // url
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- assert.Equal(t, "/", r.BuildQueries())
- r.addQueryParam("key", "value")
- assert.Equal(t, "/?key=value", r.BuildQueries())
- r.addQueryParam("key2", "value2")
- assert.Equal(t, "/?key=value&key2=value2", r.BuildQueries())
- // assert.Equal(t, "/?key=https%3A%2F%2Fdomain%2F%3Fq%3Dv", r.BuildQueries())
- }
- func Test_RoaRequest_BuildUrl(t *testing.T) {
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- r.Domain = "domain.com"
- r.Scheme = "http"
- r.Port = "80"
- assert.Equal(t, "http://domain.com:80/", r.BuildUrl())
- r.addQueryParam("key", "value")
- assert.Equal(t, "http://domain.com:80/?key=value", r.BuildUrl())
- r.addQueryParam("key", "https://domain/?q=v")
- assert.Equal(t, "http://domain.com:80/?key=https%3A%2F%2Fdomain%2F%3Fq%3Dv", r.BuildUrl())
- r.addQueryParam("url", "https://domain/?q1=v1&q2=v2")
- assert.Equal(t, "http://domain.com:80/?key=https%3A%2F%2Fdomain%2F%3Fq%3Dv&url=https%3A%2F%2Fdomain%2F%3Fq1%3Dv1%26q2%3Dv2", r.BuildUrl())
- }
- func Test_RoaRequest_BuildUrl2(t *testing.T) {
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- r.Domain = "domain.com"
- r.Scheme = "http"
- r.Port = "80"
- assert.Equal(t, "http://domain.com:80/", r.BuildUrl())
- r.addPathParam("key", "value")
- assert.Equal(t, "http://domain.com:80/", r.BuildUrl())
- r = &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/users/[user]", "serviceCode", "endpointType")
- r.Domain = "domain.com"
- r.Scheme = "http"
- r.Port = "80"
- r.addPathParam("user", "name")
- assert.Equal(t, "http://domain.com:80/users/name", r.BuildUrl())
- r.addQueryParam("key", "value")
- assert.Equal(t, "http://domain.com:80/users/name?key=value", r.BuildUrl())
- }
- func Test_RoaRequest_GetBodyReader_Nil(t *testing.T) {
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- reader := r.GetBodyReader()
- assert.Nil(t, reader)
- }
- func Test_RoaRequest_GetBodyReader_Form(t *testing.T) {
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- r.addFormParam("key", "value")
- reader := r.GetBodyReader()
- b, _ := ioutil.ReadAll(reader)
- assert.Equal(t, "key=value", string(b))
- }
- func Test_RoaRequest_GetBodyReader_Content(t *testing.T) {
- r := &RoaRequest{}
- r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- r.SetContent([]byte("Hello world"))
- reader := r.GetBodyReader()
- b, _ := ioutil.ReadAll(reader)
- assert.Equal(t, "Hello world", string(b))
- }
- // func Test_RoaRequest_addPathParam(t *testing.T) {
- // r := &RoaRequest{}
- // r.InitWithApiInfo("product", "version", "action", "/", "serviceCode", "endpointType")
- // r.addPathParam("key", "value")
- // }
|