timeout support when create client or make request
This commit is contained in:
26
test/function_test/cs/CMakeLists.txt
Normal file
26
test/function_test/cs/CMakeLists.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(demo)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
if(CMAKE_HOST_WIN32)
|
||||
include_directories("C:\\Program Files (x86)\\alibabacloud-sdk\\include")
|
||||
link_directories("C:\\Program Files (x86)\\alibabacloud-sdk\\lib")
|
||||
endif()
|
||||
|
||||
# note ft_build is the dir you build sdk
|
||||
|
||||
include_directories("../../../core/include/")
|
||||
include_directories("../../../cs/include/")
|
||||
link_directories(${CMAKE_SOURCE_DIR}/ft_build/lib)
|
||||
|
||||
|
||||
add_executable(cs_ft cs_describetemplates_ut.cc)
|
||||
target_link_libraries(cs_ft alibabacloud-sdk-core alibabacloud-sdk-cs)
|
||||
|
||||
target_link_libraries(cs_ft core gtest gmock_main)
|
||||
|
||||
set_target_properties(cs_ft
|
||||
PROPERTIES
|
||||
OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}cs_ft
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
|
||||
add_test(NAME cs_ft COMMAND cs_ft)
|
||||
88
test/function_test/cs/cs_describetemplates_ut.cc
Normal file
88
test/function_test/cs/cs_describetemplates_ut.cc
Normal file
@@ -0,0 +1,88 @@
|
||||
#include <iostream>
|
||||
#include "../utils.h"
|
||||
#include "gtest/gtest.h"
|
||||
#include "alibabacloud/core/AlibabaCloud.h"
|
||||
#include "alibabacloud/cs/CSClient.h"
|
||||
#include "alibabacloud/cs/model/CreateTemplateRequest.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;
|
||||
using namespace AlibabaCloud::CS;
|
||||
|
||||
namespace {
|
||||
TEST(cs, describeTemplatesError) {
|
||||
utUtils utils;
|
||||
string key = utils.get_env("ENV_AccessKeyId");
|
||||
string secret = utils.get_env("ENV_AccessKeySecret");
|
||||
|
||||
InitializeSdk();
|
||||
ClientConfiguration configuration("cn-hangzhou");
|
||||
CSClient client(key, secret, configuration);
|
||||
Model::DescribeTemplatesRequest request;
|
||||
auto outcome = client.describeTemplates(request);
|
||||
EXPECT_TRUE(outcome.error().errorCode() == "InvalidAction.NotFound");
|
||||
EXPECT_TRUE(outcome.error().errorMessage() == "Specified api is not found, please check your url and method.");
|
||||
ShutdownSdk();
|
||||
}
|
||||
|
||||
|
||||
TEST(cs, describeTemplatesClientTimeout) {
|
||||
utUtils utils;
|
||||
string key = utils.get_env("ENV_AccessKeyId");
|
||||
string secret = utils.get_env("ENV_AccessKeySecret");
|
||||
|
||||
InitializeSdk();
|
||||
ClientConfiguration configuration("cn-hangzhou");
|
||||
configuration.setConnectTimeout(1);
|
||||
configuration.setReadTimeout(123);
|
||||
|
||||
CSClient client(key, secret, configuration);
|
||||
Model::DescribeTemplatesRequest request;
|
||||
auto outcome = client.describeTemplates(request);
|
||||
EXPECT_TRUE(outcome.error().errorCode() == "OperationTimeoutError");
|
||||
EXPECT_TRUE(outcome.error().errorMessage().find("Timeout (connectTimeout: 1ms, readTimeout: 123ms) when connect or read") == 0);
|
||||
ShutdownSdk();
|
||||
}
|
||||
|
||||
TEST(cs, describeTemplatesRequstTimeout) {
|
||||
utUtils utils;
|
||||
string key = utils.get_env("ENV_AccessKeyId");
|
||||
string secret = utils.get_env("ENV_AccessKeySecret");
|
||||
|
||||
InitializeSdk();
|
||||
ClientConfiguration configuration("cn-hangzhou");
|
||||
CSClient client(key, secret, configuration);
|
||||
Model::DescribeTemplatesRequest request;
|
||||
request.setConnectTimeout(11);
|
||||
request.setReadTimeout(213);
|
||||
auto outcome = client.describeTemplates(request);
|
||||
EXPECT_TRUE(outcome.error().errorCode() == "OperationTimeoutError");
|
||||
EXPECT_TRUE(outcome.error().errorMessage().find("Timeout (connectTimeout: 11ms, readTimeout: 213ms) when connect or read") == 0);
|
||||
ShutdownSdk();
|
||||
}
|
||||
|
||||
TEST(cs, describeTemplatesClientRequstTimeout) {
|
||||
utUtils utils;
|
||||
string key = utils.get_env("ENV_AccessKeyId");
|
||||
string secret = utils.get_env("ENV_AccessKeySecret");
|
||||
|
||||
InitializeSdk();
|
||||
ClientConfiguration configuration("cn-hangzhou");
|
||||
configuration.setConnectTimeout(1);
|
||||
configuration.setReadTimeout(123);
|
||||
|
||||
CSClient client(key, secret, configuration);
|
||||
Model::DescribeTemplatesRequest request;
|
||||
request.setConnectTimeout(11);
|
||||
request.setReadTimeout(213);
|
||||
auto outcome = client.describeTemplates(request);
|
||||
EXPECT_TRUE(outcome.error().errorCode() == "OperationTimeoutError");
|
||||
EXPECT_TRUE(outcome.error().errorMessage().find("Timeout (connectTimeout: 11ms, readTimeout: 213ms) when connect or read") == 0);
|
||||
ShutdownSdk();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user