redis-smq-rest-api
Version:
REST API for RedisSMQ: OpenAPI 3 schema and Swagger UI for managing queues, messages, and consumers.
29 lines • 1.41 kB
JavaScript
import supertest from 'supertest';
import { describe, expect, it } from 'vitest';
import { config } from '../../../tests/common/config.js';
import { bindQueueFanout } from '../../../tests/common/bind-queue.js';
import { createFanoutExchange } from '../../../tests/common/create-exchange.js';
import { createQueue } from '../../../tests/common/create-queue.js';
describe('matchQueuesFanoutXController', () => {
it('HTTP 200 OK', async () => {
const ns = 'ns1';
const exchange = {
ns,
name: 'my-fanout',
};
await createFanoutExchange(exchange);
const { queue: q1 } = await createQueue({ ns, name: 'q1' });
const { queue: q2 } = await createQueue({ ns, name: 'q2' });
await bindQueueFanout(q1, exchange);
await bindQueueFanout(q2, exchange);
const request = supertest(`http://127.0.0.1:${config.apiServer?.port}`);
const response1 = await request.get(`/api/v1/namespaces/${exchange.ns}/exchanges/fanout/${exchange.name}/queues`);
expect(response1.status).toEqual(200);
expect(response1.body?.data?.sort((a, b) => {
return `${a.name}@${a.ns}` > `${b.name}@${b.ns}` ? 1 : -1;
})).toEqual([q1, q2].sort((a, b) => {
return `${a.name}@${a.ns}` > `${b.name}@${b.ns}` ? 1 : -1;
}));
});
});
//# sourceMappingURL=matchQueuesFanoutXController.test.js.map