hemera-redis-store
Version:
229 lines (209 loc) • 4.89 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"))
hemera.ready(() => {
hemera.act({
topic: 'redis-store',
cmd: 'del',
key: 'list',
})
tap.test('这是一个关于Redis list类型的(lpush)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lpush',
key: 'list',
value: 2000
}).then(resp => {
t.equal(1, resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lpushx)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lpushx',
key: 'list',
value: 2000
}).then(resp => {
t.equal(2, resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(rpush)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'rpush',
key: 'list',
value: 3000
}).then(resp => {
t.equal(3, resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(rpushx)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'rpushx',
key: 'list',
value: 4000
}).then(resp => {
t.equal(4, resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lset)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lset',
key: 'list',
index: 1,
value: 5000
}).then(resp => {
t.equal('OK', resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lsetx)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lsetx',
key: 'list',
index: 3,
value: 6000
}).then(resp => {
t.equal('OK', resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lrange)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lrange',
key: 'list',
start: 2,
stop: 4
}).then(resp => {
t.equal('6000', resp.data[1])
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lindex)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lindex',
key: 'list',
index: 2
}).then(resp => {
t.equal('3000', resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lpop)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lpop',
key: 'list',
}).then(resp => {
t.equal('2000', resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(rpop)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'rpop',
key: 'list',
}).then(resp => {
t.equal('6000', resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(ltrim)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'ltrim',
key: 'list',
start: 3,
stop: 4
}).then(resp => {
t.equal('OK', resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(lrem)测试', (t) => {
hemera.act({
topic: 'redis-store',
cmd: 'lpush',
key: 'list',
value: [1000, 2000, 7000, 8000, 2000, 3000]
})
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'lrem',
key: 'list',
count: 2,
value: '2000'
}).then(resp => {
t.equal(2, resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(llen)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'llen',
key: 'list',
}).then(resp => {
t.equal(4, resp.data)
}, err => {
t.error(err)
})
})
tap.test('这是一个关于Redis list类型的(linsert)测试', (t) => {
t.plan(1);
hemera.act({
topic: 'redis-store',
cmd: 'linsert',
key: 'list',
dir: 'BEFORE',
pivot: '7000',
value: 10000
}).then(resp => {
t.equal(5, resp.data)
}, err => {
t.error(err)
})
})
})
tap.tearDown(() => {
console.log("tap.tearDown")
hemera.close()
})