def multipartObjectUpload(): result = 0 dssSanityLib.whisper("Making bucket and listing...") userObj = dssSanityLib.getConnection() bucketpref = dssSanityLib.getsNewBucketName() b = userObj.create_bucket(bucketpref) b.set_acl('public-read-write') dssSanityLib.listBucket(userObj, "User") source_path = dssSanityLib.MULTIPART_LARGE_FILE source_size = os.stat(source_path).st_size chunk_size = 5242880 ## 5 mb #chunk_size = 1048576 ## 1 mb chunk_count = int(math.ceil(source_size / float(chunk_size))) b1 = userObj.get_bucket(bucketpref) dssSanityLib.whisper("Got bucket: " + str(b1)) try: mp = b1.initiate_multipart_upload(os.path.basename(source_path)) for i in range(chunk_count): dssSanityLib.whisper("Uploading chunk: " + str(i)) offset = chunk_size * i bytes = min(chunk_size, source_size - offset) with FileChunkIO(source_path, 'r', offset=offset, bytes=bytes) as fp: mp.upload_part_from_file(fp, part_num=i + 1) mp.complete_upload() except: print "Unexpected error during multipart upload: ", sys.exc_info() result = -1 dssSanityLib.cleanupUser(userObj, bucketpref) return result
def listBucket(targ): if (dssSanityLib.CLI_USER): userObj = dssSanityLib.getConnection(int(dssSanityLib.CLI_USER)) else: userObj = dssSanityLib.getConnection() if (not targ): dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") else: print "Listing bucket " + str(targ) b = userObj.get_bucket(targ) for k in b.list(): print str(k) return
def listBucket(targ): if (dssSanityLib.CLI_USER): userObj = dssSanityLib.getConnection(int(dssSanityLib.CLI_USER)) else: userObj = dssSanityLib.getConnection() if (not targ): dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") else: print "Listing bucket " + str(targ) b = userObj.get_bucket(targ) for k in b.list(): print str(k) return
def dnsNamesTest(): userObj = dssSanityLib.getConnection() result = 0 longHundredChars = 'a123456789a123456789a123456789a123456789a123456789a123456789a123456789a123456789a123456789a123456789' longFiftyChars = 'a123456789a123456789a123456789a123456789a123456789' longTFTchars = longHundredChars + longHundredChars + longFiftyChars + 'qwe' try: userObj.create_bucket(longTFTchars) userObj.delete_bucket(longTFTchars) print "Able to create bucket with 253 chars in name" except: print "Failed to create or delete a valid bucket name" print "Unexpected error: ", sys.exc_info() return -1 try: badName = longTFTchars + 'abc' userObj.create_bucket(badName) print "Unexpectedly created bucket with illegally long name" dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") userObj.delete_bucket(badName) result = -1 except: print "Expected failure in creating 256 char bucket name" print "Expected error: ", sys.exc_info() try: badName = 'Abc' userObj.create_bucket(badName) print "Unexpectedly created bucket with capital letter name" dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") userObj.delete_bucket(badName) result = -1 except: print "Expected failure in creating bucket name with CAPS" print "Expected error: ", sys.exc_info() try: badName = 'bc/' userObj.create_bucket(badName) print "Unexpectedly created bucket with slash in name" dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") userObj.delete_bucket(badName) result = -1 except: print "Expected failure in creating bucket name with slash" print "Expected error: ", sys.exc_info() return result
def dnsNamesTest(): userObj = dssSanityLib.getConnection() result = 0 longHundredChars = 'a123456789a123456789a123456789a123456789a123456789a123456789a123456789a123456789a123456789a123456789' longFiftyChars = 'a123456789a123456789a123456789a123456789a123456789' longTFTchars = longHundredChars + longHundredChars + longFiftyChars + 'qwe' try: userObj.create_bucket(longTFTchars) userObj.delete_bucket(longTFTchars) print "Able to create bucket with 253 chars in name" except: print "Failed to create or delete a valid bucket name" print "Unexpected error: ", sys.exc_info() return -1 try: badName = longTFTchars + 'abc' userObj.create_bucket(badName) print "Unexpectedly created bucket with illegally long name" dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") userObj.delete_bucket(badName) result = -1 except: print "Expected failure in creating 256 char bucket name" print "Expected error: ", sys.exc_info() try: badName = 'Abc' userObj.create_bucket(badName) print "Unexpectedly created bucket with capital letter name" dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") userObj.delete_bucket(badName) result = -1 except: print "Expected failure in creating bucket name with CAPS" print "Expected error: ", sys.exc_info() try: badName = 'bc/' userObj.create_bucket(badName) print "Unexpectedly created bucket with slash in name" dssSanityLib.listBucketNum(userObj, "user") dssSanityLib.listBucket(userObj, "user") userObj.delete_bucket(badName) result = -1 except: print "Expected failure in creating bucket name with slash" print "Expected error: ", sys.exc_info() return result