AliyunOSSiOSTests/AliyunOSSTests.m (70 lines of code) (raw):
//
// AliyunOSSTests.m
// AliyunOSSiOSTests
//
// Created by huaixu on 2018/1/18.
// Copyright © 2018年 aliyun. All rights reserved.
//
#import "AliyunOSSTests.h"
@implementation AliyunOSSTests
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
[self setupContainer];
[self setupClient];
[self setupTestFiles];
[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)setupClient {
// OSSAuthCredentialProvider *provider = [OSSAuthCredentialProvider new];
OSSPlainTextAKSKPairCredentialProvider *provider = [[OSSPlainTextAKSKPairCredentialProvider alloc] initWithPlainTextAccessKey:OSS_ACCESSKEY_ID secretKey:OSS_SECRETKEY_ID];
OSSClientConfiguration * conf = [OSSClientConfiguration new];
conf.maxRetryCount = 2;
conf.timeoutIntervalForRequest = 30;
conf.timeoutIntervalForResource = 24 * 60 * 60;
conf.maxConcurrentRequestCount = 5;
// switches to another credential provider.
_client = [[OSSClient alloc] initWithEndpoint:OSS_ENDPOINT
credentialProvider:provider
clientConfiguration:conf];
}
- (void)setupContainer{
_fileNames = @[@"file1k", @"file10k", @"file100k", @"file1m", @"file5m", @"file10m", @"fileDirA/", @"fileDirB/"];
_fileSizes = @[@1024, @10240, @102400, @(1024 * 1024 * 1), @(1024 * 1024 * 5), @(1024 * 1024 * 10), @1024, @1024];
}
- (void)setupTestFiles {
NSFileManager * fm = [NSFileManager defaultManager];
NSString * mainDir = [NSString oss_documentDirectory];
for (int i = 0; i < [_fileNames count]; i++) {
NSMutableData * basePart = [NSMutableData dataWithCapacity:1024];
for (int j = 0; j < 1024/4; j++) {
u_int32_t randomBit = j;// arc4random();
[basePart appendBytes:(void*)&randomBit length:4];
}
NSString * name = [_fileNames objectAtIndex:i];
long size = [[_fileSizes objectAtIndex:i] longValue];
NSString * newFilePath = [mainDir stringByAppendingPathComponent:name];
if ([fm fileExistsAtPath:newFilePath]) {
[fm removeItemAtPath:newFilePath error:nil];
}
[fm createFileAtPath:newFilePath contents:nil attributes:nil];
NSFileHandle * f = [NSFileHandle fileHandleForWritingAtPath:newFilePath];
for (int k = 0; k < size/1024; k++) {
[f writeData:basePart];
}
[f closeFile];
}
OSSLogDebug(@"main bundle: %@", mainDir);
}
- (void)createBucket {
OSSCreateBucketRequest *createBucket1 = [OSSCreateBucketRequest new];
createBucket1.bucketName = OSS_BUCKET_PUBLIC;
[[_client createBucket:createBucket1] waitUntilFinished];
OSSCreateBucketRequest *createBucket2 = [OSSCreateBucketRequest new];
createBucket2.bucketName = OSS_BUCKET_PRIVATE;
createBucket2.xOssACL = @"public-read-write";
[[_client createBucket:createBucket2] waitUntilFinished];
}
- (void)deleteBucket {
OSSDeleteBucketRequest *deleteBucket1 = [OSSDeleteBucketRequest new];
deleteBucket1.bucketName = OSS_BUCKET_PUBLIC;
[[_client deleteBucket:deleteBucket1] waitUntilFinished];
OSSDeleteBucketRequest *deleteBucket2 = [OSSDeleteBucketRequest new];
deleteBucket2.bucketName = OSS_BUCKET_PRIVATE;
[[_client deleteBucket:deleteBucket2] waitUntilFinished];
}
@end