Pārlūkot izejas kodu

fix []requests.Integer check

Jackson Tian 6 gadi atpakaļ
vecāks
revīzija
ba719155c6
2 mainītis faili ar 39 papildinājumiem un 1 dzēšanām
  1. 1 1
      sdk/requests/acs_request.go
  2. 38 0
      sdk/requests/acs_request_test.go

+ 1 - 1
sdk/requests/acs_request.go

@@ -317,7 +317,7 @@ func flatRepeatedList(dataValue reflect.Value, request AcsRequest, position, pre
 					for m := 0; m < repeatedFieldValue.Len(); m++ {
 						elementValue := repeatedFieldValue.Index(m)
 						key := prefix + name + "." + strconv.Itoa(m+1)
-						if elementValue.Type().String() == "string" {
+						if elementValue.Type().Kind().String() == "string" {
 							value := elementValue.String()
 							err = addParam(request, fieldPosition, key, value)
 							if err != nil {

+ 38 - 0
sdk/requests/acs_request_test.go

@@ -2,6 +2,7 @@ package requests
 
 import (
 	"bytes"
+	"fmt"
 	"io"
 	"testing"
 	"time"
@@ -160,3 +161,40 @@ func Test_AcsRequest_InitParams(t *testing.T) {
 	assert.Equal(t, "header value", headers["Header"])
 	// TODO: check the body & path
 }
+
+type StartMPUTaskRequest struct {
+	*RpcRequest
+	OwnerId         Integer   `position:"Query" name:"OwnerId"`
+	AppId           string    `position:"Query" name:"AppId"`
+	ChannelId       string    `position:"Query" name:"ChannelId"`
+	TaskId          string    `position:"Query" name:"TaskId"`
+	MediaEncode     Integer   `position:"Query" name:"MediaEncode"`
+	BackgroundColor Integer   `position:"Query" name:"BackgroundColor"`
+	LayoutIds       []Integer `position:"Query" name:"LayoutIds" type:"Repeated"`
+	StreamURL       string    `position:"Query" name:"StreamURL"`
+}
+
+func Test_RPCRequest_InitParams(t *testing.T) {
+	channelID := "id"
+	r := &StartMPUTaskRequest{
+		RpcRequest: &RpcRequest{},
+	}
+	r.init()
+	r.Domain = "rtc.aliyuncs.com"
+	r.AppId = "app ID"
+	r.ChannelId = channelID
+	r.TaskId = channelID
+	r.MediaEncode = NewInteger(2)
+	r.BackgroundColor = NewInteger(0)
+	r.StreamURL = fmt.Sprintf("rtmp://video-center.alivecdn.com/galaxy/%s_%s?vhost=fast-live.chinalivestream.top", channelID, channelID)
+	var out []Integer
+	out = append(out, NewInteger(2))
+	r.LayoutIds = out
+
+	InitParams(r)
+
+	queries := r.GetQueryParams()
+
+	assert.Equal(t, "2", queries["LayoutIds.1"])
+	assert.Len(t, queries, 7)
+}