UNPKG

ks3

Version:

本代码库为`金山云存储KS3`服务.主要提供`KS3 nodejs SDK`和`命令行工具`.

110 lines (94 loc) 4.29 kB
var util = require('../lib/util'); var should = require('should'); describe('util verifyAcl()', function() { it('should return acl name or false', function() { util.verifyAcl('private').should.equal('private'); util.verifyAcl('public-read').should.equal('public-read'); util.verifyAcl('public-read-write').should.equal('public-read-write'); util.verifyAcl('authenticated-read').should.equal('authenticated-read'); util.verifyAcl('bucket-owner-read').should.equal('bucket-owner-read'); util.verifyAcl('bucket-owner-full-control').should.equal('bucket-owner-full-control'); (util.verifyAcl('testacl') === null).should.be.ok; }); it('should return a lowercase acl', function() { util.verifyAcl('Private').should.equal('private'); util.verifyAcl('public-READ').should.equal('public-read'); util.verifyAcl('public-read-Write').should.equal('public-read-write'); util.verifyAcl('authenticated-READ').should.equal('authenticated-read'); util.verifyAcl('bucket-OWNER-read').should.equal('bucket-owner-read'); util.verifyAcl('bucket-owner-FULL-control').should.equal('bucket-owner-full-control'); }); }); describe('util verifyBucket()', function() { it('should be between 3 to 63 character', function() { (util.verifyBucket('test001') === true).should.be.ok; (util.verifyBucket('te') === false).should.be.ok; (util.verifyBucket('testbuckettestbuckettestbuckettestbuckettestbuckettestbuckettest') === false).should.be.ok; }); it('should be start with number or letter', function() { (util.verifyBucket('test001') === true).should.be.ok; (util.verifyBucket('8test001') === true).should.be.ok; (util.verifyBucket('-test001') === false).should.be.ok; }); it('should be end with number or letter', function() { (util.verifyBucket('test001') === true).should.be.ok; (util.verifyBucket('100test') === true).should.be.ok; (util.verifyBucket('test001-') === false).should.be.ok; }); it('should be lowercase', function() { (util.verifyBucket('test') === true).should.be.ok; (util.verifyBucket('teSt') === false).should.be.ok; }); it('only contain specail character("." or "-")', function() { (util.verifyBucket('test-sdk') === true).should.be.ok; (util.verifyBucket('test.sdk') === true).should.be.ok; (util.verifyBucket('test_sdk') === false).should.be.ok; (util.verifyBucket('test+sdk') === false).should.be.ok; }); }); describe('util encodeKey()', function() { it('should be return true, compare after encode result', function() { (util.encodeKey('abc/中/') === 'abc/%E4%B8%AD/').should.be.ok; }) }) describe('encodePresignedUrlKey', function () { it ('should be return true', function () { (util.encodePresignedUrlKey('#####()!~\'.png') === '%23%23%23%23%23%28%29%21~%27.png').should.be.ok }) }) describe('getSliceChunks', function () { const fileSize = 600 * 1024 *1024 // 600M const chunkSize = 1 * 1024 // 1kb const maxNum = 100 it ('should be throw error', function () { (function () { util.getSliceChunks(fileSize, chunkSize, maxNum) }).should.throw(); }) it ('should be ok', function () { (function () { util.getSliceChunks(fileSize, chunkSize, maxNum) }).should.be.ok; }) it ('should be auto update chunksize', function () { const res = util.getSliceChunks(fileSize, 5 * 1024 * 1024, maxNum) res.should.have.length(75); }) }) describe('lowerFirst', function () { const obj = { Message: 'success', CodeStatus: 400 } it ('return null should be ok', function () { (util.lowerFirst(null) == null).should.be.ok; }) it ('return lower first word should be ok', function () { (JSON.stringify(util.lowerFirst(obj)) == JSON.stringify({ message: 'success', codeStatus: 400 })).should.be.ok; }) it ('return lower first word Array should be ok', function () { (JSON.stringify(util.lowerFirst([obj]) == JSON.stringify([{ message: 'success', codeStatus: 400 }]))).should.be.ok; }) })