ks3
Version:
本代码库为`金山云存储KS3`服务.主要提供`KS3 nodejs SDK`和`命令行工具`.
102 lines (86 loc) • 2.1 kB
JavaScript
var KS3 = require('..');
var should = require('should');
require('should-http');
var path = require('path');
var fs = require('fs');
var { ak, sk, bucketName, endpoint} = require('./config')
describe('download module', function() {
var client = null
var key = 'word.txt' // 6813
var filePath = path.join(__dirname, './assets/'+key);
var downFilePath = path.join(__dirname, './assets/test_download_'+key);
client = new KS3({
ak, sk, bucketName, endpoint
});
before(function () {
console.log('start before func ...')
return new Promise((resolve, reject) => {
// upload a file
client.object.put({
filePath: filePath,
Key: key
},
function(err, data, res, body) {
if (err) {
console.log('download module before error: ', err)
reject(err)
} else {
resolve('')
console.log('upload test file success')
}
});
})
})
describe('download', function () {
this.timeout(17500)
var upFileStat = fs.statSync(filePath);
let error = ''
before (function () {
return new Promise((resolve, reject) => {
client.download.start({
Bucket: bucketName,
Key: key,
filePath: downFilePath,
chunk:31
},
function(err, data) {
if (err) {
error = err
reject(err)
}
resolve()
});
})
})
it('should download a file', function(done) {
var downFileStat = fs.statSync(downFilePath);
(downFileStat.size).should.equal(upFileStat.size);
should.equal(error, '');
done()
});
it('should download a no exist file', function(done) {
var key = 'file_no_exist.jpg';
client.download.start({
Key: key,
filePath: path.join(__dirname, './assets/test_download_'+key)
},function(err,data,res){
should.exist(err);
err.should.have.property('statusCode', 404);
done()
});
})
})
after(function (done) {
// delete local file
fs.existsSync(downFilePath) && fs.unlinkSync(downFilePath)
client.object.del({
Key: key
}, function (err, data, res) {
if (err) {
done(err)
}
should.not.exist(err)
done()
})
})
});