mirror of
https://github.com/thinkjs/thinkjs.git
synced 2026-01-25 14:42:47 +00:00
88 lines
2.3 KiB
JavaScript
88 lines
2.3 KiB
JavaScript
var should = require('should');
|
|
var assert = require('assert');
|
|
var muk = require('muk');
|
|
var path = require('path');
|
|
var net = require('net');
|
|
var fs = require('fs')
|
|
|
|
global.APP_PATH = path.normalize(__dirname + '/../../../App');
|
|
global.RESOURCE_PATH = path.normalize(__dirname + '/../../../www');
|
|
process.execArgv.push('--no-app');
|
|
require(path.normalize(__dirname + '/../../../../index.js'));
|
|
|
|
var MemcacheCache = thinkRequire('MemcacheCache');
|
|
var MemcacheSocket = thinkRequire('MemcacheSocket')
|
|
|
|
describe('before', function(){
|
|
it('before', function(){
|
|
muk(MemcacheSocket.prototype, 'get', function(name){
|
|
var data;
|
|
if (name === '__thinkjs__json') {
|
|
data = JSON.stringify({name: 'welefen'})
|
|
};
|
|
return getPromise(data);
|
|
})
|
|
muk(MemcacheSocket.prototype, 'set', function(name, value, timeout){
|
|
return getPromise({
|
|
name: name,
|
|
value: value,
|
|
timeout: timeout
|
|
});
|
|
})
|
|
muk(MemcacheSocket.prototype, 'delete', function(name){
|
|
return getPromise({
|
|
name: name
|
|
});
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('MemcacheCache', function(){
|
|
it('init', function(){
|
|
var instance = MemcacheCache();
|
|
var namePrefix = instance.namePrefix;
|
|
assert.equal(namePrefix, C('cache_key_prefix'));
|
|
})
|
|
it('init, same instance', function(){
|
|
var instance = MemcacheCache();
|
|
var instance2 = MemcacheCache();
|
|
assert.equal(instance.handle, instance2.handle);
|
|
})
|
|
it('get', function(done){
|
|
var instance = MemcacheCache();
|
|
instance.get('name').then(function(data){
|
|
assert.equal(data, undefined)
|
|
done();
|
|
})
|
|
})
|
|
it('get json', function(done){
|
|
var instance = MemcacheCache();
|
|
instance.get('json').then(function(data){
|
|
assert.deepEqual(data, {name: 'welefen'})
|
|
done();
|
|
})
|
|
})
|
|
it('set', function(done){
|
|
var instance = MemcacheCache();
|
|
instance.set('json', 'welefen').then(function(data){
|
|
//console.log(data)
|
|
assert.deepEqual(data, { name: '__thinkjs__json', value: '"welefen"', timeout: 21600 })
|
|
done();
|
|
})
|
|
})
|
|
it('rm', function(done){
|
|
var instance = MemcacheCache();
|
|
instance.rm('json', 'welefen').then(function(data){
|
|
//console.log(data)
|
|
assert.deepEqual(data, { name: '__thinkjs__json'})
|
|
done();
|
|
})
|
|
})
|
|
})
|
|
|
|
|
|
describe('after', function(){
|
|
it('after', function(){
|
|
muk.restore();
|
|
})
|
|
}) |