Selaa lähdekoodia

annotate integration code

wenzuochao 7 vuotta sitten
vanhempi
commit
8174391bb6
4 muutettua tiedostoa jossa 99 lisäystä ja 88 poistoa
  1. 29 29
      integration/api_test.go
  2. 18 22
      integration/core_test.go
  3. 29 31
      integration/credential_test.go
  4. 23 6
      integration/error_test.go

+ 29 - 29
integration/api_test.go

@@ -7,10 +7,12 @@ import (
 	"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"
+	"net/http/httptest"
 	"os"
+	"strings"
 	"testing"
 )
 
@@ -60,7 +62,7 @@ func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithXMLWithNestingparameters(t
 func Test_ECS_ModifyImageAttributeWithRPCrequestWithXML(t *testing.T) {
 	request := ecs.CreateModifySecurityGroupAttributeRequest()
 	request.SetContentType("XML")
-	request.SecurityGroupName = "testintegration"
+	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)
@@ -119,7 +121,7 @@ func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithJSONWithNestingparameters(
 func Test_ECS_ModifyImageAttributeWithRPCrequestWithJSON(t *testing.T) {
 	request := ecs.CreateModifySecurityGroupAttributeRequest()
 	request.SetContentType("JSON")
-	request.SecurityGroupName = "testintegration"
+	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)
@@ -208,33 +210,31 @@ 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) {
-//		w.WriteHeader(status)
-//		w.Write([]byte(json))
-//	}))
-//	return ts
-//}
 
-//func Test_ListRolesWithRPCrequestWithoutRedirecting(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(303, "{}")
-//
-//	defer ts.Close()
-//	domain := strings.Replace(ts.URL, "http://", "",1)
-//	request.Domain = domain
-//	assert.Nil(t, ts.URL)
-//	assert.Nil(t, request.BuildUrl())
-//	response, err := client.DescribeRegions(request)
-//	assert.Nil(t, err)
-//	assert.Equal(t, 303, response.GetHttpStatus())
-//	assert.Equal(t, "", response.GetHttpContentString())
-//}
+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) {
+		w.WriteHeader(status)
+		w.Write([]byte(json))
+		return
+	}))
+	return ts
+}
+
+func Test_ListRolesWithRPCrequestWithoutRedirecting(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"}`)
+	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, 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"))

+ 18 - 22
integration/core_test.go

@@ -1,15 +1,12 @@
 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) {
@@ -26,22 +23,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()
@@ -80,7 +77,6 @@ func Test_DescribeRegionsWithCommonRequestWithError(t *testing.T) {
 	request.ApiName = "Describe"
 	request.SetDomain("ecs.aliyuncs.com")
 	request.TransToAcsRequest()
-	request.SetContent([]byte("sdk&-杭&&&州-test"))
 	client, err := sdk.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
 	_, err = client.ProcessCommonRequest(request)

+ 29 - 31
integration/credential_test.go

@@ -9,8 +9,6 @@ import (
 	"testing"
 )
 
-var securityCredURL = "http://100.100.100.200/latest/meta-data/ram/security-credentials/"
-
 func Test_DescribeRegionsWithRPCrequestWithAK(t *testing.T) {
 	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
 	assert.Nil(t, err)
@@ -24,21 +22,21 @@ func Test_DescribeRegionsWithRPCrequestWithAK(t *testing.T) {
 	assert.True(t, len(response.Regions.Region) > 0)
 }
 
-func Test_DescribeRegionsWithRPCrequestWithSTStoken(t *testing.T) {
-	assumeresponse, err := createAssumeRole()
-	assert.Nil(t, err)
-	credential := assumeresponse.Credentials
-	client, err := ecs.NewClientWithStsToken("cn-hangzhou", credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
-	assert.Nil(t, err)
-	assert.NotNil(t, client)
-	request := ecs.CreateDescribeRegionsRequest()
-	request.Scheme = "https"
-	response, err := client.DescribeRegions(request)
-	assert.Nil(t, err)
-	assert.NotNil(t, response)
-	assert.Equal(t, 36, len(response.RequestId))
-	assert.True(t, len(response.Regions.Region) > 0)
-}
+//func Test_DescribeRegionsWithRPCrequestWithSTStoken(t *testing.T) {
+//	assumeresponse, err := createAssumeRole()
+//	assert.Nil(t, err)
+//	credential := assumeresponse.Credentials
+//	client, err := ecs.NewClientWithStsToken("cn-hangzhou", credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
+//	assert.Nil(t, err)
+//	assert.NotNil(t, client)
+//	request := ecs.CreateDescribeRegionsRequest()
+//	request.Scheme = "https"
+//	response, err := client.DescribeRegions(request)
+//	assert.Nil(t, err)
+//	assert.NotNil(t, response)
+//	assert.Equal(t, 36, len(response.RequestId))
+//	assert.True(t, len(response.Regions.Region) > 0)
+//}
 
 //func Test_DescribeClusterDetailWithROArequestWithAK(t *testing.T) {
 //	client, err := cs.NewClientWithAccessKey("default", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
@@ -52,20 +50,20 @@ func Test_DescribeRegionsWithRPCrequestWithSTStoken(t *testing.T) {
 //	assert.True(t, response.IsSuccess())
 //	assert.Nil(t, response.GetHttpHeaders())
 //}
-
-func Test_DescribeRegionsWithRPCrequestWithArn(t *testing.T) {
-	_, arn, err := createRole(os.Getenv("USER_ID"))
-	client, err := ecs.NewClientWithRamRoleArn("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"), arn, "role-test")
-	assert.Nil(t, err)
-	assert.NotNil(t, client)
-	request := ecs.CreateDescribeRegionsRequest()
-	request.Scheme = "https"
-	response, err := client.DescribeRegions(request)
-	assert.Nil(t, err)
-	assert.NotNil(t, response)
-	assert.Equal(t, 36, len(response.RequestId))
-	assert.True(t, len(response.Regions.Region) > 0)
-}
+//
+//func Test_DescribeRegionsWithRPCrequestWithArn(t *testing.T) {
+//	_, arn, err := createRole(os.Getenv("USER_ID"))
+//	client, err := ecs.NewClientWithRamRoleArn("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"), arn, "role-test")
+//	assert.Nil(t, err)
+//	assert.NotNil(t, client)
+//	request := ecs.CreateDescribeRegionsRequest()
+//	request.Scheme = "https"
+//	response, err := client.DescribeRegions(request)
+//	assert.Nil(t, err)
+//	assert.NotNil(t, response)
+//	assert.Equal(t, 36, len(response.RequestId))
+//	assert.True(t, len(response.Regions.Region) > 0)
+//}
 
 //
 //func Test_DescribeRegionsWithECSmetaService(t *testing.T) {

+ 23 - 6
integration/error_test.go

@@ -8,6 +8,7 @@ import (
 	"github.com/stretchr/testify/assert"
 
 	"os"
+	"strings"
 	"testing"
 )
 
@@ -26,16 +27,32 @@ func Test_DescribeRegionsWithParameterError(t *testing.T) {
 	assert.Equal(t, "The specified parameter \"Action or Version\" is not valid.", realerr.Message())
 }
 
-//
-//func Test_DescribeRegionsWithUnreachableError(t *testing.T) {
+
+func Test_DescribeRegionsWithUnreachableError(t *testing.T) {
+	request := requests.NewCommonRequest()
+	request.Version = "2014-05-26"
+	request.Product = "Ecs"
+	request.ApiName = "DescribeRegions"
+	request.SetDomain("www.ecs.ali.com")
+	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.Equal(t, 0, response.GetHttpStatus())
+	assert.True(t, strings.Contains(err.Error(), "www.ecs.ali.com"))
+}
+
+//func Test_DescribeRegionsWithTimeout(t *testing.T) {
+//	rolename, _, err := createRole(os.Getenv("USER_ID"))
+//	credentail := credentials.NewEcsRamRoleCredential(rolename)
 //	request := ecs.CreateDescribeRegionsRequest()
 //	request.SetDomain("www.aliyun-hangzhou.com")
-//	client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
+//	config := &sdk.Config{
+//		Timeout: 1,
+//	}
+//	client, err := ecs.NewClientWithOptions("cn-hangzhou", config, credentail)
 //	assert.Nil(t, err)
 //	_, err = client.DescribeRegions(request)
-//	realerr := err.(errors.Error)
-//	assert.Equal(t, "InvalidParameter", realerr.ErrorCode())
-//	assert.Equal(t, "The specified parameter \"Action or Version\" is not valid.", realerr.Message())
 //}
 
 //func Test_DescribeRegionsWithTimeOutError(t *testing.T) {