hemera-redis-store
Version:
216 lines (198 loc) • 5 kB
JavaScript
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()
})