AliyunOSSiOSTests/OSSHttp2Test.m (80 lines of code) (raw):

// // OSSHttp2Test.m // AliyunOSSiOSTests // // Created by 王铮 on 2018/8/3. // Copyright © 2018年 aliyun. All rights reserved. // #import <Foundation/Foundation.h> #import <XCTest/XCTest.h> #import "OSSTestMacros.h" #import <AliyunOSSiOS/AliyunOSSiOS.h> #import "OSSTestUtils.h" @interface OSSHttp2Tests : XCTestCase { OSSClient *_client; NSString *_bucketName; NSString *_http2endpoint; } @end @implementation OSSHttp2Tests - (void)setUp { [super setUp]; [OSSLog enableLog]; _bucketName = [OSSTestUtils getBucketName]; _http2endpoint = @"https://oss-cn-shanghai.aliyuncs.com"; [self setUpOSSClient]; [self createBucket]; } - (void)tearDown { // Put teardown code here. This method is called after the invocation of each test method in the class. [super tearDown]; [self deleteBucket]; } - (void)setUpOSSClient { OSSClientConfiguration *config = [OSSClientConfiguration new]; OSSAuthCredentialProvider *authProv = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:OSS_STSTOKEN_URL]; _client = [[OSSClient alloc] initWithEndpoint:_http2endpoint credentialProvider:authProv clientConfiguration:config]; } - (void)createBucket { OSSCreateBucketRequest *createBucket = [OSSCreateBucketRequest new]; createBucket.bucketName = _bucketName; [[_client createBucket:createBucket] waitUntilFinished]; } - (void)deleteBucket { [OSSTestUtils cleanBucket:_bucketName with:_client]; } #pragma mark - putObject //批量操作测试 - (void)testAPI_putObjectMultiTimes { NSMutableArray<OSSTask *> *allTasks = [NSMutableArray array]; int max = 30; for (int i = 0; i < max; i++){ NSString *objectKey = @"http2-wangwang.zip"; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"wangwang" ofType:@"zip"];; NSURL * fileURL = [NSURL fileURLWithPath:filePath]; OSSPutObjectRequest * putRequest = [OSSPutObjectRequest new]; putRequest.bucketName = _bucketName; putRequest.objectKey = objectKey; putRequest.uploadingFileURL = fileURL; OSSTask *putTask = [_client putObject:putRequest]; [allTasks addObject:putTask]; } OSSTask *complexTask = [OSSTask taskForCompletionOfAllTasks:allTasks]; [complexTask waitUntilFinished]; XCTAssertTrue(complexTask.error == nil); [allTasks removeAllObjects]; for (int i = 0; i < max; i++){ NSString *objectKey = @"http2-wangwang.zip"; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"wangwang" ofType:@"zip"];; NSURL * fileURL = [NSURL fileURLWithPath:filePath]; OSSGetObjectRequest * getRequest = [OSSGetObjectRequest new]; getRequest.bucketName = _bucketName; getRequest.objectKey = objectKey; NSString *diskFilePath = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"local_test%zd.zip", i]]; getRequest.downloadToFileURL = [NSURL fileURLWithPath:diskFilePath]; OSSTask *getTask = [_client getObject:getRequest]; [allTasks addObject:getTask]; } complexTask = [OSSTask taskForCompletionOfAllTasks:allTasks]; [complexTask waitUntilFinished]; XCTAssertTrue(complexTask.error == nil); } @end