Browse Source

fix filename for acs_request

Jackson Tian 7 years ago
parent
commit
5f961386b9

+ 4 - 3
sdk/requests/acs_reqeust.go → sdk/requests/acs_request.go

@@ -16,10 +16,11 @@ package requests
 
 import (
 	"fmt"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
 	"io"
 	"reflect"
 	"strconv"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
 )
 
 const (
@@ -201,7 +202,7 @@ func (request *baseRequest) GetHeaders() map[string]string {
 }
 
 func (request *baseRequest) SetContentType(contentType string) {
-	request.Headers["Content-Type"] = contentType
+	request.addHeaderParam("Content-Type", contentType)
 }
 
 func (request *baseRequest) GetContentType() (contentType string, contains bool) {
@@ -226,7 +227,7 @@ func defaultBaseRequest() (request *baseRequest) {
 		Headers: map[string]string{
 			"x-sdk-client":      "golang/1.0.0",
 			"x-sdk-invoke-type": "normal",
-			"Accept-Encoding": "identity",
+			"Accept-Encoding":   "identity",
 		},
 		FormParams: make(map[string]string),
 	}

+ 150 - 0
sdk/requests/acs_request_test.go

@@ -0,0 +1,150 @@
+package requests
+
+import (
+	"bytes"
+	"io"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func Test_AcsRequest(t *testing.T) {
+	r := defaultBaseRequest()
+	assert.NotNil(t, r)
+
+	// query params
+	query := r.GetQueryParams()
+	assert.Equal(t, 0, len(query))
+	r.addQueryParam("key", "value")
+	assert.Equal(t, 1, len(query))
+	assert.Equal(t, "value", query["key"])
+
+	// form params
+	form := r.GetFormParams()
+	assert.Equal(t, 0, len(form))
+	r.addFormParam("key", "value")
+	assert.Equal(t, 1, len(form))
+	assert.Equal(t, "value", form["key"])
+
+	// getter/setter for stringtosign
+	assert.Equal(t, "", r.GetStringToSign())
+	r.SetStringToSign("s2s")
+	assert.Equal(t, "s2s", r.GetStringToSign())
+
+	// content type
+	_, contains := r.GetContentType()
+	assert.False(t, contains)
+	r.SetContentType("application/json")
+	ct, contains := r.GetContentType()
+	assert.Equal(t, "application/json", ct)
+	assert.True(t, contains)
+
+	// default 3 headers & content-type
+	headers := r.GetHeaders()
+	assert.Equal(t, 4, len(headers))
+	r.addHeaderParam("x-key", "x-key-value")
+	assert.Equal(t, 5, len(headers))
+	assert.Equal(t, "x-key-value", headers["x-key"])
+
+	// GetVersion
+	assert.Equal(t, "", r.GetVersion())
+	// GetActionName
+	assert.Equal(t, "", r.GetActionName())
+
+	// GetMethod
+	assert.Equal(t, "GET", r.GetMethod())
+	r.Method = "POST"
+	assert.Equal(t, "POST", r.GetMethod())
+
+	// Domain
+	assert.Equal(t, "", r.GetDomain())
+	r.SetDomain("ecs.aliyuncs.com")
+	assert.Equal(t, "ecs.aliyuncs.com", r.GetDomain())
+
+	// Region
+	assert.Equal(t, "", r.GetRegionId())
+	r.RegionId = "cn-hangzhou"
+	assert.Equal(t, "cn-hangzhou", r.GetRegionId())
+
+	// AcceptFormat
+	assert.Equal(t, "JSON", r.GetAcceptFormat())
+	r.AcceptFormat = "XML"
+	assert.Equal(t, "XML", r.GetAcceptFormat())
+
+	// GetLocationServiceCode
+	assert.Equal(t, "", r.GetLocationServiceCode())
+
+	// GetLocationEndpointType
+	assert.Equal(t, "", r.GetLocationEndpointType())
+
+	// GetProduct
+	assert.Equal(t, "", r.GetProduct())
+
+	// GetScheme
+	assert.Equal(t, "", r.GetScheme())
+	r.SetScheme("HTTPS")
+	assert.Equal(t, "HTTPS", r.GetScheme())
+
+	// GetPort
+	assert.Equal(t, "", r.GetPort())
+
+	// Content
+	assert.Equal(t, []byte(nil), r.GetContent())
+	r.SetContent([]byte("The Content"))
+	assert.True(t, bytes.Equal([]byte("The Content"), r.GetContent()))
+}
+
+type AcsRequestTest struct {
+	*baseRequest
+	Ontology AcsRequest
+	Query    string `position:"Query" name:"Query"`
+	Header   string `position:"Header" name:"Header"`
+	Path     string `position:"Path" name:"Path"`
+	Body     string `position:"Body" name:"Body"`
+}
+
+func (r AcsRequestTest) BuildQueries() string {
+	return ""
+}
+
+func (r AcsRequestTest) BuildUrl() string {
+	return ""
+}
+
+func (r AcsRequestTest) GetBodyReader() io.Reader {
+	return nil
+}
+
+func (r AcsRequestTest) GetQueries() string {
+	return ""
+}
+
+func (r AcsRequestTest) GetStyle() string {
+	return ""
+}
+
+func (r AcsRequestTest) GetUrl() string {
+	return ""
+}
+
+func (r AcsRequestTest) addPathParam(key, value string) {
+	return
+}
+
+func Test_AcsRequest_InitParams(t *testing.T) {
+	r := &AcsRequestTest{
+		baseRequest: defaultBaseRequest(),
+		Query:       "query value",
+		Header:      "header value",
+		Path:        "path value",
+		Body:        "body value",
+	}
+	r.addQueryParam("qkey", "qvalue")
+	InitParams(r)
+
+	queries := r.GetQueryParams()
+	assert.Equal(t, "query value", queries["Query"])
+	headers := r.GetHeaders()
+	assert.Equal(t, "header value", headers["Header"])
+	// TODO: check the body & path
+}

+ 2 - 1
sdk/requests/roa_request.go

@@ -16,11 +16,12 @@ package requests
 
 import (
 	"bytes"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
 	"io"
 	"net/url"
 	"sort"
 	"strings"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
 )
 
 type RoaRequest struct {

+ 2 - 1
sdk/requests/rpc_request.go

@@ -15,9 +15,10 @@
 package requests
 
 import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
 	"io"
 	"strings"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
 )
 
 type RpcRequest struct {