@yhiot/logger
Version:
物联网日志队列读写系统,后端目前支持redis
70 lines (63 loc) • 1.54 kB
JavaScript
import createRedis from '../../src/backend/redis';
const logger = createRedis('redis://localhost:6379/1');
const testCases = [
{
module: 'product',
event: 'created',
data: {
id: '1',
},
createdAt: new Date().getTime(),
},
{
module: 'device',
event: 'created',
data: {
id: '1',
},
createdAt: new Date().getTime(),
},
{
module: 'product',
event: 'created',
data: {
id: '2',
},
createdAt: new Date().getTime(),
},
];
const sleep = timeout => {
return new Promise(resolve => {
setTimeout(function () {
resolve();
}, timeout);
});
};
// describe('createRedis', () => {
// test('createRedis: redis', async () => {
// expect(typeof createRedis('redis://localhost:6379/1')).toEqual('object');
// });
// });
// describe('clear', () => {
// test('clear', async () => {
// expect(typeof (await logger.clear())).toEqual('number');
// });
// });
describe('receive callback', () => {
test('receive callback', () => {
logger
.receive((module, event, data, createdAt) =>
JSON.stringify({ module, event, data, createdAt }),
)
.then(result => expect(result).toBe(null));
Array(...Array(100)).forEach(async (_, index) => {
let tc = testCases[index % 3];
const { module, event, data, createdAt } = tc;
await logger.send(module, event, data, createdAt);
});
});
test('stop', async () => {
await sleep(3000);
expect(await logger.stop()).toEqual(true);
});
});