UNPKG

judoscale-bull

Version:

Bull adapter for the Judoscale autoscaler

38 lines (28 loc) 1.04 kB
const Queue = require('bull') const BullMetricsCollector = require('../src/bull-metrics-collector') describe('BullMetricsCollector', () => { let collector, queue beforeEach(async () => { collector = new BullMetricsCollector() // Clear all Bull information in Redis const keys = await collector.redis.keys('bull:*') if (keys.length) await collector.redis.del(keys) }) afterEach(async () => { if (collector) await collector.tearDown() if (queue) await queue.close() }) test('collects queue metrics', async () => { queue = new Queue('foo') await queue.add('test-job') await queue.add('prioritized-job', {}, { priority: 1 }) const metrics = await collector.collect() expect(metrics.length).toEqual(2) expect(metrics[0].identifier).toEqual('qd') expect(metrics[0].queueName).toEqual('foo') expect(metrics[0].value).toEqual(2) expect(metrics[1].identifier).toEqual('busy') expect(metrics[1].queueName).toEqual('foo') expect(metrics[1].value).toEqual(0) }) })