Bläddra i källkod

modify test cases

归邪 8 år sedan
förälder
incheckning
11f3781284
3 ändrade filer med 74 tillägg och 80 borttagningar
  1. 9 7
      integration/ecs_test.go
  2. 65 72
      sdk/client_test.go
  3. 0 1
      sdk/responses/response.go

+ 9 - 7
integration/ecs_test.go

@@ -116,7 +116,7 @@ func assertErrorNil(t *testing.T, err error, message string) {
 	}
 }
 
-func waitForInstance(t *testing.T, client *ecs.Client, instanceId string, status string, timeout int) {
+func waitForInstance(t *testing.T, client *ecs.Client, instanceId string, targetStatus string, timeout int) {
 	if timeout <= 0 {
 		timeout = InstanceDefaultTimeout
 	}
@@ -124,26 +124,28 @@ func waitForInstance(t *testing.T, client *ecs.Client, instanceId string, status
 		request := ecs.CreateDescribeInstanceAttributeRequest()
 		request.InstanceId = instanceId
 		response, err := client.DescribeInstanceAttribute(request)
-		assertErrorNil(t, err, "Failed to create describe instance request\n")
 
-		if status == Deleted {
+		if targetStatus == Deleted {
 			if response.GetHttpStatus() == 404 || response.Status == Deleted {
 				fmt.Printf("delete instance(%s) success\n", instanceId)
 				break
+			} else {
+				assertErrorNil(t, err, "Failed to describe instance \n")
 			}
 		} else {
-			if response.Status == status {
-				fmt.Printf("instance(%s) status changed to %s, wait a moment\n", instanceId, status)
+			assertErrorNil(t, err, "Failed to describe instance \n")
+			if response.Status == targetStatus {
+				fmt.Printf("instance(%s) status changed to %s, wait a moment\n", instanceId, targetStatus)
 				time.Sleep(DefaultWaitForInterval * time.Second)
 				break
 			} else {
-				fmt.Printf("instance(%s) status is %s, wait for changing to %s\n", instanceId, response.Status, status)
+				fmt.Printf("instance(%s) status is %s, wait for changing to %s\n", instanceId, response.Status, targetStatus)
 			}
 		}
 
 		timeout = timeout - DefaultWaitForInterval
 		if timeout <= 0 {
-			t.Errorf(fmt.Sprintf("wait for instance(%s) status to %s timeout(%d)\n", instanceId, status, timeout))
+			t.Errorf(fmt.Sprintf("wait for instance(%s) status to %s timeout(%d)\n", instanceId, targetStatus, timeout))
 		}
 		time.Sleep(DefaultWaitForInterval * time.Second)
 	}

+ 65 - 72
sdk/client_test.go

@@ -25,6 +25,7 @@ import (
 	"os"
 	"os/user"
 	"testing"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
 )
 
 var client, clientKeyPair, clientEcs, clientRoleArn *Client
@@ -89,45 +90,37 @@ func getConfigFromEnv() *TestConfig {
 }
 
 func testSetup() {
-	config := getConfigFromEnv()
-	if config == nil {
-		config = getConfigFromFile()
+	testConfig := getConfigFromEnv()
+	if testConfig == nil {
+		testConfig = getConfigFromFile()
 	}
-	tr := &http.Transport{
+
+	clientConfig := NewConfig().WithHttpTransport(&http.Transport{
 		TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
+	})
+
+	var err error
+	credential := &credentials.BaseCredential{
+		AccessKeyId:     testConfig.AccessKeyId,
+		AccessKeySecret: testConfig.AccessKeySecret,
 	}
-	client = &Client{
-		config: &Config{
-			HttpTransport: tr,
-		},
-	}
-	clientEcs = &Client{}
-	clientRoleArn = &Client{
-		config: &Config{
-			HttpTransport: tr,
-		},
-	}
-	clientKeyPair = &Client{
-		config: &Config{
-			HttpTransport: tr,
-		},
-	}
-	err := client.InitWithAccessKey("cn-hangzhou", config.AccessKeyId, config.AccessKeySecret)
-	if err != nil {
-		panic(err)
-	}
-	err = clientKeyPair.InitWithKeyPair("cn-hangzhou", config.PublicKeyId, config.PrivateKey, 3600)
-	if err != nil {
-		panic(err)
-	}
-	err = clientEcs.InitWithEcsInstance("cn-hangzhou", "conan")
-	if err != nil {
-		panic(err)
-	}
-	err = clientRoleArn.InitWithRoleArn("cn-hangzhou", config.ChildAK, config.ChildSecret, config.RoleArn, "clientTest")
+	client, err = NewClientWithOptions("cn-hangzhou", clientConfig, credential)
 	if err != nil {
 		panic(err)
 	}
+
+	//err = clientKeyPair.InitWithKeyPair("cn-hangzhou", testConfig.PublicKeyId, testConfig.PrivateKey, 3600)
+	//if err != nil {
+	//	panic(err)
+	//}
+	//err = clientEcs.InitWithEcsInstance("cn-hangzhou", "conan")
+	//if err != nil {
+	//	panic(err)
+	//}
+	//err = clientRoleArn.InitWithRoleArn("cn-hangzhou", testConfig.ChildAK, testConfig.ChildSecret, testConfig.RoleArn, "clientTest")
+	//if err != nil {
+	//	panic(err)
+	//}
 }
 
 func testTearDown() {
@@ -426,21 +419,21 @@ func TestRpcGetForLocationCache(t *testing.T) {
 	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
 }
 
-func TestRpcGetForKeyPair(t *testing.T) {
-	request := getFtTestRpcRequest()
-	request.Method = requests.GET
-
-	response := &responses.BaseResponse{}
-	err := clientKeyPair.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-}
+//func TestRpcGetForKeyPair(t *testing.T) {
+//	request := getFtTestRpcRequest()
+//	request.Method = requests.GET
+//
+//	response := &responses.BaseResponse{}
+//	err := clientKeyPair.DoAction(request, response)
+//	assert.Nil(t, err)
+//	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
+//	assert.NotNil(t, response.GetHttpContentString())
+//
+//	var responseBean MockResponse
+//	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
+//
+//	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
+//}
 
 /*func TestRpcGetForEcs(t *testing.T) {
 	//测试接口,想测试的时候,要替换掉singer_ecs_instance中对应的变量,并且还要提供一个mock服务
@@ -469,30 +462,30 @@ func TestRpcGetForKeyPair(t *testing.T) {
 	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
 }*/
 
-func TestRpcGetForRoleArn(t *testing.T) {
-	request := getFtTestRpcRequest()
-	request.Method = requests.GET
-
-	response := &responses.BaseResponse{}
-	err := clientRoleArn.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-
-	err = clientRoleArn.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-}
+//func TestRpcGetForRoleArn(t *testing.T) {
+//	request := getFtTestRpcRequest()
+//	request.Method = requests.GET
+//
+//	response := &responses.BaseResponse{}
+//	err := clientRoleArn.DoAction(request, response)
+//	assert.Nil(t, err)
+//	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
+//	assert.NotNil(t, response.GetHttpContentString())
+//
+//	var responseBean MockResponse
+//	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
+//
+//	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
+//
+//	err = clientRoleArn.DoAction(request, response)
+//	assert.Nil(t, err)
+//	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
+//	assert.NotNil(t, response.GetHttpContentString())
+//
+//	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
+//
+//	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
+//}
 
 func TestCommonRoaRequestForAcceptXML(t *testing.T) {
 	roaRequest := requests.NewCommonRequest()

+ 0 - 1
sdk/responses/response.go

@@ -16,7 +16,6 @@ package responses
 
 import (
 	"bytes"
-	"encoding/json"
 	"encoding/xml"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
 	"io/ioutil"