Skip to content

Commit dd04aba

Browse files
yi-liu9huiguangjun
authored andcommitted
add more case
1 parent b20c910 commit dd04aba

36 files changed

+1876
-14
lines changed

sdk/src/http/HttpMessage.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,10 @@ HttpMessage& HttpMessage::operator=(const HttpMessage &other)
4646

4747
HttpMessage& HttpMessage::operator=(HttpMessage &&other)
4848
{
49-
if (this != &other)
50-
*this = std::move(other);
49+
if (this != &other) {
50+
body_ = std::move(other.body_);
51+
headers_ = std::move(other.headers_);
52+
}
5153
return *this;
5254
}
5355

sdk/src/model/ListObjectsResult.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ ListObjectsResult& ListObjectsResult::operator =(const std::string& result)
9191
node = root->FirstChildElement("CommonPrefixes");
9292
for (; node; node = node->NextSiblingElement("CommonPrefixes")) {
9393
XMLElement *prefix_node = node->FirstChildElement("Prefix");
94-
if (prefix_node->GetText()) commonPrefixes_.push_back(
94+
if (prefix_node && prefix_node->GetText()) commonPrefixes_.push_back(
9595
(useUrlDecode ? UrlDecode(prefix_node->GetText()) : prefix_node->GetText()));
9696
}
9797

sdk/src/utils/Crc64.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,11 @@ uint64_t CRC64::CalcCRC(uint64_t crc, void *buf, size_t len)
280280
return *(char *)&n ? crc64_little(crc, buf, len) : crc64_big(crc, buf, len);
281281
}
282282

283+
uint64_t CRC64::CalcCRC(uint64_t crc, void *buf, size_t len, bool little)
284+
{
285+
return little ? crc64_little(crc, buf, len) : crc64_big(crc, buf, len);
286+
}
287+
283288
uint64_t CRC64::CombineCRC(uint64_t crc1, uint64_t crc2, uintmax_t len2)
284289
{
285290
return crc64_combine(crc1, crc2, len2);

sdk/src/utils/Crc64.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ namespace OSS
2626
public:
2727
static uint64_t CalcCRC(uint64_t crc, void *buf, size_t len);
2828
static uint64_t CombineCRC(uint64_t crc1, uint64_t crc2, uintmax_t len2);
29+
static uint64_t CalcCRC(uint64_t crc, void *buf, size_t len, bool little);
2930
};
3031
}
3132
}

test/src/Bucket/BucketAclSettingsTest.cc

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,5 +178,51 @@ TEST_F(BucketAclSettingsTest, OssBucketRequestSetBucketTest)
178178
EXPECT_EQ(aclOutcome.isSuccess(), true);
179179
}
180180

181+
TEST_F(BucketAclSettingsTest, GetBucketAclResultBranchTest)
182+
{
183+
GetBucketAclResult result("test");
184+
185+
std::string xml = R"(<?xml version="1.0" ?>
186+
<AccessControl>
187+
<Owner>
188+
</Owner>
189+
<AccessControlList>
190+
</AccessControlList>
191+
</AccessControl>)";
192+
GetBucketAclResult result1(xml);
193+
194+
xml = R"(<?xml version="1.0" ?>
195+
<AccessControlPolicy>
196+
<ID>00220120222</ID>
197+
<DisplayName>user_example</DisplayName>
198+
<Grant>public-read</Grant>
199+
</AccessControlPolicy>)";
200+
GetBucketAclResult result2(xml);
201+
202+
xml = R"(<?xml version="1.0" ?>
203+
<AccessControlPolicy>
204+
<Owner>
205+
</Owner>
206+
<AccessControlList>
207+
</AccessControlList>
208+
</AccessControlPolicy>)";
209+
GetBucketAclResult result4(xml);
210+
211+
xml = R"(<?xml version="1.0" ?>
212+
<AccessControlPolicy>
213+
<Owner>
214+
<ID></ID>
215+
<DisplayName></DisplayName>
216+
</Owner>
217+
<AccessControlList>
218+
<Grant></Grant>
219+
</AccessControlList>
220+
</AccessControlPolicy>)";
221+
GetBucketAclResult result5(xml);
222+
223+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
224+
GetBucketAclResult result6(xml);
225+
226+
}
181227
}
182228
}

test/src/Bucket/BucketBasicOperationTest.cc

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,5 +557,196 @@ TEST_F(BucketBasicOperationTest, CreateBucketDataRedundancyTypeTest)
557557
Client->DeleteBucket(bucketName);
558558
}
559559

560+
TEST_F(BucketBasicOperationTest, ObjectMetaDataFunctionTest)
561+
{
562+
ObjectMetaData meta;
563+
meta.addHeader("x-oss-object-type", "test");
564+
meta.ObjectType();
565+
566+
meta.addUserHeader("value", "key");
567+
meta.hasUserHeader("value");
568+
meta.removeUserHeader("value");
569+
}
570+
571+
TEST_F(BucketBasicOperationTest, GetBucketInfoResultBranchTest)
572+
{
573+
GetBucketInfoResult result("test");
574+
575+
std::string xml = R"(<?xml version="1.0" encoding="UTF-8"?>
576+
<Bucket>
577+
</Bucket>)";
578+
GetBucketInfoResult result1(xml);
579+
580+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
581+
<BucketInfo>
582+
</BucketInfo>)";
583+
GetBucketInfoResult result2(xml);
584+
585+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
586+
<BucketInfo>
587+
<Bucket>
588+
589+
</Bucket>
590+
</BucketInfo>)";
591+
GetBucketInfoResult result3(xml);
592+
593+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
594+
<BucketInfo>
595+
<Bucket>
596+
<CreationDate></CreationDate>
597+
<ExtranetEndpoint></ExtranetEndpoint>
598+
<IntranetEndpoint></IntranetEndpoint>
599+
<Location></Location>
600+
<Name></Name>
601+
<Owner>
602+
603+
</Owner>
604+
<AccessControlList>
605+
606+
</AccessControlList>
607+
<Comment></Comment>
608+
<DataRedundancyType>LRS</DataRedundancyType>
609+
</Bucket>
610+
</BucketInfo>)";
611+
GetBucketInfoResult result4(xml);
612+
613+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
614+
<BucketInfo>
615+
<Bucket>
616+
<CreationDate>2013-07-31T10:56:21.000Z</CreationDate>
617+
<ExtranetEndpoint>oss-cn-hangzhou.aliyuncs.com</ExtranetEndpoint>
618+
<IntranetEndpoint>oss-cn-hangzhou-internal.aliyuncs.com</IntranetEndpoint>
619+
<Location>oss-cn-hangzhou</Location>
620+
<Name>oss-example</Name>
621+
<StorageClass></StorageClass>
622+
<DataRedundancyType></DataRedundancyType>
623+
<Owner>
624+
<DisplayName></DisplayName>
625+
<ID></ID>
626+
</Owner>
627+
<AccessControlList>
628+
<Grant></Grant>
629+
</AccessControlList>
630+
<Comment>test</Comment>
631+
<DataRedundancyType>LRS</DataRedundancyType>
632+
</Bucket>
633+
</BucketInfo>)";
634+
GetBucketInfoResult result10(xml);
635+
636+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
637+
GetBucketInfoResult result13(xml);
638+
639+
GetBucketLocationResult result5("test");
640+
641+
std::string xml1 = R"(<?xml version="1.0" encoding="UTF-8"?>
642+
<Location xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">oss-cn-hangzhou</Location>)";
643+
GetBucketLocationResult result6(xml1);
644+
645+
xml1 = R"(<?xml version="1.0" encoding="UTF-8"?>
646+
<LocationConstraint></LocationConstraint>)";
647+
GetBucketLocationResult result11(xml1);
648+
649+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
650+
GetBucketLocationResult result14(xml1);
651+
652+
GetBucketStatResult result7("test");
653+
654+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
655+
<Bucket>
656+
<Storage>1024123</Storage>
657+
<ObjectCount>1000</ObjectCount>
658+
<MultipartUploadCount>20</MultipartUploadCount>
659+
</Bucket>)";
660+
GetBucketStatResult result8(xml);
661+
662+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
663+
<BucketStat>
664+
665+
</BucketStat>)";
666+
GetBucketStatResult result9(xml);
667+
668+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
669+
<BucketStat>
670+
<Storage></Storage>
671+
<ObjectCount></ObjectCount>
672+
<MultipartUploadCount></MultipartUploadCount>
673+
</BucketStat>)";
674+
GetBucketStatResult result12(xml);
675+
676+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
677+
GetBucketStatResult result15(xml);
678+
}
679+
680+
TEST_F(BucketBasicOperationTest, ListBucketsResultBranchTest)
681+
{
682+
ListBucketsResult result("test");
683+
684+
std::string xml = R"(<?xml version="1.0" encoding="UTF-8"?>
685+
<ListAllMyBuckets>
686+
687+
</ListAllMyBuckets>)";
688+
ListBucketsResult result1(xml);
689+
690+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
691+
<ListAllMyBucketsResult>
692+
693+
</ListAllMyBucketsResult>)";
694+
ListBucketsResult result2(xml);
695+
696+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
697+
<ListAllMyBucketsResult>
698+
<Owner>
699+
700+
</Owner>
701+
<Buckets>
702+
</Buckets>
703+
</ListAllMyBucketsResult>)";
704+
ListBucketsResult result3(xml);
705+
706+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
707+
<ListAllMyBucketsResult>
708+
<Owner>
709+
<ID>1305433695277957</ID>
710+
<DisplayName>1305433695277957</DisplayName>
711+
</Owner>
712+
<Buckets>
713+
<Bucket>
714+
715+
</Bucket>
716+
717+
</Buckets>
718+
</ListAllMyBucketsResult>)";
719+
ListBucketsResult result4(xml);
720+
721+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>
722+
<ListAllMyBucketsResult>
723+
<Owner>
724+
<ID></ID>
725+
<DisplayName></DisplayName>
726+
</Owner>
727+
<Prefix></Prefix>
728+
<Marker></Marker>
729+
<MaxKeys></MaxKeys>
730+
<IsTruncated></IsTruncated>
731+
<NextMarker></NextMarker>
732+
733+
<Buckets>
734+
<Bucket>
735+
<CreationDate></CreationDate>
736+
<ExtranetEndpoint></ExtranetEndpoint>
737+
<IntranetEndpoint></IntranetEndpoint>
738+
<Location></Location>
739+
<Name></Name>
740+
<StorageClass></StorageClass>
741+
</Bucket>
742+
743+
</Buckets>
744+
</ListAllMyBucketsResult>)";
745+
ListBucketsResult result5(xml);
746+
747+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
748+
ListBucketsResult result6(xml);
749+
}
750+
560751
}
561752
}

test/src/Bucket/BucketCorsSettingsTest.cc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,5 +429,30 @@ TEST_F(BucketCorsSettingsTest, DeleteBucketCorsInvalidValidateTest)
429429
EXPECT_EQ(deloutcome.error().Code(), "ValidateError");
430430
}
431431

432+
TEST_F(BucketCorsSettingsTest, GetBucketCorsResultBranchTest)
433+
{
434+
GetBucketCorsResult result("test");
435+
std::string xml = R"(<?xml version="1.0" encoding="UTF-8"?>
436+
<CORS>
437+
<CORSRule>
438+
<AllowedOrigin></AllowedOrigin>
439+
<AllowedMethod></AllowedMethod>
440+
<AllowedHeader></AllowedHeader>
441+
<ExposeHeader></ExposeHeader>
442+
<MaxAgeSeconds></MaxAgeSeconds>
443+
</CORSRule>
444+
<CORSRule>
445+
<AllowedOrigin></AllowedOrigin>
446+
<AllowedMethod></AllowedMethod>
447+
<AllowedHeader></AllowedHeader>
448+
<ExposeHeader></ExposeHeader>
449+
<MaxAgeSeconds></MaxAgeSeconds>
450+
</CORSRule>
451+
</CORS>)";
452+
GetBucketCorsResult result1(xml);
453+
454+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
455+
GetBucketCorsResult result2(xml);
456+
}
432457
}
433458
}

test/src/Bucket/BucketEncryptionTest.cc

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,20 @@ namespace OSS {
116116
EXPECT_EQ(infoOutcome.result().KMSMasterKeyID(), "");
117117
}
118118

119-
TEST_F(BucketEncryptionTest, SetBucketEncryptionNegativeTest)
119+
TEST_F(BucketEncryptionTest, BucketEncryptionNegativeTest)
120120
{
121121
SetBucketEncryptionRequest setrequest(BucketName);
122122
setrequest.setSSEAlgorithm(SSEAlgorithm::NotSet);
123123
auto setoutcome = Client->SetBucketEncryption(setrequest);
124124
EXPECT_EQ(setoutcome.isSuccess(), false);
125+
126+
GetBucketEncryptionRequest getRequest("Invalid-bucket");
127+
auto getOutcome = Client->GetBucketEncryption(getRequest);
128+
EXPECT_EQ(getOutcome.isSuccess(), false);
129+
130+
DeleteBucketEncryptionRequest delRequest("Invalid-bucket");
131+
auto delOutcome = Client->DeleteBucketEncryption(delRequest);
132+
EXPECT_EQ(delOutcome.isSuccess(), false);
125133
}
126134

127135
TEST_F(BucketEncryptionTest, GetBucketEncryptionResult)
@@ -137,5 +145,39 @@ namespace OSS {
137145
EXPECT_EQ(result.SSEAlgorithm(), SSEAlgorithm::KMS);
138146
EXPECT_EQ(result.KMSMasterKeyID(), "1234");
139147
}
148+
149+
TEST_F(BucketEncryptionTest, GetBucketEncryptionResultBranchTest)
150+
{
151+
GetBucketEncryptionResult result("test");
152+
std::string xml = R"(<?xml version="1.0" ?>
153+
<ServerSideEncryption>
154+
155+
</ServerSideEncryption>)";
156+
GetBucketEncryptionResult result1(xml);
157+
158+
xml = R"(<?xml version="1.0" ?>
159+
<ServerSideEncryptionRule>
160+
</ServerSideEncryptionRule>)";
161+
GetBucketEncryptionResult result2(xml);
162+
163+
xml = R"(<?xml version="1.0" ?>
164+
<ServerSideEncryptionRule>
165+
<ApplyServerSideEncryptionByDefault>
166+
</ApplyServerSideEncryptionByDefault>
167+
</ServerSideEncryptionRule>)";
168+
GetBucketEncryptionResult result3(xml);
169+
170+
xml = R"(<?xml version="1.0" ?>
171+
<ServerSideEncryptionRule>
172+
<ApplyServerSideEncryptionByDefault>
173+
<SSEAlgorithm></SSEAlgorithm>
174+
<KMSMasterKeyID></KMSMasterKeyID>
175+
</ApplyServerSideEncryptionByDefault>
176+
</ServerSideEncryptionRule>)";
177+
GetBucketEncryptionResult result4(xml);
178+
179+
xml = R"(<?xml version="1.0" encoding="UTF-8"?>)";
180+
GetBucketEncryptionResult result5(xml);
181+
}
140182
}
141183
}

0 commit comments

Comments
 (0)