UNPKG

hemera-redis-store

Version:
205 lines (192 loc) 4.45 kB
const tap = require("tap") const Hemera = require('nats-hemera') const Nats = require("hemera-testsuite/nats") const nats = new Nats() const hemera = new Hemera(nats) hemera.register(require("./init")) hemera.ready(() => { hemera.act({ topic: 'redis-store', cmd: 'del', key: 'string', }) tap.test('这是一个关于Redis string类型的(set)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'set', key: 'string', value: 1000 }).then(resp => { t.equal('OK', resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(get)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'get', key: 'string' }).then(resp => { t.equal('1000', resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(incr,decr,incrby,decrby)测试', (t) => { t.plan(5); hemera.act({ topic: 'redis-store', cmd: 'andsub', method: 'incr', key: 'string' }).then(resp => { t.equal(1001, resp.data) }, err => { t.error(err) }) hemera.act({ topic: 'redis-store', cmd: 'andsub', method: 'decr', key: 'string' }).then(resp => { t.equal(1000, resp.data) }, err => { t.error(err) }) hemera.act({ topic: 'redis-store', cmd: 'andsub', method: 'incrby', key: 'string', number: 888 }).then(resp => { t.equal(1888, resp.data) }, err => { t.error(err) }) hemera.act({ topic: 'redis-store', cmd: 'andsub', method: 'decrby', key: 'string', number: 1000 }).then(resp => { t.equal(888, resp.data) }, err => { t.error(err) }) hemera.act({ topic: 'redis-store', cmd: 'incrbyfloat', key: 'string', number: 112.5 }).then(resp => { t.equal('1000.5', resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(append)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'append', key: 'string', value: 1000 }).then(resp => { hemera.act({ topic: 'redis-store', cmd: 'get', key: 'string' }).then(resp => { t.equal('1000.51000', resp.data) }, err => { t.error(err) }) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(getrange)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'getrange', key: 'string', start: 5, end: 9 }).then(resp => { t.equal('51000', resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(setrange)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'setrange', key: 'string', offset: 5, value: '9999' }).then(resp => { hemera.act({ topic: 'redis-store', cmd: 'get', key: 'string' }).then(resp => { t.equal('1000.99990', resp.data) }, err => { t.error(err) }) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(del)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'del', key: 'string', }).then(resp => { t.equal(1, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis string类型的(setex)测试', (t) => { t.plan(2); hemera.act({ topic: 'redis-store', cmd: 'setex', key: 'hello1', value: 1000, mode: 'EX', delaytime: 2 }).then(resp => { t.equal('OK', resp.data) }, err => { t.error(err) }) setTimeout(()=>{ hemera.act({ topic: 'redis-store', cmd: 'get', key: 'hello1' }).then(resp => { t.equal(null, resp.data) }, err => { t.error(err) }) },3000) }) }) tap.tearDown(() => { console.log("tap.tearDown") hemera.close() })