error_test.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package integration
  2. import (
  3. "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
  4. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
  5. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
  6. "github.com/stretchr/testify/assert"
  7. "os"
  8. "strings"
  9. "testing"
  10. )
  11. func Test_DescribeRegionsWithParameterError(t *testing.T) {
  12. request := requests.NewCommonRequest()
  13. request.Version = "2014-05-26"
  14. request.Product = "Ecs"
  15. request.ApiName = "Describe"
  16. request.SetDomain("ecs.aliyuncs.com")
  17. request.TransToAcsRequest()
  18. client, err := sdk.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  19. assert.Nil(t, err)
  20. _, err = client.ProcessCommonRequest(request)
  21. realerr := err.(errors.Error)
  22. assert.Equal(t, "InvalidParameter", realerr.ErrorCode())
  23. assert.Equal(t, "The specified parameter \"Action or Version\" is not valid.", realerr.Message())
  24. }
  25. func Test_DescribeRegionsWithUnreachableError(t *testing.T) {
  26. request := requests.NewCommonRequest()
  27. request.Version = "2014-05-26"
  28. request.Product = "Ecs"
  29. request.ApiName = "DescribeRegions"
  30. request.SetDomain("www.ecs.ali.com")
  31. request.TransToAcsRequest()
  32. client, err := sdk.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  33. assert.Nil(t, err)
  34. response, err := client.ProcessCommonRequest(request)
  35. assert.Equal(t, 0, response.GetHttpStatus())
  36. assert.True(t, strings.Contains(err.Error(), "www.ecs.ali.com"))
  37. }
  38. //func Test_DescribeRegionsWithTimeout(t *testing.T) {
  39. // rolename, _, err := createRole(os.Getenv("USER_ID"))
  40. // credentail := credentials.NewEcsRamRoleCredential(rolename)
  41. // request := ecs.CreateDescribeRegionsRequest()
  42. // request.SetDomain("www.aliyun-hangzhou.com")
  43. // config := &sdk.Config{
  44. // Timeout: 1,
  45. // }
  46. // client, err := ecs.NewClientWithOptions("cn-hangzhou", config, credentail)
  47. // assert.Nil(t, err)
  48. // _, err = client.DescribeRegions(request)
  49. //}
  50. //func Test_DescribeRegionsWithTimeOutError(t *testing.T) {
  51. //
  52. //}