Skip to content

Commit e324696

Browse files
authored
Update QCloudCOSXMLBucketTests.m
fix replication
1 parent ffbcc9d commit e324696

File tree

1 file changed

+40
-73
lines changed

1 file changed

+40
-73
lines changed

QCloudCOSXMLDemoTests/QCloudCOSXMLBucketTests.m

Lines changed: 40 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -565,93 +565,60 @@ - (void)testPut_And_Get_BucketVersioning {
565565
}
566566

567567
- (void)testPut_Get_Delte_BucketReplication {
568-
__block NSString *sourceBucket = @"xiaodaxiansource";
568+
__block NSString *sourceBucket = @"xiaodaxiansource";
569569
__block NSString *destinationBucket = @"replication-destination";
570570
__block NSString *destinationRegion = @"ap-beijing";
571-
571+
572572
// enable bucket versioning first
573-
QCloudPutBucketVersioningRequest *destinationPutBucketVersioningRequest = [[QCloudPutBucketVersioningRequest alloc] init];
574-
destinationPutBucketVersioningRequest.bucket = destinationBucket;
575-
QCloudBucketVersioningConfiguration *configuration = [[QCloudBucketVersioningConfiguration alloc] init];
576-
destinationPutBucketVersioningRequest.configuration = configuration;
577-
configuration.status = QCloudCOSBucketVersioningStatusEnabled;
578-
XCTestExpectation *putDestinationBucketVersioningExpectation = [self expectationWithDescription:@"Put Bucket Versioning first "];
579-
[destinationPutBucketVersioningRequest setFinishBlock:^(id outputObject, NSError *error) {
580-
[putDestinationBucketVersioningExpectation fulfill];
581-
XCTAssertNil(error);
582-
}];
583-
__block NSString *previousRegion = [QCloudCOSXMLService defaultCOSXML].configuration.endpoint.regionName;
584-
[QCloudCOSXMLService defaultCOSXML].configuration.endpoint.regionName = destinationRegion;
585-
[[QCloudCOSXMLService defaultCOSXML] PutBucketVersioning:destinationPutBucketVersioningRequest];
586-
[self waitForExpectationsWithTimeout:10
587-
handler:^(NSError *_Nullable error) {
588-
[QCloudCOSXMLService defaultCOSXML].configuration.endpoint.regionName = previousRegion;
589-
}];
590-
591-
QCloudPutBucketVersioningRequest *request = [[QCloudPutBucketVersioningRequest alloc] init];
573+
574+
XCTestExpectation *putReplicationExpectation = [self expectationWithDescription:@"Put Bucket Versioning first "];
575+
// put bucket replication
576+
QCloudPutBucketReplicationRequest *request = [[QCloudPutBucketReplicationRequest alloc] init];
592577
request.bucket = sourceBucket;
593-
// QCloudBucketVersioningConfiguration* configuration = [[QCloudBucketVersioningConfiguration alloc] init];
594-
request.configuration = configuration;
595-
configuration.status = QCloudCOSBucketVersioningStatusEnabled;
596-
XCTestExpectation *expectation = [self expectationWithDescription:@"Put Bucket Versioning"];
578+
QCloudBucketReplicationConfiguation *configuration = [[QCloudBucketReplicationConfiguation alloc] init];
579+
configuration.role = [NSString identifierStringWithID:@"1278687956":@"1278687956"];
580+
QCloudBucketReplicationRule *rule = [[QCloudBucketReplicationRule alloc] init];
581+
582+
rule.identifier = [NSUUID UUID].UUIDString;
583+
rule.status = QCloudCOSXMLStatusEnabled;
584+
585+
QCloudBucketReplicationDestination *destination = [[QCloudBucketReplicationDestination alloc] init];
586+
// qcs:id/0:cos:[region]:appid/[AppId]:[bucketname]
587+
// NSString* destinationBucket = destinationBucket;
588+
destination.bucket = [NSString stringWithFormat:@"qcs:id/0:cos:%@:appid/%@:%@", destinationRegion, self.appID, destinationBucket];
589+
rule.destination = destination;
590+
configuration.rule = @[ rule ];
591+
request.configuation = configuration;
597592
[request setFinishBlock:^(id outputObject, NSError *error) {
598593
XCTAssertNil(error);
599-
600-
// put bucket replication
601-
QCloudPutBucketReplicationRequest *request = [[QCloudPutBucketReplicationRequest alloc] init];
594+
sleep(5);
595+
// get bucket replication
596+
QCloudGetBucketReplicationRequest *request = [[QCloudGetBucketReplicationRequest alloc] init];
602597
request.bucket = sourceBucket;
603-
QCloudBucketReplicationConfiguation *configuration = [[QCloudBucketReplicationConfiguation alloc] init];
604-
configuration.role = [NSString identifierStringWithID:@"1278687956":@"1278687956"];
605-
QCloudBucketReplicationRule *rule = [[QCloudBucketReplicationRule alloc] init];
606-
607-
rule.identifier = [NSUUID UUID].UUIDString;
608-
rule.status = QCloudCOSXMLStatusEnabled;
609-
610-
QCloudBucketReplicationDestination *destination = [[QCloudBucketReplicationDestination alloc] init];
611-
// qcs:id/0:cos:[region]:appid/[AppId]:[bucketname]
612-
// NSString* destinationBucket = destinationBucket;
613-
destination.bucket = [NSString stringWithFormat:@"qcs:id/0:cos:%@:appid/%@:%@", destinationRegion, self.appID, destinationBucket];
614-
rule.destination = destination;
615-
configuration.rule = @[ rule ];
616-
request.configuation = configuration;
617-
[request setFinishBlock:^(id outputObject, NSError *error) {
598+
[request setFinishBlock:^(QCloudBucketReplicationConfiguation *result, NSError *error) {
618599
XCTAssertNil(error);
619-
// get bucket replication
620-
QCloudGetBucketReplicationRequest *request = [[QCloudGetBucketReplicationRequest alloc] init];
600+
XCTAssertNotNil(result);
601+
602+
// delete bucket replication
603+
QCloudDeleteBucketReplicationRequest *request = [[QCloudDeleteBucketReplicationRequest alloc] init];
621604
request.bucket = sourceBucket;
622-
[request setFinishBlock:^(QCloudBucketReplicationConfiguation *result, NSError *error) {
605+
[request setFinishBlock:^(id outputObject, NSError *error) {
623606
XCTAssertNil(error);
624-
XCTAssertNotNil(result);
625-
626-
// delete bucket replication
627-
QCloudDeleteBucketReplicationRequest *request = [[QCloudDeleteBucketReplicationRequest alloc] init];
628-
request.bucket = sourceBucket;
629-
[request setFinishBlock:^(id outputObject, NSError *error) {
630-
XCTAssertNil(error);
631-
[expectation fulfill];
632-
}];
633-
[[QCloudCOSXMLService defaultCOSXML] DeleteBucketReplication:request];
634-
// delete bucket replication end
607+
[putReplicationExpectation fulfill];
635608
}];
636-
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
637-
dispatch_semaphore_wait(semaphore, 5 * NSEC_PER_SEC);
638-
[[QCloudCOSXMLService defaultCOSXML] GetBucketReplication:request];
639-
640-
// get bucket replication end
609+
[[QCloudCOSXMLService defaultCOSXML] DeleteBucketReplication:request];
610+
// delete bucket replication end
641611
}];
642-
[[QCloudCOSXMLService defaultCOSXML] PutBucketRelication:request];
643-
// put bucket replication end
612+
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
613+
dispatch_semaphore_wait(semaphore, 5 * NSEC_PER_SEC);
614+
[[QCloudCOSXMLService defaultCOSXML] GetBucketReplication:request];
615+
616+
// get bucket replication end
644617
}];
645-
[[QCloudCOSXMLService defaultCOSXML] PutBucketVersioning:request];
618+
619+
// put bucket replication end
620+
[[QCloudCOSXMLService defaultCOSXML] PutBucketRelication:request];
646621
[self waitForExpectationsWithTimeout:80 handler:nil];
647-
648-
//
649-
// QCloudPutBucketVersioningRequest* suspendRequest = [[QCloudPutBucketVersioningRequest alloc] init];
650-
// suspendRequest.bucket = self.bucket;
651-
// QCloudBucketVersioningConfiguration* suspendConfiguration = [[QCloudBucketVersioningConfiguration alloc] init];
652-
// request.configuration = suspendConfiguration;
653-
// suspendConfiguration.status = QCloudCOSBucketVersioningStatusSuspended;
654-
// [[QCloudCOSXMLService defaultCOSXML] PutBucketVersioning:request];
655622
}
656623
//
657624
//- (void)testNewPut_Get_DeleteBucketReplication {

0 commit comments

Comments
 (0)