UNPKG

hemera-redis-store

Version:
216 lines (198 loc) 5 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")) function init(){ const client = hemera.redis.client client.del('set') client.del('set1') client.del('set2') client.del('set3') client.sadd('set', 1) client.sadd('set', 5) client.sadd('set1', 1) client.sadd('set1', 2) client.sadd('set2', 1) client.sadd('set2', 3) client.sadd('set3', 4) client.sadd('set3', { name: 'name', value: 'value' }) } hemera.ready(() => { init() tap.test('这是一个关于Redis set类型的(sadd)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sadd', key: 'set', value: { name: 'name', value: 'value' } }).then(resp => { t.equal(1, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(smembers)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'smembers', key: 'set' }).then(resp => { t.equal('{"name":"name","value":"value"}', resp.data[0]) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sismember)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sismember', key: 'set', value: { name: 'name', value: 'value' } }).then(resp => { t.equal(1, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(scard)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'scard', key: 'set' }).then(resp => { t.equal(3, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(smove)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'smove', source_key: 'set', dest_key: 'new_set', item: { name: 'name', value: 'value' } }).then(resp => { t.equal(1, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sdiff)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sdiff', key: 'set', keys: ['set1', 'set2', 'set3'], }).then(resp => { t.equal('5', resp.data[0]) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sdiffstore)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sdiffstore', dest_key: 'new_key', key: 'set', keys: ['set1', 'set2', 'set3'], }).then(resp => { t.equal(2, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sinter)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sinter', key: 'set', keys: ['set1', 'set2'], }).then(resp => { t.equal('1', resp.data[0]) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sinterstore)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sinterstore', dest_key: 'new_key', key: 'set', keys: ['set1'], }).then(resp => { t.equal(1, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sunion)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sunion', key: 'set', keys: ['set1', 'set2'], }).then(resp => { t.equal('5', resp.data[3]) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(sunionstore)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'sunionstore', dest_key: 'new_key', key: 'set', keys: ['set1', 'set2', 'set3'], }).then(resp => { t.equal(2, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(srem)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'srem', key: 'new_set', value: { name: 'name', value: 'value' } }).then(resp => { t.equal(1, resp.data) }, err => { t.error(err) }) }) tap.test('这是一个关于Redis set类型的(spop)测试', (t) => { t.plan(1); hemera.act({ topic: 'redis-store', cmd: 'spop', key: 'set' }).then(resp => { t.equal('string', typeof resp.data) }, err => { t.error(err) }) }) }) tap.tearDown(() => { console.log("tap.tearDown") hemera.close() })