UNPKG

@yhiot/logger

Version:

物联网日志队列读写系统,后端目前支持redis

70 lines (63 loc) 1.54 kB
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); }); });