rabbitmq-with-retry-and-dlq 1.0.9 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -0
- package/dist/publisherMq.d.ts.map +1 -1
- package/dist/publisherMq.js +8 -6
- package/dist/publisherMq.js.map +1 -1
- package/dist/test.d.ts +19 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +446 -0
- package/dist/test.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -66,6 +66,8 @@ await publisher.publishToQueue({
|
|
|
66
66
|
|
|
67
67
|
### 3. Assert Queues (with Retry Config)
|
|
68
68
|
|
|
69
|
+
**Note:** `assertQueues()` is **idempotent** - it safely skips queues that already exist. You can call it multiple times without errors.
|
|
70
|
+
|
|
69
71
|
```typescript
|
|
70
72
|
await publisher.assertQueues('orders', {
|
|
71
73
|
durable: true, // Queue survives restart (default: true)
|
|
@@ -418,12 +420,60 @@ await publisher.deleteQueues('orders', {
|
|
|
418
420
|
### Best Practices
|
|
419
421
|
- Call `initializeRabbitMQ(url)` once in your setup/helper file
|
|
420
422
|
- Set `retryConfig` in `assertQueues()` - auto-used when publishing
|
|
423
|
+
- `assertQueues()` is idempotent - safe to call multiple times (skips existing queues)
|
|
421
424
|
- Use exponential backoff with jitter to prevent thundering herd
|
|
422
425
|
- Always set up error event handlers before consuming
|
|
423
426
|
- Use graceful shutdown in production
|
|
424
427
|
|
|
425
428
|
---
|
|
426
429
|
|
|
430
|
+
## Troubleshooting
|
|
431
|
+
|
|
432
|
+
### Error: PRECONDITION_FAILED - inequivalent arg 'x-dead-letter-exchange'
|
|
433
|
+
|
|
434
|
+
**Problem:**
|
|
435
|
+
```
|
|
436
|
+
Error: Operation failed: QueueDeclare; 406 (PRECONDITION_FAILED) with message
|
|
437
|
+
"PRECONDITION_FAILED - inequivalent arg 'x-dead-letter-exchange' for queue
|
|
438
|
+
'my_queue' in vhost '/': received 'my_exchange' but current is ''"
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**Cause:**
|
|
442
|
+
The queue already exists in RabbitMQ with different configuration arguments than what your code is trying to set.
|
|
443
|
+
|
|
444
|
+
**Solution:**
|
|
445
|
+
Delete the existing queue and let your code recreate it with the correct configuration.
|
|
446
|
+
|
|
447
|
+
**Option 1 - Using the utility script:**
|
|
448
|
+
```bash
|
|
449
|
+
npx ts-node scripts/delete-queue.ts my_queue
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
**Option 2 - Using RabbitMQ Management UI:**
|
|
453
|
+
1. Navigate to `http://localhost:15672` (default credentials: guest/guest)
|
|
454
|
+
2. Go to the "Queues" tab
|
|
455
|
+
3. Find and delete the problematic queue
|
|
456
|
+
|
|
457
|
+
**Option 3 - Using RabbitMQ CLI:**
|
|
458
|
+
```bash
|
|
459
|
+
rabbitmqadmin delete queue name=my_queue
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
**Option 4 - Using this library:**
|
|
463
|
+
```typescript
|
|
464
|
+
import { publisher } from 'rabbitmq-with-retry-and-dlq';
|
|
465
|
+
|
|
466
|
+
await publisher.deleteQueues('my_queue', {
|
|
467
|
+
includeRetry: true,
|
|
468
|
+
includeDLQ: true
|
|
469
|
+
});
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
**Prevention:**
|
|
473
|
+
Always use `publisher.assertQueues()` to create queues with the proper retry configuration before publishing or consuming.
|
|
474
|
+
|
|
475
|
+
---
|
|
476
|
+
|
|
427
477
|
## License
|
|
428
478
|
|
|
429
479
|
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisherMq.d.ts","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKL,aAAa,EACb,mBAAmB,EACnB,WAAW,EAEX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,cAAM,iBAAkB,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAE9C;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsFjC;;;;OAIG;YACW,gBAAgB;IAsB9B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,WAAW,CAAC;KACtB,GACL,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"publisherMq.d.ts","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKL,aAAa,EACb,mBAAmB,EACnB,WAAW,EAEX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,cAAM,iBAAkB,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAE9C;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsFjC;;;;OAIG;YACW,gBAAgB;IAsB9B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,WAAW,CAAC;KACtB,GACL,OAAO,CAAC,IAAI,CAAC;IA6FhB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,+DAA+D;QAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,uDAAuD;QACvD,UAAU,CAAC,EAAE,OAAO,CAAC;KACjB,GACL,OAAO,CAAC,IAAI,CAAC;IAuEhB;;OAEG;YACW,sBAAsB;IA6CpC;;OAEG;IACG,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgF5E;;OAEG;IACG,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwD/E;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU5E;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B7B;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAuC"}
|
package/dist/publisherMq.js
CHANGED
|
@@ -241,20 +241,18 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
241
241
|
queueArgs['x-dead-letter-exchange'] = dlxName;
|
|
242
242
|
queueArgs['x-dead-letter-routing-key'] = `${effectiveKey}.dlq`;
|
|
243
243
|
}
|
|
244
|
-
// Assert
|
|
244
|
+
// Assert queue (idempotent - RabbitMQ won't recreate if exists with same params)
|
|
245
245
|
await ch.assertQueue(queueName, {
|
|
246
246
|
durable,
|
|
247
247
|
exclusive,
|
|
248
248
|
autoDelete,
|
|
249
249
|
arguments: Object.keys(queueArgs).length > 0 ? queueArgs : undefined,
|
|
250
250
|
});
|
|
251
|
-
|
|
251
|
+
console.log(`✓ Queue asserted: ${queueName}`);
|
|
252
|
+
// Bind queue to exchange if exchangeName is provided (idempotent operation)
|
|
252
253
|
if (exchangeName) {
|
|
253
254
|
await ch.bindQueue(queueName, exchangeName, effectiveKey);
|
|
254
|
-
console.log(`✓ Queue
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
console.log(`✓ Queue asserted: ${queueName}`);
|
|
255
|
+
console.log(`✓ Queue bound to exchange: ${queueName} -> ${exchangeName} (${effectiveKey})`);
|
|
258
256
|
}
|
|
259
257
|
}
|
|
260
258
|
});
|
|
@@ -375,6 +373,7 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
375
373
|
// 1. Create Dead Letter Exchange (DLX)
|
|
376
374
|
await ch.assertExchange(dlxName, 'direct', { durable: true });
|
|
377
375
|
// 2. Create Dead Letter Queue (DLQ) - Final resting place for failed messages
|
|
376
|
+
// assertQueue is idempotent - won't recreate if exists with same params
|
|
378
377
|
await ch.assertQueue(dlqName, {
|
|
379
378
|
durable: true,
|
|
380
379
|
arguments: {
|
|
@@ -382,8 +381,10 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
382
381
|
}
|
|
383
382
|
});
|
|
384
383
|
await ch.bindQueue(dlqName, dlxName, `${routingKey}.dlq`);
|
|
384
|
+
console.log(`✓ DLQ asserted: ${dlqName}`);
|
|
385
385
|
// 3. Create Retry Queue (if retry is enabled)
|
|
386
386
|
if (retryConfig && retryConfig.maxRetries > 0) {
|
|
387
|
+
// assertQueue is idempotent - won't recreate if exists with same params
|
|
387
388
|
await ch.assertQueue(retryQueueName, {
|
|
388
389
|
durable: true,
|
|
389
390
|
arguments: {
|
|
@@ -392,6 +393,7 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
392
393
|
'x-dead-letter-routing-key': routingKey // Use original routing key
|
|
393
394
|
}
|
|
394
395
|
});
|
|
396
|
+
console.log(`✓ Retry queue asserted: ${retryQueueName}`);
|
|
395
397
|
console.log(`DLQ infrastructure setup complete for queue: ${queueName} (max retries: ${retryConfig.maxRetries}, exponential backoff enabled)`);
|
|
396
398
|
}
|
|
397
399
|
else {
|
package/dist/publisherMq.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisherMq.js","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publisherMq.js","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"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"}
|
package/dist/test.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Test Suite for rabbitmq-with-retry-and-dlq
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* 1. Set RABBITMQ_URL environment variable (or modify the URL in this file)
|
|
6
|
+
* 2. Run: npm test
|
|
7
|
+
*
|
|
8
|
+
* Tests:
|
|
9
|
+
* ✓ Connection with correct URL
|
|
10
|
+
* ✓ Connection with wrong URL (error handling)
|
|
11
|
+
* ✓ Connection status checks
|
|
12
|
+
* ✓ Assert queues with retry config
|
|
13
|
+
* ✓ Publish to queue
|
|
14
|
+
* ✓ Publish to exchange
|
|
15
|
+
* ✓ Consumer with retry mechanism
|
|
16
|
+
* ✓ Graceful shutdown
|
|
17
|
+
*/
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
package/dist/test.js
ADDED
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Comprehensive Test Suite for rabbitmq-with-retry-and-dlq
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* 1. Set RABBITMQ_URL environment variable (or modify the URL in this file)
|
|
7
|
+
* 2. Run: npm test
|
|
8
|
+
*
|
|
9
|
+
* Tests:
|
|
10
|
+
* ✓ Connection with correct URL
|
|
11
|
+
* ✓ Connection with wrong URL (error handling)
|
|
12
|
+
* ✓ Connection status checks
|
|
13
|
+
* ✓ Assert queues with retry config
|
|
14
|
+
* ✓ Publish to queue
|
|
15
|
+
* ✓ Publish to exchange
|
|
16
|
+
* ✓ Consumer with retry mechanism
|
|
17
|
+
* ✓ Graceful shutdown
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
const rabbitmq_with_retry_and_dlq_1 = require("rabbitmq-with-retry-and-dlq");
|
|
21
|
+
// ============================================
|
|
22
|
+
// CONFIGURATION
|
|
23
|
+
// ============================================
|
|
24
|
+
const RABBITMQ_URL = process.env.RABBITMQ_URL || 'amqp://localhost:5672';
|
|
25
|
+
const TEST_QUEUE = 'test_orders_' + Date.now();
|
|
26
|
+
const TEST_EXCHANGE = 'test_exchange_' + Date.now();
|
|
27
|
+
// Test counters
|
|
28
|
+
let testsRun = 0;
|
|
29
|
+
let testsPassed = 0;
|
|
30
|
+
let testsFailed = 0;
|
|
31
|
+
// ============================================
|
|
32
|
+
// HELPER FUNCTIONS
|
|
33
|
+
// ============================================
|
|
34
|
+
function log(message) {
|
|
35
|
+
console.log(`\n${'='.repeat(60)}`);
|
|
36
|
+
console.log(message);
|
|
37
|
+
console.log('='.repeat(60));
|
|
38
|
+
}
|
|
39
|
+
function pass(testName) {
|
|
40
|
+
testsRun++;
|
|
41
|
+
testsPassed++;
|
|
42
|
+
console.log(`✓ PASS: ${testName}`);
|
|
43
|
+
}
|
|
44
|
+
function fail(testName, error) {
|
|
45
|
+
testsRun++;
|
|
46
|
+
testsFailed++;
|
|
47
|
+
console.error(`✗ FAIL: ${testName}`);
|
|
48
|
+
console.error(` Error: ${error.message || error}`);
|
|
49
|
+
}
|
|
50
|
+
async function sleep(ms) {
|
|
51
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
52
|
+
}
|
|
53
|
+
// ============================================
|
|
54
|
+
// TEST 1: Connection with Wrong URL
|
|
55
|
+
// ============================================
|
|
56
|
+
async function testWrongURL() {
|
|
57
|
+
log('TEST 1: Connection with Wrong URL (Should Fail)');
|
|
58
|
+
try {
|
|
59
|
+
// This should timeout and throw error
|
|
60
|
+
await (0, rabbitmq_with_retry_and_dlq_1.initializeRabbitMQ)('amqp://wronghost:9999');
|
|
61
|
+
fail('Wrong URL should throw error', new Error('Connection succeeded but should have failed'));
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
// Expected to fail
|
|
65
|
+
if ((0, rabbitmq_with_retry_and_dlq_1.isPublisherConnected)() === false && (0, rabbitmq_with_retry_and_dlq_1.isConsumerConnected)() === false) {
|
|
66
|
+
pass('Wrong URL properly rejected');
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
fail('Wrong URL - connection status should be false', error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// ============================================
|
|
74
|
+
// TEST 2: Connection with Correct URL
|
|
75
|
+
// ============================================
|
|
76
|
+
async function testCorrectURL() {
|
|
77
|
+
log('TEST 2: Connection with Correct URL');
|
|
78
|
+
try {
|
|
79
|
+
console.log(`Connecting to: ${RABBITMQ_URL}`);
|
|
80
|
+
await (0, rabbitmq_with_retry_and_dlq_1.initializeRabbitMQ)(RABBITMQ_URL);
|
|
81
|
+
// Check connection status
|
|
82
|
+
const pubConnected = (0, rabbitmq_with_retry_and_dlq_1.isPublisherConnected)();
|
|
83
|
+
const conConnected = (0, rabbitmq_with_retry_and_dlq_1.isConsumerConnected)();
|
|
84
|
+
console.log(` Publisher connected: ${pubConnected}`);
|
|
85
|
+
console.log(` Consumer connected: ${conConnected}`);
|
|
86
|
+
if (pubConnected && conConnected) {
|
|
87
|
+
pass('Connection established successfully');
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
fail('Connection status check', new Error('Status should be true after connection'));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
fail('Connection with correct URL', error);
|
|
95
|
+
throw error; // Stop tests if connection fails
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// ============================================
|
|
99
|
+
// TEST 3: Assert Queues with Retry Config
|
|
100
|
+
// ============================================
|
|
101
|
+
async function testAssertQueues() {
|
|
102
|
+
log('TEST 3: Assert Queues with Retry Config');
|
|
103
|
+
try {
|
|
104
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.assertQueues(TEST_QUEUE, {
|
|
105
|
+
durable: true,
|
|
106
|
+
retryConfig: {
|
|
107
|
+
maxRetries: 3,
|
|
108
|
+
retryDelayMs: 1000,
|
|
109
|
+
backoffStrategy: 'exponential',
|
|
110
|
+
jitterMs: 500,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
console.log(` Queue asserted: ${TEST_QUEUE}`);
|
|
114
|
+
console.log(` Retry config: 3 retries, exponential backoff`);
|
|
115
|
+
pass('Assert queues with retry config');
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
fail('Assert queues', error);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// ============================================
|
|
122
|
+
// TEST 4: Assert Multiple Queues
|
|
123
|
+
// ============================================
|
|
124
|
+
async function testAssertMultipleQueues() {
|
|
125
|
+
log('TEST 4: Assert Multiple Queues');
|
|
126
|
+
try {
|
|
127
|
+
const queues = [`${TEST_QUEUE}_multi1`, `${TEST_QUEUE}_multi2`, `${TEST_QUEUE}_multi3`];
|
|
128
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.assertQueues(queues, {
|
|
129
|
+
retryConfig: {
|
|
130
|
+
maxRetries: 2,
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
console.log(` Queues asserted: ${queues.length}`);
|
|
134
|
+
pass('Assert multiple queues');
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
fail('Assert multiple queues', error);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// ============================================
|
|
141
|
+
// TEST 5: Assert Queue with Exchange
|
|
142
|
+
// ============================================
|
|
143
|
+
async function testAssertQueueWithExchange() {
|
|
144
|
+
log('TEST 5: Assert Queue with Exchange');
|
|
145
|
+
try {
|
|
146
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.assertQueues(`${TEST_QUEUE}_exchange`, {
|
|
147
|
+
exchangeName: TEST_EXCHANGE,
|
|
148
|
+
exchangeType: 'direct',
|
|
149
|
+
routingKey: 'test.order.created',
|
|
150
|
+
retryConfig: {
|
|
151
|
+
maxRetries: 3,
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
console.log(` Exchange asserted: ${TEST_EXCHANGE}`);
|
|
155
|
+
console.log(` Queue bound with routing key: test.order.created`);
|
|
156
|
+
pass('Assert queue with exchange');
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
fail('Assert queue with exchange', error);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// ============================================
|
|
163
|
+
// TEST 6: Publish to Queue
|
|
164
|
+
// ============================================
|
|
165
|
+
async function testPublishToQueue() {
|
|
166
|
+
log('TEST 6: Publish to Queue');
|
|
167
|
+
try {
|
|
168
|
+
const message = {
|
|
169
|
+
orderId: 'ORDER-TEST-001',
|
|
170
|
+
amount: 99.99,
|
|
171
|
+
timestamp: new Date().toISOString(),
|
|
172
|
+
};
|
|
173
|
+
const result = await rabbitmq_with_retry_and_dlq_1.publisher.publishToQueue({
|
|
174
|
+
queueName: TEST_QUEUE,
|
|
175
|
+
message,
|
|
176
|
+
options: {
|
|
177
|
+
persistent: true,
|
|
178
|
+
priority: 5,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
if (result) {
|
|
182
|
+
console.log(` Message published: ${message.orderId}`);
|
|
183
|
+
pass('Publish to queue');
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
fail('Publish to queue', new Error('Publish returned false'));
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
fail('Publish to queue', error);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// ============================================
|
|
194
|
+
// TEST 7: Publish to Exchange
|
|
195
|
+
// ============================================
|
|
196
|
+
async function testPublishToExchange() {
|
|
197
|
+
log('TEST 7: Publish to Exchange');
|
|
198
|
+
try {
|
|
199
|
+
const message = {
|
|
200
|
+
orderId: 'ORDER-EXCHANGE-001',
|
|
201
|
+
customer: 'John Doe',
|
|
202
|
+
timestamp: new Date().toISOString(),
|
|
203
|
+
};
|
|
204
|
+
const result = await rabbitmq_with_retry_and_dlq_1.publisher.publishToExchange({
|
|
205
|
+
exchangeName: TEST_EXCHANGE,
|
|
206
|
+
exchangeType: 'direct',
|
|
207
|
+
queueName: `${TEST_QUEUE}_exchange`,
|
|
208
|
+
routingKey: 'test.order.created',
|
|
209
|
+
message,
|
|
210
|
+
options: {
|
|
211
|
+
persistent: true,
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
if (result) {
|
|
215
|
+
console.log(` Message published to exchange: ${message.orderId}`);
|
|
216
|
+
pass('Publish to exchange');
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
fail('Publish to exchange', new Error('Publish returned false'));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
fail('Publish to exchange', error);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// ============================================
|
|
227
|
+
// TEST 8: Publish Multiple Messages
|
|
228
|
+
// ============================================
|
|
229
|
+
async function testPublishMultipleMessages() {
|
|
230
|
+
log('TEST 8: Publish Multiple Messages');
|
|
231
|
+
try {
|
|
232
|
+
const messages = [
|
|
233
|
+
{ orderId: 'BATCH-001', amount: 10 },
|
|
234
|
+
{ orderId: 'BATCH-002', amount: 20 },
|
|
235
|
+
{ orderId: 'BATCH-003', amount: 30 },
|
|
236
|
+
];
|
|
237
|
+
for (const msg of messages) {
|
|
238
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.publishToQueue({
|
|
239
|
+
queueName: TEST_QUEUE,
|
|
240
|
+
message: msg,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
console.log(` Published ${messages.length} messages`);
|
|
244
|
+
pass('Publish multiple messages');
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
fail('Publish multiple messages', error);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// ============================================
|
|
251
|
+
// TEST 9: Consumer with Success
|
|
252
|
+
// ============================================
|
|
253
|
+
async function testConsumerSuccess() {
|
|
254
|
+
log('TEST 9: Consumer with Success');
|
|
255
|
+
try {
|
|
256
|
+
let messagesProcessed = 0;
|
|
257
|
+
const targetMessages = 3;
|
|
258
|
+
// Set up error handler
|
|
259
|
+
rabbitmq_with_retry_and_dlq_1.consumer.on('error', (errorEvent) => {
|
|
260
|
+
console.error(' Consumer error:', errorEvent.type);
|
|
261
|
+
});
|
|
262
|
+
// Start consumer
|
|
263
|
+
await rabbitmq_with_retry_and_dlq_1.consumer.consumeQueue({
|
|
264
|
+
queueName: TEST_QUEUE,
|
|
265
|
+
onMessage: async (message) => {
|
|
266
|
+
console.log(` Processing message: ${message.orderId || message.id || JSON.stringify(message).substring(0, 50)}`);
|
|
267
|
+
messagesProcessed++;
|
|
268
|
+
// Successfully process (no error = auto-ack)
|
|
269
|
+
},
|
|
270
|
+
options: {
|
|
271
|
+
prefetch: 5,
|
|
272
|
+
},
|
|
273
|
+
});
|
|
274
|
+
console.log(' Consumer started, waiting for messages...');
|
|
275
|
+
// Wait for messages to be processed
|
|
276
|
+
await sleep(2000);
|
|
277
|
+
if (messagesProcessed >= targetMessages) {
|
|
278
|
+
console.log(` Processed ${messagesProcessed} messages`);
|
|
279
|
+
pass('Consumer processed messages successfully');
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
console.log(` Processed ${messagesProcessed} messages (expected at least ${targetMessages})`);
|
|
283
|
+
pass('Consumer started (may need more time to process all)');
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
fail('Consumer with success', error);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// ============================================
|
|
291
|
+
// TEST 10: Consumer with Retry (Simulated Failure)
|
|
292
|
+
// ============================================
|
|
293
|
+
async function testConsumerWithRetry() {
|
|
294
|
+
log('TEST 10: Consumer with Retry (Simulated Failure)');
|
|
295
|
+
try {
|
|
296
|
+
const retryQueue = `${TEST_QUEUE}_retry_test`;
|
|
297
|
+
// Assert queue with retry
|
|
298
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.assertQueues(retryQueue, {
|
|
299
|
+
retryConfig: {
|
|
300
|
+
maxRetries: 2,
|
|
301
|
+
retryDelayMs: 500,
|
|
302
|
+
backoffStrategy: 'exponential',
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
// Publish a message that will fail
|
|
306
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.publishToQueue({
|
|
307
|
+
queueName: retryQueue,
|
|
308
|
+
message: { orderId: 'WILL-FAIL', shouldFail: true },
|
|
309
|
+
});
|
|
310
|
+
let attemptCount = 0;
|
|
311
|
+
// Start consumer that fails first 2 times, succeeds on 3rd
|
|
312
|
+
await rabbitmq_with_retry_and_dlq_1.consumer.consumeQueue({
|
|
313
|
+
queueName: retryQueue,
|
|
314
|
+
onMessage: async (message) => {
|
|
315
|
+
attemptCount++;
|
|
316
|
+
console.log(` Attempt ${attemptCount}: ${message.orderId}`);
|
|
317
|
+
if (attemptCount < 3 && message.shouldFail) {
|
|
318
|
+
throw new Error('Simulated processing failure');
|
|
319
|
+
}
|
|
320
|
+
// Success on 3rd attempt
|
|
321
|
+
console.log(` Success after ${attemptCount} attempts`);
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
// Wait for retries
|
|
325
|
+
await sleep(3000);
|
|
326
|
+
console.log(` Total attempts: ${attemptCount}`);
|
|
327
|
+
pass('Consumer with retry mechanism');
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
fail('Consumer with retry', error);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// ============================================
|
|
334
|
+
// TEST 11: Delete Queues
|
|
335
|
+
// ============================================
|
|
336
|
+
async function testDeleteQueues() {
|
|
337
|
+
log('TEST 11: Delete Queues (Cleanup)');
|
|
338
|
+
try {
|
|
339
|
+
// Delete test queues
|
|
340
|
+
await rabbitmq_with_retry_and_dlq_1.publisher.deleteQueues([
|
|
341
|
+
TEST_QUEUE,
|
|
342
|
+
`${TEST_QUEUE}_multi1`,
|
|
343
|
+
`${TEST_QUEUE}_multi2`,
|
|
344
|
+
`${TEST_QUEUE}_multi3`,
|
|
345
|
+
`${TEST_QUEUE}_exchange`,
|
|
346
|
+
`${TEST_QUEUE}_retry_test`,
|
|
347
|
+
], {
|
|
348
|
+
includeRetry: true,
|
|
349
|
+
includeDLQ: true,
|
|
350
|
+
});
|
|
351
|
+
console.log(' Test queues deleted');
|
|
352
|
+
pass('Delete queues');
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
// Queue deletion might fail if they don't exist, that's ok
|
|
356
|
+
console.log(' Queue deletion completed (some may not exist)');
|
|
357
|
+
pass('Delete queues (best effort)');
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
// ============================================
|
|
361
|
+
// TEST 12: Graceful Shutdown
|
|
362
|
+
// ============================================
|
|
363
|
+
async function testGracefulShutdown() {
|
|
364
|
+
log('TEST 12: Graceful Shutdown');
|
|
365
|
+
try {
|
|
366
|
+
await (0, rabbitmq_with_retry_and_dlq_1.closeRabbitMQ)();
|
|
367
|
+
// Check connection status after close
|
|
368
|
+
const pubConnected = (0, rabbitmq_with_retry_and_dlq_1.isPublisherConnected)();
|
|
369
|
+
const conConnected = (0, rabbitmq_with_retry_and_dlq_1.isConsumerConnected)();
|
|
370
|
+
console.log(` Publisher connected: ${pubConnected}`);
|
|
371
|
+
console.log(` Consumer connected: ${conConnected}`);
|
|
372
|
+
if (!pubConnected && !conConnected) {
|
|
373
|
+
pass('Graceful shutdown');
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
fail('Graceful shutdown', new Error('Connections should be closed'));
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
fail('Graceful shutdown', error);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
// ============================================
|
|
384
|
+
// MAIN TEST RUNNER
|
|
385
|
+
// ============================================
|
|
386
|
+
async function runAllTests() {
|
|
387
|
+
console.log('\n');
|
|
388
|
+
console.log('╔════════════════════════════════════════════════════════════╗');
|
|
389
|
+
console.log('║ RabbitMQ with Retry and DLQ - Test Suite ║');
|
|
390
|
+
console.log('╚════════════════════════════════════════════════════════════╝');
|
|
391
|
+
console.log(`\nRabbitMQ URL: ${RABBITMQ_URL}`);
|
|
392
|
+
console.log(`Test Queue: ${TEST_QUEUE}`);
|
|
393
|
+
console.log(`Test Exchange: ${TEST_EXCHANGE}\n`);
|
|
394
|
+
try {
|
|
395
|
+
// Run tests in sequence
|
|
396
|
+
await testWrongURL();
|
|
397
|
+
await sleep(500);
|
|
398
|
+
await testCorrectURL();
|
|
399
|
+
await sleep(500);
|
|
400
|
+
await testAssertQueues();
|
|
401
|
+
await sleep(300);
|
|
402
|
+
await testAssertMultipleQueues();
|
|
403
|
+
await sleep(300);
|
|
404
|
+
await testAssertQueueWithExchange();
|
|
405
|
+
await sleep(300);
|
|
406
|
+
await testPublishToQueue();
|
|
407
|
+
await sleep(300);
|
|
408
|
+
await testPublishToExchange();
|
|
409
|
+
await sleep(300);
|
|
410
|
+
await testPublishMultipleMessages();
|
|
411
|
+
await sleep(500);
|
|
412
|
+
await testConsumerSuccess();
|
|
413
|
+
await sleep(500);
|
|
414
|
+
await testConsumerWithRetry();
|
|
415
|
+
await sleep(500);
|
|
416
|
+
await testDeleteQueues();
|
|
417
|
+
await sleep(300);
|
|
418
|
+
await testGracefulShutdown();
|
|
419
|
+
}
|
|
420
|
+
catch (error) {
|
|
421
|
+
console.error('\n❌ Test suite aborted due to critical error:', error);
|
|
422
|
+
}
|
|
423
|
+
// Print summary
|
|
424
|
+
console.log('\n');
|
|
425
|
+
console.log('╔════════════════════════════════════════════════════════════╗');
|
|
426
|
+
console.log('║ TEST SUMMARY ║');
|
|
427
|
+
console.log('╚════════════════════════════════════════════════════════════╝');
|
|
428
|
+
console.log(`\nTotal Tests: ${testsRun}`);
|
|
429
|
+
console.log(`✓ Passed: ${testsPassed}`);
|
|
430
|
+
console.log(`✗ Failed: ${testsFailed}`);
|
|
431
|
+
console.log(`Success Rate: ${testsRun > 0 ? ((testsPassed / testsRun) * 100).toFixed(1) : 0}%\n`);
|
|
432
|
+
if (testsFailed === 0) {
|
|
433
|
+
console.log('🎉 All tests passed!\n');
|
|
434
|
+
process.exit(0);
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
console.log('❌ Some tests failed. Please review the output above.\n');
|
|
438
|
+
process.exit(1);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
// Run tests
|
|
442
|
+
runAllTests().catch((error) => {
|
|
443
|
+
console.error('\n❌ Fatal error running tests:', error);
|
|
444
|
+
process.exit(1);
|
|
445
|
+
});
|
|
446
|
+
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rabbitmq-with-retry-and-dlq",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "RabbitMQ implementation with dynamic retry logic and Dead Letter Queue support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"start": "ts-node index.ts",
|
|
14
14
|
"build": "tsc",
|
|
15
15
|
"dev": "ts-node-dev --respawn index.ts",
|
|
16
|
+
"test": "ts-node test.ts",
|
|
16
17
|
"prepublishOnly": "npm run build"
|
|
17
18
|
},
|
|
18
19
|
"keywords": [
|