فهرست منبع

perfect the integration(3)

wenzuochao 6 سال پیش
والد
کامیت
a01f0ca59f
3فایلهای تغییر یافته به همراه188 افزوده شده و 152 حذف شده
  1. 118 102
      integration/api_test.go
  2. 0 1
      integration/base.go
  3. 70 49
      integration/core_test.go

+ 118 - 102
integration/api_test.go

@@ -1,12 +1,15 @@
 package integration
 
 import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/services/cdn"
+	"github.com/aliyun/alibaba-cloud-sdk-go/services/cs"
 	"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
 	"github.com/aliyun/alibaba-cloud-sdk-go/services/ram"
 	"github.com/aliyun/alibaba-cloud-sdk-go/services/rds"
 	"github.com/aliyun/alibaba-cloud-sdk-go/services/slb"
 	"github.com/aliyun/alibaba-cloud-sdk-go/services/vpc"
+
 	"github.com/stretchr/testify/assert"
 
 	"net/http"
@@ -21,75 +24,94 @@ var (
 	flag            = false
 )
 
-func Test_ECS_CreateSecurityGroupWithRPCrequestWithXMLWithNestingparameters(t *testing.T) {
-	request := ecs.CreateCreateSecurityGroupRequest()
-	request.SetContentType("XML")
-	tag := ecs.CreateSecurityGroupTag{
-		Key:   "test",
-		Value: "test",
-	}
-	request.Tag = &[]ecs.CreateSecurityGroupTag{tag}
-	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-	assert.Nil(t, err)
-	response, err := client.CreateSecurityGroup(request)
+func Test_DescribeClusteWithROArequestWithXMLWithGet(t *testing.T) {
+	client, err := cs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
-	assert.True(t, response.IsSuccess())
-	assert.Equal(t, 36, len(response.RequestId))
-	assert.True(t, len(response.SecurityGroupId) > 0)
-	securityGroupId = response.SecurityGroupId
+	request := cs.CreateDescribeClusterDetailRequest()
+	request.SetContentType("XML")
+	request.SetScheme("HTTPS")
+	request.SetDomain("cs.aliyuncs.com")
+	response, err := client.DescribeClusterDetail(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Contains(t, err.Error(), "Request url is invalid")
 }
 
-func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithXMLWithNestingparameters(t *testing.T) {
-	request := ecs.CreateDescribeSecurityGroupsRequest()
-	request.SetContentType("XML")
-	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-	assert.Nil(t, err)
-	response, err := client.DescribeSecurityGroups(request)
+func Test_ScaleClusterWithROArequestWithXMLWithPUT(t *testing.T) {
+	client, err := cs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
-	assert.True(t, response.IsSuccess())
-	for _, securitygroup := range response.SecurityGroups.SecurityGroup {
-		if securitygroup.SecurityGroupId == securityGroupId {
-			flag = true
-			break
-		}
-	}
-	assert.Equal(t, 36, len(response.RequestId))
-	assert.True(t, flag)
-	flag = false
-
+	request := cs.CreateScaleClusterRequest()
+	request.SetContentType("XML")
+	request.SetScheme("HTTPS")
+	request.SetDomain("cs.aliyuncs.com")
+	response, err := client.ScaleCluster(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Contains(t, err.Error(), "Request url is invalid")
 }
 
-func Test_ECS_ModifyImageAttributeWithRPCrequestWithXML(t *testing.T) {
-	request := ecs.CreateModifySecurityGroupAttributeRequest()
-	request.SetContentType("XML")
-	request.SecurityGroupName = "testintegration" + strings.Split(os.Getenv("TRAVIS_JOB_NUMBER"), ".")[0]
-	request.SecurityGroupId = securityGroupId
-	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-	assert.Nil(t, err)
-	response, err := client.ModifySecurityGroupAttribute(request)
+func Test_CreateClusterTokenWithROArequestWithXMLWithPOST(t *testing.T) {
+	client, err := cs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
-	assert.True(t, response.IsSuccess())
-	assert.Equal(t, 36, len(response.RequestId))
+	request := cs.CreateCreateClusterTokenRequest()
+	request.SetContentType("XML")
+	request.SetScheme("HTTPS")
+	request.SetDomain("cs.aliyuncs.com")
+	response, err := client.CreateClusterToken(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Contains(t, err.Error(), "Request url is invalid")
 }
 
-func Test_ECS_DeleteImageWithRPCrequestWithXMLWithNestingparameters(t *testing.T) {
-	request := ecs.CreateDeleteSecurityGroupRequest()
-	request.SetContentType("XML")
-	request.SecurityGroupId = securityGroupId
-	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+func Test_DeleteClusterWithROArequestWithXMLWithDelete(t *testing.T) {
+	client, err := cs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
-	response, err := client.DeleteSecurityGroup(request)
+	request := cs.CreateDeleteClusterRequest()
+	request.SetContentType("XML")
+	request.SetScheme("HTTPS")
+	request.SetDomain("cs.aliyuncs.com")
+	response, err := client.DeleteCluster(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Contains(t, err.Error(), "Request url is invalid")
+}
+
+func Test_DeleteClusterWithROArequestWithJSONWithDelete(t *testing.T) {
+	client, err := cs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
-	assert.True(t, response.IsSuccess())
-	assert.Equal(t, 36, len(response.RequestId))
-	securityGroupId = ""
+	request := cs.CreateDeleteClusterRequest()
+	request.SetContentType("JSON")
+	request.SetScheme("HTTPS")
+	request.SetDomain("cs.aliyuncs.com")
+	response, err := client.DeleteCluster(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Contains(t, err.Error(), "Request url is invalid")
 }
 
-func Test_ECS_CreateSecurityGroupWithRPCrequestWithJSONWithNestingparameters(t *testing.T) {
-	request := ecs.CreateCreateSecurityGroupRequest()
+func Test_ScaleClusterWithROArequestWithJSONWithPUT(t *testing.T) {
+	client, err := cs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+	assert.Nil(t, err)
+	request := cs.CreateScaleClusterRequest()
 	request.SetContentType("JSON")
+	request.SetScheme("HTTPS")
+	request.SetDomain("cs.aliyuncs.com")
+	response, err := client.ScaleCluster(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Contains(t, err.Error(), "Request url is invalid")
+}
+
+func Test_CreateSecurityGroupWithRPCrequestWithJSONWithNestingparametersWithPOST(t *testing.T) {
 	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
+	request := ecs.CreateCreateSecurityGroupRequest()
+	request.SetContentType("JSON")
+	tag := ecs.CreateSecurityGroupTag{
+		Key:   "test",
+		Value: "test",
+	}
+	request.Tag = &[]ecs.CreateSecurityGroupTag{tag}
 	response, err := client.CreateSecurityGroup(request)
 	assert.Nil(t, err)
 	assert.True(t, response.IsSuccess())
@@ -98,11 +120,12 @@ func Test_ECS_CreateSecurityGroupWithRPCrequestWithJSONWithNestingparameters(t *
 	securityGroupId = response.SecurityGroupId
 }
 
-func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithJSONWithNestingparameters(t *testing.T) {
-	request := ecs.CreateDescribeSecurityGroupsRequest()
-	request.SetContentType("JSON")
+func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithJSONWithNestingparametersWithGET(t *testing.T) {
 	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
+	request := ecs.CreateDescribeSecurityGroupsRequest()
+	request.SetContentType("JSON")
+	request.Method = requests.GET
 	response, err := client.DescribeSecurityGroups(request)
 	assert.Nil(t, err)
 	assert.True(t, response.IsSuccess())
@@ -118,25 +141,12 @@ func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithJSONWithNestingparameters(
 
 }
 
-func Test_ECS_ModifyImageAttributeWithRPCrequestWithJSON(t *testing.T) {
-	request := ecs.CreateModifySecurityGroupAttributeRequest()
-	request.SetContentType("JSON")
-	request.SecurityGroupName = "testintegration" + strings.Split(os.Getenv("TRAVIS_JOB_NUMBER"), ".")[0]
-	request.SecurityGroupId = securityGroupId
+func Test_ECS_DeleteSecurityGroupWithRPCrequestWithJSONWithPOST(t *testing.T) {
 	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
-	response, err := client.ModifySecurityGroupAttribute(request)
-	assert.Nil(t, err)
-	assert.True(t, response.IsSuccess())
-	assert.Equal(t, 36, len(response.RequestId))
-}
-
-func Test_ECS_DeleteImageWithRPCrequestWithJSONWithNestingparameters(t *testing.T) {
 	request := ecs.CreateDeleteSecurityGroupRequest()
 	request.SetContentType("JSON")
 	request.SecurityGroupId = securityGroupId
-	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-	assert.Nil(t, err)
 	response, err := client.DeleteSecurityGroup(request)
 	assert.Nil(t, err)
 	assert.True(t, response.IsSuccess())
@@ -144,22 +154,12 @@ func Test_ECS_DeleteImageWithRPCrequestWithJSONWithNestingparameters(t *testing.
 	securityGroupId = ""
 }
 
-func Test_ECS_DescribeRegionsWithRPCrequestWith(t *testing.T) {
-	request := ecs.CreateDescribeRegionsRequest()
-	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-	assert.Nil(t, err)
-	response, err := client.DescribeRegions(request)
-	assert.Nil(t, err)
-	assert.True(t, response.IsSuccess())
-	assert.Equal(t, 36, len(response.RequestId))
-	assert.True(t, len(response.Regions.Region) > 0)
-}
-
 func Test_RDS_DescribeDBInstancesWithRPCrequest(t *testing.T) {
 	client, err := rds.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
 	assert.NotNil(t, client)
 	request := rds.CreateDescribeDBInstancesRequest()
+	request.SetContentType("JSON")
 	response, err := client.DescribeDBInstances(request)
 	assert.Nil(t, err)
 	assert.NotNil(t, response)
@@ -199,7 +199,7 @@ func Test_SLB_DescribeRegionsWithRPCrequest(t *testing.T) {
 	assert.True(t, len(response.Regions.Region) > 0)
 }
 
-func Test_VPC_DescribeRegionsWithUnicodeSpecificParams(t *testing.T) {
+func Test_VPC_DescribeRegionsWithRPCrequest(t *testing.T) {
 	client, err := vpc.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
 	request := vpc.CreateDescribeRegionsRequest()
@@ -210,7 +210,6 @@ func Test_VPC_DescribeRegionsWithUnicodeSpecificParams(t *testing.T) {
 	assert.True(t, len(response.Regions.Region) > 0)
 }
 
-
 func mockServer(status int, json string) (server *httptest.Server) {
 	// Start a test server locally.
 	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -221,30 +220,47 @@ func mockServer(status int, json string) (server *httptest.Server) {
 	return ts
 }
 
-func Test_ListRolesWithRPCrequestWithoutRedirecting(t *testing.T) {
+func Test_DescribeRegionsWithRPCrequestWithunicode(t *testing.T) {
+	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+	assert.Nil(t, err)
+	request := ecs.CreateDescribeRegionsRequest()
+	request.Scheme = "HTTP"
+	ts := mockServer(400, `{"Code": "&&&&杭州&&&"}`)
+	defer ts.Close()
+	domain := strings.Replace(ts.URL, "http://", "", 1)
+	request.Domain = domain
+	response, err := client.DescribeRegions(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Equal(t, "{\"Code\": \"&&&&杭州&&&\"}", response.GetHttpContentString())
+}
+
+func Test_DescribeRegionsWithRPCrequestWithescape(t *testing.T) {
+	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+	assert.Nil(t, err)
+	request := ecs.CreateDescribeRegionsRequest()
+	request.Scheme = "HTTP"
+	ts := mockServer(400, `{"Code": "\t"}`)
+	defer ts.Close()
+	domain := strings.Replace(ts.URL, "http://", "", 1)
+	request.Domain = domain
+	response, err := client.DescribeRegions(request)
+	assert.NotNil(t, err)
+	assert.Equal(t, 400, response.GetHttpStatus())
+	assert.Equal(t, "{\"Code\": \"\\t\"}", response.GetHttpContentString())
+}
+
+func Test_DescribeRegionsWithRPCrequestWith3XX(t *testing.T) {
 	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
 	request := ecs.CreateDescribeRegionsRequest()
 	request.Scheme = "HTTP"
-	ts := mockServer(404, `{"Code": "YouMessedSomethingUp"}`)
+	ts := mockServer(307, `{"error"}`)
 	defer ts.Close()
-	domain := strings.Replace(ts.URL, "http://", "",1)
+	domain := strings.Replace(ts.URL, "http://", "", 1)
 	request.Domain = domain
 	response, err := client.DescribeRegions(request)
 	assert.NotNil(t, err)
-	assert.Equal(t, 404, response.GetHttpStatus())
-	assert.Equal(t, "{\"Code\": \"YouMessedSomethingUp\"}", response.GetHttpContentString())
-}
-
-//func Test_DescribeClusterDetailWithROArequest(t *testing.T) {
-//	client, err := cs.NewClientWithAccessKey("default", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-//	assert.Nil(t, err)
-//	request := cs.CreateDescribeClusterDetailRequest()
-//	request.SetDomain("cs.aliyuncs.com")
-//	request.QueryParams["RegionId"] = "default"
-//	request.Method = "GET"
-//	response, err := client.DescribeClusterDetail(request)
-//	assert.Nil(t, err)
-//	assert.True(t, response.IsSuccess())
-//	assert.Nil(t, response.GetHttpHeaders())
-//}
+	assert.Equal(t, 307, response.GetHttpStatus())
+	assert.Equal(t, "{\"error\"}", response.GetHttpContentString())
+}

+ 0 - 1
integration/base.go

@@ -28,7 +28,6 @@ var (
 )
 
 func createRole(userid string) (string, string, error) {
-	ram.CreateGetRoleRequest()
 	listRequest := ram.CreateListRolesRequest()
 	listRequest.Scheme = "HTTPS"
 	client, err := ram.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))

+ 70 - 49
integration/core_test.go

@@ -1,15 +1,18 @@
 package integration
 
 import (
+	"os"
+	"testing"
+
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+
 	"github.com/stretchr/testify/assert"
-	"os"
-	"testing"
 )
 
-func Test_DescribeRegionsWithCommonRequestWithRPCrequest(t *testing.T) {
+func Test_DescribeRegionsWithCommonRequestWithRPC(t *testing.T) {
 	request := requests.NewCommonRequest()
 	request.Version = "2014-05-26"
 	request.Product = "Ecs"
@@ -23,22 +26,22 @@ func Test_DescribeRegionsWithCommonRequestWithRPCrequest(t *testing.T) {
 	assert.True(t, response.IsSuccess())
 }
 
-//func Test_DescribeRegionsWithCommonRequestWithSTStoken(t *testing.T) {
-//	assumeresponse, err := createAssumeRole()
-//	assert.Nil(t, err)
-//	credential := assumeresponse.Credentials
-//	request := requests.NewCommonRequest()
-//	request.Version = "2014-05-26"
-//	request.Product = "Ecs"
-//	request.ApiName = "DescribeRegions"
-//	request.SetDomain("ecs.aliyuncs.com")
-//	request.TransToAcsRequest()
-//	client, err := sdk.NewClientWithStsToken("cn-hangzhou", credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
-//	assert.Nil(t, err)
-//	response, err := client.ProcessCommonRequest(request)
-//	assert.Nil(t, err)
-//	assert.True(t, response.IsSuccess())
-//}
+func Test_DescribeRegionsWithCommonRequestWithSTStoken(t *testing.T) {
+	assumeresponse, err := createAssumeRole()
+	assert.Nil(t, err)
+	credential := assumeresponse.Credentials
+	request := requests.NewCommonRequest()
+	request.Version = "2014-05-26"
+	request.Product = "Ecs"
+	request.ApiName = "DescribeRegions"
+	request.SetDomain("ecs.aliyuncs.com")
+	request.TransToAcsRequest()
+	client, err := sdk.NewClientWithStsToken("cn-hangzhou", credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
+	assert.Nil(t, err)
+	response, err := client.ProcessCommonRequest(request)
+	assert.Nil(t, err)
+	assert.True(t, response.IsSuccess())
+}
 
 func Test_DescribeRegionsWithCommonRequestWithHTTPS(t *testing.T) {
 	request := requests.NewCommonRequest()
@@ -85,34 +88,52 @@ func Test_DescribeRegionsWithCommonRequestWithError(t *testing.T) {
 	assert.Equal(t, "The specified parameter \"Action or Version\" is not valid.", realerr.Message())
 }
 
-//func Test_DescribeClusterDetailWithCommonRequestWithROArequest(t *testing.T) {
-//	client, err := sdk.NewClientWithAccessKey("default", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-//	assert.Nil(t, err)
-//	request := requests.NewCommonRequest()
-//	request.Method = "GET"
-//	request.Domain = "cs.aliyuncs.com"
-//	request.Version = "2015-12-15"
-//	request.PathPattern = "/clusters/[ClusterId]"
-//	request.QueryParams["RegionId"] = "default"
-//	request.TransToAcsRequest()
-//	response, err := client.ProcessCommonRequest(request)
-//	assert.Nil(t, err)
-//	assert.True(t, response.IsSuccess())
-//}
+func Test_DescribeClustersWithCommonRequestWithROA(t *testing.T) {
+	client, err := sdk.NewClientWithAccessKey("default", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+	assert.Nil(t, err)
+	request := requests.NewCommonRequest()
+	request.Method = "GET"
+	request.Domain = "cs.aliyuncs.com"
+	request.Version = "2015-12-15"
+	request.PathPattern = "/clusters/[ClusterId]"
+	request.QueryParams["RegionId"] = "default"
+	request.TransToAcsRequest()
+	_, err = client.ProcessCommonRequest(request)
+	assert.NotNil(t, err)
+	assert.Contains(t, err.Error(), "Request url is invalid")
+}
 
-//func Test_DescribeClusterDetailWithCommonRequestWithROArequestWithHTTPS(t *testing.T) {
-//	request := requests.NewCommonRequest()
-//	request.Version =  "2015-12-15"
-//	request.Product = "CS"
-//	request.Method = requests.GET
-//	request.ApiName = "DescribeClusterDetail"
-//	request.PathPattern = "/clusters/[ClusterId]"
-//	request.SetDomain("cs.aliyuncs.com")
-//	request.Scheme = "HTTPS"
-//	request.TransToAcsRequest()
-//	client, err := sdk.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
-//	assert.Nil(t, err)
-//	response, err := client.ProcessCommonRequest(request)
-//	assert.Nil(t, err)
-//	assert.True(t, response.IsSuccess())
-//}
+func Test_DescribeClustersWithCommonRequestWithROAWithSTStoken(t *testing.T) {
+	assumeresponse, err := createAssumeRole()
+	assert.Nil(t, err)
+	credential := assumeresponse.Credentials
+	client, err := sdk.NewClientWithStsToken("default", credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
+	assert.Nil(t, err)
+	assert.Nil(t, err)
+	request := requests.NewCommonRequest()
+	request.Method = "GET"
+	request.Domain = "cs.aliyuncs.com"
+	request.Version = "2015-12-15"
+	request.PathPattern = "/clusters/[ClusterId]"
+	request.QueryParams["RegionId"] = "default"
+	request.TransToAcsRequest()
+	_, err = client.ProcessCommonRequest(request)
+	assert.NotNil(t, err)
+	assert.Contains(t, err.Error(), "Request url is invalid")
+}
+
+func Test_DescribeClusterDetailWithCommonRequestWithROAWithHTTPS(t *testing.T) {
+	client, err := sdk.NewClientWithAccessKey("default", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+	assert.Nil(t, err)
+	request := requests.NewCommonRequest()
+	request.Method = "GET"
+	request.Domain = "cs.aliyuncs.com"
+	request.Version = "2015-12-15"
+	request.SetScheme("HTTPS")
+	request.PathPattern = "/clusters/[ClusterId]"
+	request.QueryParams["RegionId"] = "default"
+	request.TransToAcsRequest()
+	_, err = client.ProcessCommonRequest(request)
+	assert.NotNil(t, err)
+	assert.Contains(t, err.Error(), "Request url is invalid")
+}