Skip to content

Commit e8e642e

Browse files
committed
ut
1 parent 6d18e3b commit e8e642e

File tree

2 files changed

+70
-3
lines changed

2 files changed

+70
-3
lines changed

demo/object_op_demo/multi_put_object_demo.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ void PrintResult(const qcloud_cos::CosResult& result, const qcloud_cos::BaseResp
4848
qcloud_cos::CosAPI InitCosAPI() {
4949
qcloud_cos::CosConfig config(appid, tmp_secret_id, tmp_secret_key, region);
5050
config.SetTmpToken(tmp_token); // 推荐使用临时密钥初始化 CosAPI 对象, 如果您使用永久密钥初始化 CosAPI 对象,请注释
51+
config.SetDestDomain("xxxxx.xxxxx.com");
52+
config.SetDomainSameToHost(true);
5153
qcloud_cos::CosAPI cos_tmp(config);
5254
return cos_tmp;
5355
}
@@ -398,11 +400,9 @@ void PutObjectResumableSingleThreadSyncDemo(qcloud_cos::CosAPI& cos) {
398400
uint64_t traffic_limit = 8192 * 1024;//1MB
399401
req.SetTrafficLimit(traffic_limit);
400402
req.SetCheckCRC64(true);
403+
req.SetSSLCtxCallback(SslCtxCallback, nullptr);
401404
qcloud_cos::PutObjectResumableSingleSyncResp resp;
402-
std::chrono::time_point<std::chrono::steady_clock> start_ts, end_ts;
403-
start_ts = std::chrono::steady_clock::now();
404405
qcloud_cos::CosResult result = cos.PutObjectResumableSingleThreadSync(req, &resp);
405-
end_ts = std::chrono::steady_clock::now();
406406
if (result.IsSucc()) {
407407
std::cout << "MultiUpload Succ." << std::endl;
408408
std::cout << resp.GetLocation() << std::endl;

unittest/src/object_op_test.cpp

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2197,6 +2197,73 @@ TEST_F(ObjectOpTest, MultiPutObjectTest_OneStep) {
21972197
}
21982198
}
21992199

2200+
TEST_F(ObjectOpTest, PutObjectResumableSingleThreadSyncTest) {
2201+
{
2202+
std::string filename = "single_upload_object_one_step";
2203+
std::string object_name = filename;
2204+
// 1. 生成个临时文件, 用于分块上传
2205+
{
2206+
std::ofstream fs;
2207+
fs.open(filename.c_str(), std::ios::out | std::ios::binary);
2208+
std::string str(10 * 1000 * 1000, 'b');
2209+
for (int idx = 0; idx < 10; ++idx) {
2210+
fs << str;
2211+
}
2212+
fs.close();
2213+
}
2214+
2215+
// 2. 上传
2216+
qcloud_cos::PutObjectResumableSingleSyncReq req(m_bucket_name, object_name, filename);
2217+
req.SetHttps();
2218+
req.AddHeader("x-cos-meta-ssss1","1xxxxxxx");
2219+
req.AddHeader("x-cos-meta-ssss2","2xxxxxxx");
2220+
req.AddHeader("x-cos-meta-ssss3","3xxxxxxx");
2221+
req.AddHeader("x-cos-meta-ssss4","4xxxxxxx");
2222+
uint64_t traffic_limit = 8192 * 1024*100;//100MB
2223+
req.SetTrafficLimit(traffic_limit);
2224+
req.SetCheckCRC64(true);
2225+
qcloud_cos::PutObjectResumableSingleSyncResp resp;
2226+
std::chrono::time_point<std::chrono::steady_clock> start_ts, end_ts;
2227+
start_ts = std::chrono::steady_clock::now();
2228+
qcloud_cos::CosResult result = m_client->PutObjectResumableSingleThreadSync(req, &resp);
2229+
EXPECT_TRUE(result.IsSucc());
2230+
2231+
// 3. 删除临时文件
2232+
if (-1 == remove(filename.c_str())) {
2233+
std::cout << "Remove temp file=" << filename << " fail." << std::endl;
2234+
}
2235+
}
2236+
2237+
{
2238+
std::string filename = "multi_upload_object_enc_one_step";
2239+
std::string object_name = filename;
2240+
// 1. 生成个临时文件, 用于分块上传
2241+
{
2242+
std::ofstream fs;
2243+
fs.open(filename.c_str(), std::ios::out | std::ios::binary);
2244+
std::string str(10 * 1000 * 1000, 'b');
2245+
for (int idx = 0; idx < 10; ++idx) {
2246+
fs << str;
2247+
}
2248+
fs.close();
2249+
}
2250+
2251+
// 2. 上传
2252+
MultiPutObjectReq req(m_bucket_name, object_name, filename);
2253+
req.SetXCosServerSideEncryption("AES256");
2254+
MultiPutObjectResp resp;
2255+
2256+
CosResult result = m_client->MultiPutObject(req, &resp);
2257+
ASSERT_TRUE(result.IsSucc());
2258+
EXPECT_EQ("AES256", resp.GetXCosServerSideEncryption());
2259+
2260+
// 3. 删除临时文件
2261+
if (-1 == remove(filename.c_str())) {
2262+
std::cout << "Remove temp file=" << filename << " fail." << std::endl;
2263+
}
2264+
}
2265+
}
2266+
22002267
TEST_F(ObjectOpTest, UploadPartCopyDataTest) {
22012268
//上传一个对象
22022269
{

0 commit comments

Comments
 (0)