AliyunOSSiOSTests/OSSBucketTests.m (128 lines of code) (raw):

// // OSSBucketTests.m // AliyunOSSiOSTests // // Created by 怀叙 on 2017/12/11. // Copyright © 2017年 阿里云. All rights reserved. // #import <XCTest/XCTest.h> #import "OSSTestMacros.h" #import <AliyunOSSiOS/AliyunOSSiOS.h> #import "OSSTestUtils.h" @interface OSSBucketTests : XCTestCase { OSSClient *_client; } @end @implementation OSSBucketTests - (void)setUp { [super setUp]; // Put setup code here. This method is called before the invocation of each test method in the class. [self initOSSClient]; } - (void)tearDown { // Put teardown code here. This method is called after the invocation of each test method in the class. [super tearDown]; } - (void)initOSSClient { OSSClientConfiguration *config = [OSSClientConfiguration new]; OSSAuthCredentialProvider *authProv = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:OSS_STSTOKEN_URL]; _client = [[OSSClient alloc] initWithEndpoint:OSS_ENDPOINT credentialProvider:authProv clientConfiguration:config]; } - (void)testAPI_creatBucket { NSString *bucket = [OSSTestUtils getBucketName]; OSSCreateBucketRequest *req = [OSSCreateBucketRequest new]; req.bucketName = bucket; req.xOssACL = @"public-read"; OSSTask *task = [_client createBucket:req]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); OSSDDLogVerbose(@"%@",task.result); return nil; }] waitUntilFinished]; [OSSTestUtils cleanBucket:bucket with:_client]; } - (void)testAPI_getBucketInfo { NSString *bucketName = [OSSTestUtils getBucketName]; OSSCreateBucketRequest *req = [OSSCreateBucketRequest new]; req.bucketName = bucketName; [[_client createBucket:req] waitUntilFinished]; OSSGetBucketInfoRequest * request = [OSSGetBucketInfoRequest new]; request.bucketName = bucketName; OSSTask * task = [_client getBucketInfo:request]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); XCTAssertNotNil(task.result); return nil; }] waitUntilFinished]; [OSSTestUtils cleanBucket:bucketName with:_client]; } - (void)testAPI_getBucketACL { NSString *bucketName = [OSSTestUtils getBucketName]; OSSCreateBucketRequest *req = [OSSCreateBucketRequest new]; req.bucketName = bucketName; [[_client createBucket:req] waitUntilFinished]; OSSGetBucketACLRequest * request = [OSSGetBucketACLRequest new]; request.bucketName = bucketName; OSSTask * task = [_client getBucketACL:request]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); OSSGetBucketACLResult * result = task.result; XCTAssertEqualObjects(@"private", result.aclGranted); return nil; }] waitUntilFinished]; [OSSTestUtils cleanBucket:bucketName with:_client]; } - (void)testAPI_getService { OSSGetServiceRequest *request = [OSSGetServiceRequest new]; OSSTask * task = [_client getService:request]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); return nil; }] waitUntilFinished]; OSSGetServiceResult *result = nil; do { request = [OSSGetServiceRequest new]; request.maxKeys = 2; request.marker = result.nextMarker; task = [_client getService:request]; [task waitUntilFinished]; result = task.result; } while (result.isTruncated); } - (void)testAPI_deleteBucket { NSString *bucket = [OSSTestUtils getBucketName]; OSSCreateBucketRequest *req = [OSSCreateBucketRequest new]; req.bucketName = bucket; req.xOssACL = @"public-read"; OSSTask *task = [_client createBucket:req]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); OSSDDLogVerbose(@"%@",task.result); return nil; }] waitUntilFinished]; OSSDeleteBucketRequest *request = [OSSDeleteBucketRequest new]; request.bucketName = bucket; task = [_client deleteBucket:request]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); return nil; }] waitUntilFinished]; } - (void)testListMultipartUploads { NSString *bucket = [OSSTestUtils getBucketName]; OSSCreateBucketRequest *req = [OSSCreateBucketRequest new]; req.bucketName = bucket; [[_client createBucket:req] waitUntilFinished]; OSSListMultipartUploadsRequest *listreq = [OSSListMultipartUploadsRequest new]; listreq.bucketName = bucket; listreq.maxUploads = 1000; OSSTask *task = [_client listMultipartUploads:listreq]; [[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); OSSListMultipartUploadsResult * result = task.result; XCTAssertTrue(result.maxUploads == 1000); return nil; }] waitUntilFinished]; [OSSTestUtils cleanBucket:bucket with:_client]; } @end