Selaa lähdekoodia

Add test cases for sdk/requests/common_request.go (#112)

* Add test cases for sdk/requests/common_request.go
Jackson Tian 7 vuotta sitten
vanhempi
commit
e8fe0a2b49
3 muutettua tiedostoa jossa 72 lisäystä ja 14 poistoa
  1. 0 13
      sdk/requests/common_request.go
  2. 70 0
      sdk/requests/common_request_test.go
  3. 2 1
      sdk/requests/types_test.go

+ 0 - 13
sdk/requests/common_request.go

@@ -5,8 +5,6 @@ import (
 	"fmt"
 	"io"
 	"strings"
-
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
 )
 
 type CommonRequest struct {
@@ -65,16 +63,6 @@ func (request *CommonRequest) String() string {
 }
 
 func (request *CommonRequest) TransToAcsRequest() {
-	if len(request.Version) == 0 {
-		errors.NewClientError(errors.MissingParamErrorCode, "Common request [version] is required", nil)
-	}
-	if len(request.ApiName) == 0 && len(request.PathPattern) == 0 {
-		errors.NewClientError(errors.MissingParamErrorCode, "At least one of [ApiName] and [PathPattern] should has a value", nil)
-	}
-	if len(request.Domain) == 0 && len(request.Product) == 0 {
-		errors.NewClientError(errors.MissingParamErrorCode, "At least one of [Domain] and [Product] should has a value", nil)
-	}
-
 	if len(request.PathPattern) > 0 {
 		roaRequest := &RoaRequest{}
 		roaRequest.initWithCommonRequest(request)
@@ -87,7 +75,6 @@ func (request *CommonRequest) TransToAcsRequest() {
 		rpcRequest.actionName = request.ApiName
 		request.Ontology = rpcRequest
 	}
-
 }
 
 func (request *CommonRequest) BuildUrl() string {

+ 70 - 0
sdk/requests/common_request_test.go

@@ -0,0 +1,70 @@
+package requests
+
+import (
+	"io/ioutil"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func Test_NewCommonRequest(t *testing.T) {
+	r := NewCommonRequest()
+	assert.NotNil(t, r)
+
+	assert.Equal(t, "common", r.GetHeaders()["x-sdk-invoke-type"])
+	assert.Equal(t, 0, len(r.PathParams))
+
+	r.addPathParam("name", "value")
+	assert.Equal(t, "value", r.PathParams["name"])
+}
+
+func Test_CommonRequest_TransToAcsRequest(t *testing.T) {
+	r := NewCommonRequest()
+	assert.NotNil(t, r)
+	r.TransToAcsRequest()
+
+	assert.Equal(t, "RPC", r.GetStyle())
+
+	r2 := NewCommonRequest()
+	assert.NotNil(t, r2)
+	r2.PathPattern = "/users/[user]"
+	r2.TransToAcsRequest()
+
+	assert.Equal(t, "ROA", r2.GetStyle())
+}
+
+func Test_CommonRequest_String(t *testing.T) {
+	r := NewCommonRequest()
+	assert.NotNil(t, r)
+	r.TransToAcsRequest()
+
+	assert.Equal(t, "RPC", r.GetStyle())
+
+	r2 := NewCommonRequest()
+	assert.NotNil(t, r2)
+	r2.PathPattern = "/users/[user]"
+	r2.TransToAcsRequest()
+
+	assert.Equal(t, "ROA", r2.GetStyle())
+}
+
+func Test_CommonRequest_BuildUrl(t *testing.T) {
+	r := NewCommonRequest()
+	assert.NotNil(t, r)
+	r.SetDomain("host")
+	r.SetScheme("http")
+
+	r.TransToAcsRequest()
+
+	assert.Equal(t, "http://host/?", r.BuildUrl())
+	r.Port = "8080"
+	assert.Equal(t, "http://host:8080/?", r.BuildUrl())
+}
+
+func Test_CommonRequest_GetBodyReader(t *testing.T) {
+	r := NewCommonRequest()
+	r.TransToAcsRequest()
+	reader := r.GetBodyReader()
+	b, _ := ioutil.ReadAll(reader)
+	assert.Equal(t, "", string(b))
+}

+ 2 - 1
sdk/requests/types_test.go

@@ -1,8 +1,9 @@
 package requests
 
 import (
-	"github.com/stretchr/testify/assert"
 	"testing"
+
+	"github.com/stretchr/testify/assert"
 )
 
 func TestNewInteger(t *testing.T) {