OSSSwiftDemo/OSSSwiftDemoTests/OSSCheckCRC64Tests.swift (77 lines of code) (raw):

// // OSSCheckCRC64Tests.swift // OSSSwiftDemoTests // // Created by huaixu on 2018/1/12. // Copyright © 2018年 aliyun. All rights reserved. // import XCTest import AliyunOSSiOS import AliyunOSSSwiftSDK class OSSCheckCRC64Tests: OSSSwiftDemoTests { override func setUp() { super.setUp() // Put setup code here. This method is called before the invocation of each test method in the class. } override func tearDown() { // Put teardown code here. This method is called after the invocation of each test method in the class. super.tearDown() } override func setupClient() { let configuration = OSSClientConfiguration() configuration.crc64Verifiable = OSS_CRC64_ENABLE; let provider = OSSAuthCredentialProvider.init(authServerUrl: OSS_STSTOKEN_URL) client = OSSClient.init(endpoint: OSS_ENDPOINT, credentialProvider: provider, clientConfiguration: configuration) } func testAPI_putObject() -> Void { let request = OSSPutObjectRequest() let fileName = "swift" let fileExtension = "pdf" request.bucketName = OSS_BUCKET_PRIVATE request.uploadingFileURL = Bundle.main.url(forResource: fileName, withExtension: fileExtension)! request.objectKey = fileName + "2." + fileExtension request.objectMeta = ["x-oss-meta-name1": "value1"]; request.contentType = "application/pdf" request.uploadProgress = {(bytesSent, totalByteSent, totalBytesExpectedToSend) ->Void in print("bytesSent: \(bytesSent),totalByteSent: \(totalByteSent),totalBytesExpectedToSend: \(totalBytesExpectedToSend)") } let task = client.putObject(request) task.continue({ (t) -> Any? in XCTAssertNil(t.error) return nil }).waitUntilFinished() } func testAPI_appendObject() -> Void { var request = OSSAppendObjectRequest() request.bucketName = OSS_BUCKET_PRIVATE request.objectKey = OSS_APPEND_OBJECT_KEY request.uploadingFileURL = Bundle.main.url(forResource: "swift", withExtension: "pdf")! var result: OSSAppendObjectResult? = nil var task = client.appendObject(request) task.continue({ (t) -> Any? in XCTAssertNil(t.error) result = t.result as? OSSAppendObjectResult return nil }).waitUntilFinished() request = OSSAppendObjectRequest() request.bucketName = OSS_BUCKET_PRIVATE request.objectKey = OSS_APPEND_OBJECT_KEY request.appendPosition = (result?.xOssNextAppendPosition)! request.uploadingFileURL = Bundle.main.url(forResource: "swift", withExtension: "pdf")! task = client.appendObject(request, withCrc64ecma: result?.remoteCRC64ecma) task.waitUntilFinished() XCTAssertNil(task.error) } func testAPI_resumableUpload() { var result: OSSResumableUploadResult? = nil let fileURL = Bundle.main.url(forResource: "wangwang", withExtension: "zip") let request = OSSResumableUploadRequest() request.uploadingFileURL = fileURL! request.partSize = 307200 request.bucketName = OSS_BUCKET_PUBLIC request.objectKey = OSS_RESUMABLE_UPLOADKEY request.uploadProgress = {(bytesSent, totalByteSent, totalBytesExpectedToSend) ->Void in print("bytesSent: \(bytesSent),totalByteSent: \(totalByteSent),totalBytesExpectedToSend: \(totalBytesExpectedToSend)") } let task = client.resumableUpload(request) task.continue({ (t) -> Any? in result = t.result as? OSSResumableUploadResult print("===remoteCRC64ecma=== \(result?.httpResponseHeaderFields["x-oss-hash-crc64ecma"])") XCTAssertNil(t.error) return nil }).waitUntilFinished() } }