redis-smq-rest-api
Version:
REST API for RedisSMQ: OpenAPI 3 schema and Swagger UI for managing queues, messages, and consumers.
24 lines • 1.19 kB
JavaScript
import bluebird from 'bluebird';
import { Consumer } from 'redis-smq';
import supertest from 'supertest';
import { describe, expect, it } from 'vitest';
import { config } from '../../../tests/common/config.js';
import { createQueue } from '../../../tests/common/create-queue.js';
describe('getQueueConsumersController', () => {
it('HTTP 200 OK', async () => {
const { queue } = await createQueue('my-queue');
const consumer = bluebird.promisifyAll(new Consumer());
await consumer.consumeAsync(queue, (msg, cb) => {
cb();
});
await consumer.runAsync();
const request = supertest(`http://127.0.0.1:${config.apiServer?.port}`);
const response1 = await request.get(`/api/v1/namespaces/${queue.ns}/queues/${queue.name}/consumers`);
expect(response1.status).toEqual(200);
const data = response1.body?.data || {};
expect(Object.keys(data)).toEqual([consumer.getId()]);
expect(Object.keys(data[consumer.getId()]).sort()).toEqual(['pid', 'ipAddress', 'hostname', 'createdAt'].sort());
await consumer.shutdownAsync();
});
});
//# sourceMappingURL=getQueueConsumersController.test.js.map