Browse Source

Add test cases for rpc_request.go

Jackson Tian 7 năm trước cách đây
mục cha
commit
2fff135f86
1 tập tin đã thay đổi với 47 bổ sung0 xóa
  1. 47 0
      sdk/requests/rpc_request_test.go

+ 47 - 0
sdk/requests/rpc_request_test.go

@@ -1,6 +1,7 @@
 package requests
 
 import (
+	"io/ioutil"
 	"testing"
 
 	"github.com/stretchr/testify/assert"
@@ -18,6 +19,52 @@ func Test_RpcRequest(t *testing.T) {
 	assert.Equal(t, "action", r.GetActionName())
 	assert.Equal(t, "serviceCode", r.GetLocationServiceCode())
 	assert.Equal(t, "endpointType", r.GetLocationEndpointType())
+}
 
+func Test_RpcRequest_BuildQueries(t *testing.T) {
 	// url
+	r := &RpcRequest{}
+	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("key", "https://domain/?q=v")
+	assert.Equal(t, "/?key=https%3A%2F%2Fdomain%2F%3Fq%3Dv", r.BuildQueries())
+}
+
+func Test_RpcRequest_BuildUrl(t *testing.T) {
+	r := &RpcRequest{}
+	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_RpcRequest_GetBodyReader(t *testing.T) {
+	r := &RpcRequest{}
+	r.InitWithApiInfo("product", "version", "action", "serviceCode", "endpointType")
+
+	reader := r.GetBodyReader()
+	b, _ := ioutil.ReadAll(reader)
+	assert.Equal(t, "", string(b))
+	r.addFormParam("key", "value")
+	reader = r.GetBodyReader()
+	b, _ = ioutil.ReadAll(reader)
+	assert.Equal(t, "key=value", string(b))
+}
+
+func Test_RpcRequest_addPathParam(t *testing.T) {
+	defer func() { //进行异常捕捉
+		err := recover()
+		assert.NotNil(t, err)
+		assert.Equal(t, "not support", err)
+	}()
+	r := &RpcRequest{}
+	r.InitWithApiInfo("product", "version", "action", "serviceCode", "endpointType")
+	r.addPathParam("key", "value")
 }