UNPKG

redis-smq-rest-api

Version:

REST API for RedisSMQ: OpenAPI 3 schema and Swagger UI for managing queues, messages, and consumers.

52 lines 3.83 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const redis_smq_1 = require("redis-smq"); const supertest_1 = __importDefault(require("supertest")); const vitest_1 = require("vitest"); const config_js_1 = require("../../../tests/common/config.js"); const create_queue_js_1 = require("../../../tests/common/create-queue.js"); const publish_message_js_1 = require("../../../tests/common/publish-message.js"); const save_consumer_group_js_1 = require("../../../tests/common/save-consumer-group.js"); (0, vitest_1.describe)('getConsumerGroupPendingMessagesController', () => { (0, vitest_1.it)('HTTP 200 OK', () => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d, _e, _f, _g, _h, _j; const { queue } = yield (0, create_queue_js_1.createQueue)('my-queue', redis_smq_1.EQueueType.LIFO_QUEUE, redis_smq_1.EQueueDeliveryModel.PUB_SUB); const consumerGroup1 = yield (0, save_consumer_group_js_1.saveConsumerGroup)(queue, 'my-group1'); const consumerGroup2 = yield (0, save_consumer_group_js_1.saveConsumerGroup)(queue, 'my-group2'); const batch1 = yield (0, publish_message_js_1.publishMessage)(queue); (0, vitest_1.expect)(batch1.length).toEqual(2); const batch2 = yield (0, publish_message_js_1.publishMessage)(queue); (0, vitest_1.expect)(batch2.length).toEqual(2); const request = (0, supertest_1.default)(`http://127.0.0.1:${(_a = config_js_1.config.apiServer) === null || _a === void 0 ? void 0 : _a.port}`); const queryParams = { pageSize: 10, page: 1, }; const response1 = yield request .get(`/api/v1/namespaces/${queue.ns}/queues/${queue.name}/consumer-groups/${consumerGroup1}/messages`) .query(queryParams); (0, vitest_1.expect)(response1.status).toEqual(200); (0, vitest_1.expect)((_c = (_b = response1.body) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.totalItems).toEqual(2); const msg = (_e = (_d = response1.body) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.items; const response2 = yield request .get(`/api/v1/namespaces/${queue.ns}/queues/${queue.name}/consumer-groups/${consumerGroup2}/messages`) .query(queryParams); (0, vitest_1.expect)(response2.status).toEqual(200); (0, vitest_1.expect)((_g = (_f = response2.body) === null || _f === void 0 ? void 0 : _f.data) === null || _g === void 0 ? void 0 : _g.totalItems).toEqual(2); msg === null || msg === void 0 ? void 0 : msg.push(...(((_j = (_h = response2.body) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.items) || [])); (0, vitest_1.expect)(msg === null || msg === void 0 ? void 0 : msg.map((i) => i.id).sort()).toEqual([...batch1, ...batch2].sort()); })); }); //# sourceMappingURL=getConsumerGroupPendingMessagesController.test.js.map