|
|
@@ -0,0 +1,112 @@
|
|
|
+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())
|
|
|
+}
|
|
|
+
|
|
|
+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())
|
|
|
+}
|
|
|
+
|
|
|
+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")
|
|
|
+// }
|