UNPKG

@webda/core

Version:

Expose API with Lambda

53 lines 1.89 kB
import * as assert from "assert"; import { WebdaTest } from "../test.js"; class QueueItemTest { constructor(type) { this.type = type; } getDouble() { return this.type * 2; } } class QueueTest extends WebdaTest { async simple(queue, inconsistentSize = false, ackDelayMs = 1000) { var msg; this.log("DEBUG", "Send test message 1"); await queue.sendMessage(new QueueItemTest(1)); let size = await queue.size(); if (!inconsistentSize) { assert.strictEqual(size, 1); } this.log("DEBUG", "Send test message 2"); await queue.sendMessage(new QueueItemTest(2)); // Pause for 1s - to verify the repopulation await this.sleep(ackDelayMs); size = await queue.size(); if (!inconsistentSize) { assert.strictEqual(size, 2); } this.log("DEBUG", "Receive a message"); msg = await queue.receiveMessage(); assert.strictEqual(msg[0].Message.getDouble, undefined); size = await queue.size(); if (!inconsistentSize) { assert.strictEqual(size, 2); } this.log("DEBUG", "Delete message"); await queue.deleteMessage(msg[0].ReceiptHandle); // Pause for 1s - to verify the repopulation await this.sleep(ackDelayMs); this.log("DEBUG", "Receive a message with prototype"); msg = await queue.receiveMessage(QueueItemTest); assert.notStrictEqual(msg[0].Message.getDouble, undefined); if (!inconsistentSize) { assert.strictEqual(msg.length, 1); } this.log("DEBUG", "Delete message"); await queue.deleteMessage(msg[0].ReceiptHandle); if (!inconsistentSize) { assert.strictEqual(await queue.size(), 0); } } } export { QueueTest }; //# sourceMappingURL=queue.spec.js.map