core_test.go 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package integration
  2. import (
  3. "os"
  4. "testing"
  5. "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
  6. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
  7. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. func Test_DescribeRegionsWithCommonRequestWithRPC(t *testing.T) {
  11. request := requests.NewCommonRequest()
  12. request.Version = "2014-05-26"
  13. request.Product = "Ecs"
  14. request.ApiName = "DescribeRegions"
  15. request.SetDomain("ecs.aliyuncs.com")
  16. request.TransToAcsRequest()
  17. client, err := sdk.NewClientWithAccessKey(os.Getenv("REGION_ID"), os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  18. assert.Nil(t, err)
  19. response, err := client.ProcessCommonRequest(request)
  20. assert.Nil(t, err)
  21. assert.True(t, response.IsSuccess())
  22. }
  23. func Test_DescribeRegionsWithCommonRequestWithSTStoken(t *testing.T) {
  24. assumeresponse, err := createAssumeRole()
  25. assert.Nil(t, err)
  26. credential := assumeresponse.Credentials
  27. request := requests.NewCommonRequest()
  28. request.Version = "2014-05-26"
  29. request.Product = "Ecs"
  30. request.ApiName = "DescribeRegions"
  31. request.SetDomain("ecs.aliyuncs.com")
  32. request.TransToAcsRequest()
  33. client, err := sdk.NewClientWithStsToken(os.Getenv("REGION_ID"), credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
  34. assert.Nil(t, err)
  35. response, err := client.ProcessCommonRequest(request)
  36. assert.Nil(t, err)
  37. assert.True(t, response.IsSuccess())
  38. }
  39. func Test_DescribeRegionsWithCommonRequestWithHTTPS(t *testing.T) {
  40. request := requests.NewCommonRequest()
  41. request.Version = "2014-05-26"
  42. request.Product = "Ecs"
  43. request.ApiName = "DescribeRegions"
  44. request.SetDomain("ecs.aliyuncs.com")
  45. request.TransToAcsRequest()
  46. request.SetScheme("HTTPS")
  47. client, err := sdk.NewClientWithAccessKey(os.Getenv("REGION_ID"), os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  48. assert.Nil(t, err)
  49. response, err := client.ProcessCommonRequest(request)
  50. assert.Nil(t, err)
  51. assert.True(t, response.IsSuccess())
  52. }
  53. func Test_DescribeRegionsWithCommonRequestWithUnicodeSpecificParams(t *testing.T) {
  54. request := requests.NewCommonRequest()
  55. request.Version = "2014-05-26"
  56. request.Product = "Ecs"
  57. request.ApiName = "DescribeRegions"
  58. request.SetDomain("ecs.aliyuncs.com")
  59. request.TransToAcsRequest()
  60. request.SetContent([]byte("sdk&-杭&&&州-test"))
  61. client, err := sdk.NewClientWithAccessKey(os.Getenv("REGION_ID"), os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  62. assert.Nil(t, err)
  63. response, err := client.ProcessCommonRequest(request)
  64. assert.Nil(t, err)
  65. assert.True(t, response.IsSuccess())
  66. }
  67. func Test_DescribeRegionsWithCommonRequestWithError(t *testing.T) {
  68. request := requests.NewCommonRequest()
  69. request.Version = "2014-05-26"
  70. request.Product = "Ecs"
  71. request.ApiName = "Describe"
  72. request.SetDomain("ecs.aliyuncs.com")
  73. request.TransToAcsRequest()
  74. client, err := sdk.NewClientWithAccessKey(os.Getenv("REGION_ID"), os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  75. assert.Nil(t, err)
  76. _, err = client.ProcessCommonRequest(request)
  77. realerr := err.(errors.Error)
  78. assert.Equal(t, "InvalidParameter", realerr.ErrorCode())
  79. assert.Equal(t, "The specified parameter \"Action or Version\" is not valid.", realerr.Message())
  80. }
  81. func Test_DescribeClustersWithCommonRequestWithROA(t *testing.T) {
  82. client, err := sdk.NewClientWithAccessKey(os.Getenv("REGION_ID"), os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  83. assert.Nil(t, err)
  84. request := requests.NewCommonRequest()
  85. request.Method = "GET"
  86. request.Domain = "cs.aliyuncs.com"
  87. request.Version = "2015-12-15"
  88. request.PathPattern = "/clusters/[ClusterId]"
  89. request.QueryParams["RegionId"] = os.Getenv("REGION_ID")
  90. request.TransToAcsRequest()
  91. _, err = client.ProcessCommonRequest(request)
  92. assert.NotNil(t, err)
  93. assert.Contains(t, err.Error(), "Request url is invalid")
  94. }
  95. func Test_DescribeClustersWithCommonRequestWithROAWithSTStoken(t *testing.T) {
  96. assumeresponse, err := createAssumeRole()
  97. assert.Nil(t, err)
  98. credential := assumeresponse.Credentials
  99. client, err := sdk.NewClientWithStsToken(os.Getenv("REGION_ID"), credential.AccessKeyId, credential.AccessKeySecret, credential.SecurityToken)
  100. assert.Nil(t, err)
  101. assert.Nil(t, err)
  102. request := requests.NewCommonRequest()
  103. request.Method = "GET"
  104. request.Domain = "cs.aliyuncs.com"
  105. request.Version = "2015-12-15"
  106. request.PathPattern = "/clusters/[ClusterId]"
  107. request.QueryParams["RegionId"] = os.Getenv("REGION_ID")
  108. request.TransToAcsRequest()
  109. _, err = client.ProcessCommonRequest(request)
  110. assert.NotNil(t, err)
  111. assert.Contains(t, err.Error(), "Request url is invalid")
  112. }
  113. func Test_DescribeClusterDetailWithCommonRequestWithROAWithHTTPS(t *testing.T) {
  114. client, err := sdk.NewClientWithAccessKey(os.Getenv("REGION_ID"), os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  115. assert.Nil(t, err)
  116. request := requests.NewCommonRequest()
  117. request.Method = "GET"
  118. request.Domain = "cs.aliyuncs.com"
  119. request.Version = "2015-12-15"
  120. request.SetScheme("HTTPS")
  121. request.PathPattern = "/clusters/[ClusterId]"
  122. request.QueryParams["RegionId"] = os.Getenv("REGION_ID")
  123. request.TransToAcsRequest()
  124. _, err = client.ProcessCommonRequest(request)
  125. assert.NotNil(t, err)
  126. assert.Contains(t, err.Error(), "Request url is invalid")
  127. }