api_test.go 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. package integration
  2. import (
  3. "github.com/aliyun/alibaba-cloud-sdk-go/services/cdn"
  4. "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
  5. "github.com/aliyun/alibaba-cloud-sdk-go/services/ram"
  6. "github.com/aliyun/alibaba-cloud-sdk-go/services/rds"
  7. "github.com/aliyun/alibaba-cloud-sdk-go/services/slb"
  8. "github.com/aliyun/alibaba-cloud-sdk-go/services/vpc"
  9. "github.com/stretchr/testify/assert"
  10. "os"
  11. "testing"
  12. )
  13. var (
  14. securityGroupId = ""
  15. flag = false
  16. )
  17. func Test_ECS_CreateSecurityGroupWithRPCrequestWithXMLWithNestingparameters(t *testing.T) {
  18. request := ecs.CreateCreateSecurityGroupRequest()
  19. request.SetContentType("XML")
  20. tag := ecs.CreateSecurityGroupTag{
  21. Key: "test",
  22. Value: "test",
  23. }
  24. request.Tag = &[]ecs.CreateSecurityGroupTag{tag}
  25. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  26. assert.Nil(t, err)
  27. response, err := client.CreateSecurityGroup(request)
  28. assert.Nil(t, err)
  29. assert.True(t, response.IsSuccess())
  30. assert.Equal(t, 36, len(response.RequestId))
  31. assert.True(t, len(response.SecurityGroupId) > 0)
  32. securityGroupId = response.SecurityGroupId
  33. }
  34. func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithXMLWithNestingparameters(t *testing.T) {
  35. request := ecs.CreateDescribeSecurityGroupsRequest()
  36. request.SetContentType("XML")
  37. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  38. assert.Nil(t, err)
  39. response, err := client.DescribeSecurityGroups(request)
  40. assert.Nil(t, err)
  41. assert.True(t, response.IsSuccess())
  42. for _, securitygroup := range response.SecurityGroups.SecurityGroup {
  43. if securitygroup.SecurityGroupId == securityGroupId {
  44. flag = true
  45. break
  46. }
  47. }
  48. assert.Equal(t, 36, len(response.RequestId))
  49. assert.True(t, flag)
  50. flag = false
  51. }
  52. func Test_ECS_ModifyImageAttributeWithRPCrequestWithXML(t *testing.T) {
  53. request := ecs.CreateModifySecurityGroupAttributeRequest()
  54. request.SetContentType("XML")
  55. request.SecurityGroupName = "testintegration"
  56. request.SecurityGroupId = securityGroupId
  57. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  58. assert.Nil(t, err)
  59. response, err := client.ModifySecurityGroupAttribute(request)
  60. assert.Nil(t, err)
  61. assert.True(t, response.IsSuccess())
  62. assert.Equal(t, 36, len(response.RequestId))
  63. }
  64. func Test_ECS_DeleteImageWithRPCrequestWithXMLWithNestingparameters(t *testing.T) {
  65. request := ecs.CreateDeleteSecurityGroupRequest()
  66. request.SetContentType("XML")
  67. request.SecurityGroupId = securityGroupId
  68. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  69. assert.Nil(t, err)
  70. response, err := client.DeleteSecurityGroup(request)
  71. assert.Nil(t, err)
  72. assert.True(t, response.IsSuccess())
  73. assert.Equal(t, 36, len(response.RequestId))
  74. securityGroupId = ""
  75. }
  76. func Test_ECS_CreateSecurityGroupWithRPCrequestWithJSONWithNestingparameters(t *testing.T) {
  77. request := ecs.CreateCreateSecurityGroupRequest()
  78. request.SetContentType("JSON")
  79. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  80. assert.Nil(t, err)
  81. response, err := client.CreateSecurityGroup(request)
  82. assert.Nil(t, err)
  83. assert.True(t, response.IsSuccess())
  84. assert.Equal(t, 36, len(response.RequestId))
  85. assert.True(t, len(response.SecurityGroupId) > 0)
  86. securityGroupId = response.SecurityGroupId
  87. }
  88. func Test_ECS_DescribeSecurityGroupsWithRPCrequestWithJSONWithNestingparameters(t *testing.T) {
  89. request := ecs.CreateDescribeSecurityGroupsRequest()
  90. request.SetContentType("JSON")
  91. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  92. assert.Nil(t, err)
  93. response, err := client.DescribeSecurityGroups(request)
  94. assert.Nil(t, err)
  95. assert.True(t, response.IsSuccess())
  96. for _, securitygroup := range response.SecurityGroups.SecurityGroup {
  97. if securitygroup.SecurityGroupId == securityGroupId {
  98. flag = true
  99. break
  100. }
  101. }
  102. assert.Equal(t, 36, len(response.RequestId))
  103. assert.True(t, flag)
  104. flag = false
  105. }
  106. func Test_ECS_ModifyImageAttributeWithRPCrequestWithJSON(t *testing.T) {
  107. request := ecs.CreateModifySecurityGroupAttributeRequest()
  108. request.SetContentType("JSON")
  109. request.SecurityGroupName = "testintegration"
  110. request.SecurityGroupId = securityGroupId
  111. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  112. assert.Nil(t, err)
  113. response, err := client.ModifySecurityGroupAttribute(request)
  114. assert.Nil(t, err)
  115. assert.True(t, response.IsSuccess())
  116. assert.Equal(t, 36, len(response.RequestId))
  117. }
  118. func Test_ECS_DeleteImageWithRPCrequestWithJSONWithNestingparameters(t *testing.T) {
  119. request := ecs.CreateDeleteSecurityGroupRequest()
  120. request.SetContentType("JSON")
  121. request.SecurityGroupId = securityGroupId
  122. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  123. assert.Nil(t, err)
  124. response, err := client.DeleteSecurityGroup(request)
  125. assert.Nil(t, err)
  126. assert.True(t, response.IsSuccess())
  127. assert.Equal(t, 36, len(response.RequestId))
  128. securityGroupId = ""
  129. }
  130. func Test_ECS_DescribeRegionsWithRPCrequestWith(t *testing.T) {
  131. request := ecs.CreateDescribeRegionsRequest()
  132. client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  133. assert.Nil(t, err)
  134. response, err := client.DescribeRegions(request)
  135. assert.Nil(t, err)
  136. assert.True(t, response.IsSuccess())
  137. assert.Equal(t, 36, len(response.RequestId))
  138. assert.True(t, len(response.Regions.Region) > 0)
  139. }
  140. func Test_RDS_DescribeDBInstancesWithRPCrequest(t *testing.T) {
  141. client, err := rds.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  142. assert.Nil(t, err)
  143. assert.NotNil(t, client)
  144. request := rds.CreateDescribeDBInstancesRequest()
  145. response, err := client.DescribeDBInstances(request)
  146. assert.Nil(t, err)
  147. assert.NotNil(t, response)
  148. assert.Equal(t, 36, len(response.RequestId))
  149. }
  150. func Test_CDN_DescribeCdnDomainDetailWithRPCrequest(t *testing.T) {
  151. client, err := cdn.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  152. assert.Nil(t, err)
  153. assert.NotNil(t, client)
  154. request := cdn.CreateDescribeRefreshTasksRequest()
  155. response, err := client.DescribeRefreshTasks(request)
  156. assert.Nil(t, err)
  157. assert.NotNil(t, response)
  158. assert.Equal(t, 36, len(response.RequestId))
  159. }
  160. func Test_RAM_ListRolesWithRPCrequest(t *testing.T) {
  161. client, err := ram.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  162. assert.Nil(t, err)
  163. request := ram.CreateListRolesRequest()
  164. request.Scheme = "HTTPS"
  165. response, err := client.ListRoles(request)
  166. assert.Nil(t, err)
  167. assert.True(t, response.IsSuccess())
  168. assert.Equal(t, 36, len(response.RequestId))
  169. }
  170. func Test_SLB_DescribeRegionsWithRPCrequest(t *testing.T) {
  171. client, err := slb.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  172. assert.Nil(t, err)
  173. request := slb.CreateDescribeRegionsRequest()
  174. response, err := client.DescribeRegions(request)
  175. assert.Nil(t, err)
  176. assert.True(t, response.IsSuccess())
  177. assert.Equal(t, 36, len(response.RequestId))
  178. assert.True(t, len(response.Regions.Region) > 0)
  179. }
  180. func Test_VPC_DescribeRegionsWithUnicodeSpecificParams(t *testing.T) {
  181. client, err := vpc.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  182. assert.Nil(t, err)
  183. request := vpc.CreateDescribeRegionsRequest()
  184. response, err := client.DescribeRegions(request)
  185. assert.Nil(t, err)
  186. assert.True(t, response.IsSuccess())
  187. assert.Equal(t, 36, len(response.RequestId))
  188. assert.True(t, len(response.Regions.Region) > 0)
  189. }
  190. //
  191. //func mockServer(status int, json string) (server *httptest.Server) {
  192. // // Start a test server locally.
  193. // ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  194. // w.WriteHeader(status)
  195. // w.Write([]byte(json))
  196. // }))
  197. // return ts
  198. //}
  199. //func Test_ListRolesWithRPCrequestWithoutRedirecting(t *testing.T) {
  200. // client, err := ecs.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  201. // assert.Nil(t, err)
  202. // request := ecs.CreateDescribeRegionsRequest()
  203. // request.Scheme = "HTTP"
  204. // ts := mockServer(303, "{}")
  205. //
  206. // defer ts.Close()
  207. // domain := strings.Replace(ts.URL, "http://", "",1)
  208. // request.Domain = domain
  209. // assert.Nil(t, ts.URL)
  210. // assert.Nil(t, request.BuildUrl())
  211. // response, err := client.DescribeRegions(request)
  212. // assert.Nil(t, err)
  213. // assert.Equal(t, 303, response.GetHttpStatus())
  214. // assert.Equal(t, "", response.GetHttpContentString())
  215. //}
  216. //func Test_DescribeClusterDetailWithROArequest(t *testing.T) {
  217. // client, err := cs.NewClientWithAccessKey("default", os.Getenv("ACCESS_KEY_ID"), os.Getenv("ACCESS_KEY_SECRET"))
  218. // assert.Nil(t, err)
  219. // request := cs.CreateDescribeClusterDetailRequest()
  220. // request.SetDomain("cs.aliyuncs.com")
  221. // request.QueryParams["RegionId"] = "default"
  222. // request.Method = "GET"
  223. // response, err := client.DescribeClusterDetail(request)
  224. // assert.Nil(t, err)
  225. // assert.True(t, response.IsSuccess())
  226. // assert.Nil(t, response.GetHttpHeaders())
  227. //}