ecs_describeInstances_ft.cc 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. #include <iostream>
  2. #include "../utils.h"
  3. #include "gtest/gtest.h"
  4. #include "alibabacloud/core/AlibabaCloud.h"
  5. #include "alibabacloud/ecs/EcsClient.h"
  6. #include "alibabacloud/core/CommonClient.h"
  7. #include "alibabacloud/core/CommonRequest.h"
  8. #include "alibabacloud/core/sts/StsClient.h"
  9. #include "alibabacloud/core/StsAssumeRoleCredentialsProvider.h"
  10. using namespace std;
  11. using namespace AlibabaCloud;
  12. using namespace AlibabaCloud::Ecs;
  13. namespace {
  14. TEST(ecs, describeInstances) {
  15. utUtils utils;
  16. string key = utils.get_env("ENV_AccessKeyId");
  17. string secret = utils.get_env("ENV_AccessKeySecret");
  18. InitializeSdk();
  19. // ClientConfiguration configuration("cn-hangzhou");
  20. // EcsClient client(key, secret, configuration);
  21. // Model::DescribeInstancesRequest request;
  22. // request.setPageSize(10);
  23. // auto outcome = client.describeInstances(request);
  24. // EXPECT_TRUE(outcome.isSuccess());
  25. // EXPECT_TRUE(outcome.error().errorCode().empty());
  26. // EXPECT_TRUE(outcome.result().getTotalCount() >= 0);
  27. ShutdownSdk();
  28. }
  29. TEST(ecs, deleteInstance) {
  30. utUtils utils;
  31. string key = utils.get_env("ENV_AccessKeyId");
  32. string secret = utils.get_env("ENV_AccessKeySecret");
  33. InitializeSdk();
  34. // ClientConfiguration configuration("cn-hangzhou");
  35. // EcsClient client(key, secret, configuration);
  36. // Model::DeleteInstanceRequest delReq;
  37. // delReq.setInstanceId("non-exist-ecs-instance");
  38. // delReq.setForce(true);
  39. // auto outcome = client.deleteInstance(delReq);
  40. // EXPECT_TRUE(outcome.error().errorCode() == "InvalidInstanceId.NotFound");
  41. // EXPECT_TRUE(outcome.error().errorMessage() == "The specified InstanceId does not exist.");
  42. ShutdownSdk();
  43. }
  44. TEST(ecs, describeInstancesViaCommonRequest) {
  45. utUtils utils;
  46. string key = utils.get_env("ENV_AccessKeyId");
  47. string secret = utils.get_env("ENV_AccessKeySecret");
  48. InitializeSdk();
  49. // ClientConfiguration configuration("cn-hangzhou");
  50. // CommonClient client(key, secret, configuration);
  51. // CommonRequest request(CommonRequest::RpcPattern);
  52. // request.setScheme("https");
  53. // request.setDomain("ecs.aliyuncs.com");
  54. // request.setHttpMethod(HttpRequest::Get);
  55. // request.setHeaderParameter("Content-Type", "application/json;chrset=utf-8");
  56. // request.setVersion("2014-05-26");
  57. // request.setQueryParameter("action", "DescribeInstances");
  58. // auto outcome = client.commonResponse(request);
  59. // EXPECT_TRUE(outcome.error().errorCode().empty());
  60. // EXPECT_TRUE(outcome.result().payload().find("\"TotalCount\":") != string::npos);
  61. ShutdownSdk();
  62. }
  63. TEST(ecs, describeInstancesViaCommonRequestAndStsAssumeRole) {
  64. utUtils utils;
  65. const string sub_user_key = utils.get_env("ENV_AccessKeyId_AssumeRole");
  66. const string sub_user_secret = utils.get_env("ENV_AccessKeySecret_AssumeRole");
  67. const Credentials sub_user_credentials(sub_user_key, sub_user_secret);
  68. const string arn = "acs:ram::1940345800212929:role/testassumerole";
  69. const string session = "roleSessionName";
  70. const string policy = "";
  71. int duration = 1800;
  72. InitializeSdk();
  73. // ClientConfiguration configuration("cn-hangzhou");
  74. // StsAssumeRoleCredentialsProvider provider(sub_user_credentials, configuration, arn, session, policy, duration);
  75. // Credentials assumed_role_credentials = provider.getCredentials();
  76. // CommonClient client(assumed_role_credentials, configuration);
  77. // CommonRequest request(CommonRequest::RpcPattern);
  78. // request.setScheme("https");
  79. // request.setDomain("ecs.aliyuncs.com");
  80. // request.setHttpMethod(HttpRequest::Get);
  81. // request.setHeaderParameter("Content-Type", "application/json;chrset=utf-8");
  82. // request.setVersion("2014-05-26");
  83. // request.setQueryParameter("action", "DescribeInstances");
  84. // auto outcome = client.commonResponse(request);
  85. // EXPECT_TRUE(outcome.error().errorCode().empty());
  86. // EXPECT_TRUE(outcome.result().payload().find("\"TotalCount\":") != string::npos);
  87. // EXPECT_TRUE(outcome.result().payload().find("\"PageNumber\":") != string::npos);
  88. // EXPECT_TRUE(outcome.result().payload().find("\"PageSize\":") != string::npos);
  89. // EXPECT_TRUE(outcome.result().payload().find("\"Instances\":") != string::npos);
  90. ShutdownSdk();
  91. }
  92. TEST(ecs, describeInstancesClientTimeout) {
  93. utUtils utils;
  94. string key = utils.get_env("ENV_AccessKeyId");
  95. string secret = utils.get_env("ENV_AccessKeySecret");
  96. InitializeSdk();
  97. // ClientConfiguration configuration("cn-hangzhou");
  98. // configuration.setConnectTimeout(1);
  99. // configuration.setReadTimeout(123);
  100. // EcsClient client(key, secret, configuration);
  101. // Model::DescribeInstancesRequest request;
  102. // request.setPageSize(10);
  103. // auto outcome = client.describeInstances(request);
  104. // EXPECT_TRUE(outcome.error().errorCode() == "OperationTimeoutError");
  105. // EXPECT_TRUE(outcome.error().errorMessage().find("Timeout (connectTimeout: 1ms, readTimeout: 123ms) when connect or read") == 0);
  106. ShutdownSdk();
  107. }
  108. TEST(ecs, describeInstancesRequestTimeout) {
  109. utUtils utils;
  110. string key = utils.get_env("ENV_AccessKeyId");
  111. string secret = utils.get_env("ENV_AccessKeySecret");
  112. InitializeSdk();
  113. // ClientConfiguration configuration("cn-hangzhou");
  114. // EcsClient client(key, secret, configuration);
  115. // Model::DescribeInstancesRequest request;
  116. // request.setPageSize(10);
  117. // request.setConnectTimeout(11);
  118. // request.setReadTimeout(213);
  119. // auto outcome = client.describeInstances(request);
  120. // EXPECT_TRUE(outcome.error().errorCode() == "OperationTimeoutError");
  121. // EXPECT_TRUE(outcome.error().errorMessage().find("Timeout (connectTimeout: 11ms, readTimeout: 213ms) when connect or read") == 0);
  122. ShutdownSdk();
  123. }
  124. TEST(ecs, describeInstancesClientRequestTimeout) {
  125. utUtils utils;
  126. string key = utils.get_env("ENV_AccessKeyId");
  127. string secret = utils.get_env("ENV_AccessKeySecret");
  128. InitializeSdk();
  129. // ClientConfiguration configuration("cn-hangzhou");
  130. // configuration.setConnectTimeout(1);
  131. // configuration.setReadTimeout(123);
  132. // EcsClient client(key, secret, configuration);
  133. // Model::DescribeInstancesRequest request;
  134. // request.setPageSize(10);
  135. // request.setConnectTimeout(11);
  136. // request.setReadTimeout(213);
  137. // auto outcome = client.describeInstances(request);
  138. // EXPECT_TRUE(outcome.error().errorCode() == "OperationTimeoutError");
  139. // EXPECT_TRUE(outcome.error().errorMessage().find("Timeout (connectTimeout: 11ms, readTimeout: 213ms) when connect or read") == 0);
  140. ShutdownSdk();
  141. }
  142. }