provide more information when error occurs

This commit is contained in:
zhangzifa
2019-02-26 17:25:39 +08:00
committed by Jackson Tian
parent f877a9ef39
commit 33a44c856d
9 changed files with 163 additions and 24 deletions

View File

@@ -3,6 +3,11 @@
#include "gtest/gtest.h"
#include "alibabacloud/core/AlibabaCloud.h"
#include "alibabacloud/ecs/EcsClient.h"
#include "alibabacloud/core/CommonClient.h"
#include "alibabacloud/core/CommonRequest.h"
#include "alibabacloud/core/sts/StsClient.h"
#include "alibabacloud/core/StsAssumeRoleCredentialsProvider.h"
using namespace std;
using namespace AlibabaCloud;
@@ -25,4 +30,64 @@ namespace {
EXPECT_TRUE(outcome.result().getTotalCount() == 16);
ShutdownSdk();
}
TEST(ecs, describeInstancesViaCommonRequest) {
utUtils utils;
string key = utils.get_env("ENV_AccessKeyId");
string secret = utils.get_env("ENV_AccessKeySecret");
InitializeSdk();
ClientConfiguration configuration("cn-hangzhou");
CommonClient client(key, secret, configuration);
CommonRequest request(CommonRequest::RpcPattern);
request.setScheme("https");
request.setDomain("ecs.aliyuncs.com");
request.setHttpMethod(HttpRequest::Get);
request.setHeaderParameter("Content-Type", "application/json;chrset=utf-8");
request.setVersion("2014-05-26");
request.setQueryParameter("action", "DescribeInstances");
auto outcome = client.commonResponse(request);
EXPECT_TRUE(outcome.error().errorCode().empty());
EXPECT_TRUE(outcome.result().payload().find("\"TotalCount\":16") != string::npos);
ShutdownSdk();
}
TEST(ecs, describeInstancesViaCommonRequestAndStsAssumeRole) {
utUtils utils;
const string sub_user_key = utils.get_env("ENV_AccessKeyId_AssumeRole");
const string sub_user_secret = utils.get_env("ENV_AccessKeySecret_AssumeRole");
const Credentials sub_user_credentials(sub_user_key, sub_user_secret);
const string arn = "acs:ram::1940345800212929:role/testassumerole";
const string session = "roleSessionName";
const string policy = "";
int duration = 1800;
InitializeSdk();
ClientConfiguration configuration("cn-hangzhou");
StsAssumeRoleCredentialsProvider provider(sub_user_credentials, configuration, arn, session, policy, duration);
Credentials assumed_role_credentials = provider.getCredentials();
CommonClient client(assumed_role_credentials, configuration);
CommonRequest request(CommonRequest::RpcPattern);
request.setScheme("https");
request.setDomain("ecs.aliyuncs.com");
request.setHttpMethod(HttpRequest::Get);
request.setHeaderParameter("Content-Type", "application/json;chrset=utf-8");
request.setVersion("2014-05-26");
request.setQueryParameter("action", "DescribeInstances");
auto outcome = client.commonResponse(request);
EXPECT_TRUE(outcome.error().errorCode().empty());
EXPECT_TRUE(outcome.result().payload().find("\"TotalCount\":") != string::npos);
EXPECT_TRUE(outcome.result().payload().find("\"PageNumber\":") != string::npos);
EXPECT_TRUE(outcome.result().payload().find("\"PageSize\":") != string::npos);
EXPECT_TRUE(outcome.result().payload().find("\"Instances\":") != string::npos);
ShutdownSdk();
}
}

View File

@@ -19,7 +19,7 @@ namespace {
ClientConfiguration configuration("cn-shanghai");
CommonClient client(key, secret, configuration);
// 创建API请求并设置参数
// create request and assign parameters
CommonRequest request(CommonRequest::RoaPattern);
request.setScheme("http");
request.setDomain("nlp.cn-shanghai.aliyuncs.com");
@@ -46,7 +46,7 @@ namespace {
ClientConfiguration configuration("cn-shanghai");
CommonClient client(key, secret, configuration);
// 创建API请求并设置参数
// create request and assign parameters
CommonRequest request(CommonRequest::RoaPattern);
request.setScheme("http");
request.setDomain("nlp.cn-shanghai.aliyuncs.com");