@webda/amqp 3.3.7 → 4.0.0-beta.2
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/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/pubsub.d.ts +1 -0
- package/lib/pubsub.d.ts.map +1 -0
- package/lib/pubsub.js +2 -2
- package/lib/pubsub.js.map +1 -1
- package/lib/pubsub.spec.d.ts +2 -0
- package/lib/pubsub.spec.d.ts.map +1 -0
- package/lib/pubsub.spec.js +84 -0
- package/lib/pubsub.spec.js.map +1 -0
- package/lib/queue.d.ts +1 -0
- package/lib/queue.d.ts.map +1 -0
- package/lib/queue.js +1 -1
- package/lib/queue.js.map +1 -1
- package/lib/queue.spec.d.ts +2 -0
- package/lib/queue.spec.d.ts.map +1 -0
- package/lib/queue.spec.js +29 -0
- package/lib/queue.spec.js.map +1 -0
- package/package.json +14 -11
- package/test/config.json +0 -18
package/lib/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/lib/pubsub.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../src/pubsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;WAIG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;;WAGG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;;WAEG;QACH,SAAS,CAAC,EAAE,GAAG,CAAC;KACjB,CAAC;gBAEU,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC;CAMlD;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB,CACpC,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CACrD,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAC;IAEd;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG;IAI1B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B;;;;;OAKG;IACH,OAAO,CACL,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACrC,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,EAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,iBAAiB;CAwCrB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/lib/pubsub.js
CHANGED
|
@@ -35,7 +35,7 @@ export default class AMQPPubSubService extends PubSubService {
|
|
|
35
35
|
await super.init();
|
|
36
36
|
this.conn = await amqplib.connect(this.parameters.url);
|
|
37
37
|
this.channel = await this.conn.createChannel();
|
|
38
|
-
|
|
38
|
+
const params = { ...this.parameters.exchange };
|
|
39
39
|
delete params.type;
|
|
40
40
|
this.exchange = await this.channel.assertExchange(this.parameters.channel, this.parameters.exchange?.type || "fanout", params);
|
|
41
41
|
return this;
|
|
@@ -56,7 +56,7 @@ export default class AMQPPubSubService extends PubSubService {
|
|
|
56
56
|
consume(callback, eventPrototype, onBind) {
|
|
57
57
|
let consumerTag;
|
|
58
58
|
return new CancelablePromise(async (_resolve, reject) => {
|
|
59
|
-
|
|
59
|
+
const queue = await this.channel.assertQueue(this.parameters.subscription, {
|
|
60
60
|
exclusive: true,
|
|
61
61
|
durable: false,
|
|
62
62
|
autoDelete: true
|
package/lib/pubsub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../src/pubsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;IAyCzD,YAAY,MAAqC;;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,EAAE,EAAC;QACrB,MAAA,IAAI,CAAC,QAAQ,EAAC,IAAI,QAAJ,IAAI,GAAK,QAAQ,EAAC;QAChC,IAAI,CAAC,YAAY,KAAjB,IAAI,CAAC,YAAY,GAAK,EAAE,EAAC;IAC3B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,iBAGnB,SAAQ,aAAmB;IAK3B;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAQ,EAAE,aAAqB,EAAE;QACjD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,
|
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../src/pubsub.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pubsub.spec.d.ts","sourceRoot":"","sources":["../src/pubsub.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import { WaitFor, WaitLinearDelay } from "@webda/core";
|
|
9
|
+
import { WebdaSimpleTest } from "@webda/core/lib/test.js";
|
|
10
|
+
import * as assert from "assert";
|
|
11
|
+
import * as sinon from "sinon";
|
|
12
|
+
import { AMQPPubSubParameters, AMQPPubSubService } from "./pubsub.js";
|
|
13
|
+
let AMQPPubSubTest = class AMQPPubSubTest extends WebdaSimpleTest {
|
|
14
|
+
async before() {
|
|
15
|
+
await super.before();
|
|
16
|
+
this.pubsub = await this.addService(AMQPPubSubService, {
|
|
17
|
+
endpoint: "amqp://localhost:5672",
|
|
18
|
+
channel: "webda-test-pub",
|
|
19
|
+
maxConsumers: 1
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async params() {
|
|
23
|
+
// just for cov
|
|
24
|
+
const p = new AMQPPubSubParameters({
|
|
25
|
+
exchange: {
|
|
26
|
+
type: "fanout2"
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
assert.strictEqual(p.exchange?.type, "fanout2");
|
|
30
|
+
}
|
|
31
|
+
async basic() {
|
|
32
|
+
let counter = 0;
|
|
33
|
+
const consumers = [];
|
|
34
|
+
await new Promise(resolve => {
|
|
35
|
+
consumers.push(this.pubsub.consume(async (evt) => {
|
|
36
|
+
counter++;
|
|
37
|
+
if (counter > 2) {
|
|
38
|
+
throw new Error("Only consume 2");
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
consumers.push(this.pubsub.consume(async (evt) => {
|
|
42
|
+
counter++;
|
|
43
|
+
}, undefined, resolve));
|
|
44
|
+
});
|
|
45
|
+
await this.pubsub.sendMessage("plop");
|
|
46
|
+
await this.pubsub.size();
|
|
47
|
+
await WaitFor(async (resolve) => {
|
|
48
|
+
if (counter === 2) {
|
|
49
|
+
resolve();
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}, 10, "Events", undefined, WaitLinearDelay(10));
|
|
54
|
+
assert.strictEqual(counter, 2);
|
|
55
|
+
await this.pubsub.sendMessage("error");
|
|
56
|
+
await WaitFor(async (resolve) => {
|
|
57
|
+
if (counter === 4) {
|
|
58
|
+
resolve();
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}, 10, "Events error", undefined, WaitLinearDelay(10));
|
|
63
|
+
await Promise.all(consumers.map(p => p.cancel()));
|
|
64
|
+
// Hack our way to test close by server
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
const stub = sinon.stub(this.pubsub.channel, "consume").callsFake((ex, call) => {
|
|
67
|
+
call(null);
|
|
68
|
+
});
|
|
69
|
+
// Should reject
|
|
70
|
+
await assert.rejects(() => this.pubsub.consume(async (evt) => {
|
|
71
|
+
counter++;
|
|
72
|
+
}), /Cancelled by server/);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
__decorate([
|
|
76
|
+
test
|
|
77
|
+
], AMQPPubSubTest.prototype, "params", null);
|
|
78
|
+
__decorate([
|
|
79
|
+
test
|
|
80
|
+
], AMQPPubSubTest.prototype, "basic", null);
|
|
81
|
+
AMQPPubSubTest = __decorate([
|
|
82
|
+
suite
|
|
83
|
+
], AMQPPubSubTest);
|
|
84
|
+
//# sourceMappingURL=pubsub.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pubsub.spec.js","sourceRoot":"","sources":["../src/pubsub.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAqB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGnE,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,eAAe;IAG1C,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACrD,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,gBAAgB;YACzB,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACV,eAAe;QACf,MAAM,CAAC,GAAG,IAAI,oBAAoB,CAAC;YACjC,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACT,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAChC,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBAC9B,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,KAAK,EAAC,GAAG,EAAC,EAAE;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,EACD,SAAS,EACT,OAAO,CACR,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,OAAO,CACX,KAAK,EAAC,OAAO,EAAC,EAAE;YACd,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,EACD,EAAE,EACF,QAAQ,EACR,SAAS,EACT,eAAe,CAAC,EAAE,CAAC,CACpB,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,CACX,KAAK,EAAC,OAAO,EAAC,EAAE;YACd,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,EACD,EAAE,EACF,cAAc,EACd,SAAS,EACT,eAAe,CAAC,EAAE,CAAC,CACpB,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,uCAAuC;QACvC,aAAa;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YAC7E,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,gBAAgB;QAChB,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,EACJ,qBAAqB,CACtB,CAAC;IACJ,CAAC;CACF,CAAA;AA/EO;IADL,IAAI;4CASJ;AAGK;IADL,IAAI;2CAoEJ;AA3FG,cAAc;IADnB,KAAK;GACA,cAAc,CA4FnB"}
|
package/lib/queue.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGhF,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AACD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9G,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG;IAI1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;IACG,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAa1E;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,YAAY;CAGnB"}
|
package/lib/queue.js
CHANGED
|
@@ -34,7 +34,7 @@ export default class AMQPQueue extends Queue {
|
|
|
34
34
|
* @override
|
|
35
35
|
*/
|
|
36
36
|
async receiveMessage(proto) {
|
|
37
|
-
|
|
37
|
+
const msg = await this.channel.get(this.parameters.queue);
|
|
38
38
|
if (msg === false) {
|
|
39
39
|
return [];
|
|
40
40
|
}
|
package/lib/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,OAAO,mBAAoB,SAAQ,eAAe;CAIvD;AACD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAwE,SAAQ,KAAW;IAG9G;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAQ;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAI,KAAmB;QACzC,
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,OAAO,mBAAoB,SAAQ,eAAe;CAIvD;AACD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAwE,SAAQ,KAAW;IAG9G;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAQ;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAI,KAAmB;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL;gBACE,aAAa,EAAE,GAAG;gBAClB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;aACzD;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.spec.d.ts","sourceRoot":"","sources":["../src/queue.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import { QueueTest } from "@webda/core/lib/queues/queue.spec.js";
|
|
9
|
+
import * as assert from "assert";
|
|
10
|
+
import AMQPQueue from "./queue.js";
|
|
11
|
+
let AMQPQueueTest = class AMQPQueueTest extends QueueTest {
|
|
12
|
+
async basic() {
|
|
13
|
+
const queue = await this.addService(AMQPQueue, {
|
|
14
|
+
endpoint: "amqp://localhost:5672",
|
|
15
|
+
queue: "webda-test",
|
|
16
|
+
maxConsumers: 1
|
|
17
|
+
});
|
|
18
|
+
await queue.__clean();
|
|
19
|
+
await this.simple(queue, true);
|
|
20
|
+
assert.deepStrictEqual(await queue.receiveMessage(), []);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
__decorate([
|
|
24
|
+
test
|
|
25
|
+
], AMQPQueueTest.prototype, "basic", null);
|
|
26
|
+
AMQPQueueTest = __decorate([
|
|
27
|
+
suite
|
|
28
|
+
], AMQPQueueTest);
|
|
29
|
+
//# sourceMappingURL=queue.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.spec.js","sourceRoot":"","sources":["../src/queue.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,SAAS,MAAM,SAAS,CAAC;AAGhC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAAS;IAE7B,AAAN,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAc,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YACxD,QAAQ,EAAE,uBAAuB;YACjC,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAVO;IADL,IAAI;0CAUJ;AAXG,aAAa;IADlB,KAAK;GACA,aAAa,CAYlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webda/amqp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.2",
|
|
4
4
|
"description": "Implements AMQP on webda",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"activemq",
|
|
@@ -14,17 +14,18 @@
|
|
|
14
14
|
"build": "webda build",
|
|
15
15
|
"build:watch": "webda build --watch",
|
|
16
16
|
"pretest": "npm run build",
|
|
17
|
-
"lint": "
|
|
18
|
-
"lint:fix": "
|
|
19
|
-
"test": "c8 mocha"
|
|
17
|
+
"lint": "eslint",
|
|
18
|
+
"lint:fix": "eslint --fix",
|
|
19
|
+
"test": "c8 mocha",
|
|
20
|
+
"format": "prettier --check src/**/*",
|
|
21
|
+
"format:fix": "prettier --write src/**/*"
|
|
20
22
|
},
|
|
21
23
|
"dependencies": {
|
|
22
|
-
"@webda/core": "^
|
|
24
|
+
"@webda/core": "^4.0.0-beta.2",
|
|
23
25
|
"amqplib": "^0.10.0"
|
|
24
26
|
},
|
|
25
27
|
"files": [
|
|
26
28
|
"lib",
|
|
27
|
-
"test",
|
|
28
29
|
"webda.module.json"
|
|
29
30
|
],
|
|
30
31
|
"c8": {
|
|
@@ -49,9 +50,10 @@
|
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"@testdeck/mocha": "^0.3.3",
|
|
51
52
|
"@types/amqplib": "^0.10.0",
|
|
52
|
-
"@types/node": "
|
|
53
|
-
"@webda/shell": "^
|
|
54
|
-
"sinon": "^
|
|
53
|
+
"@types/node": "20.0.0",
|
|
54
|
+
"@webda/shell": "^4.0.0-beta.2",
|
|
55
|
+
"sinon": "^19.0.2",
|
|
56
|
+
"tsx": "^4.17.0"
|
|
55
57
|
},
|
|
56
58
|
"nx": {
|
|
57
59
|
"implicitDependencies": [
|
|
@@ -61,7 +63,8 @@
|
|
|
61
63
|
},
|
|
62
64
|
"type": "module",
|
|
63
65
|
"engines": {
|
|
64
|
-
"node": ">=
|
|
66
|
+
"node": ">=20.0.0"
|
|
65
67
|
},
|
|
66
|
-
"
|
|
68
|
+
"license": "LGPL-3.0-only",
|
|
69
|
+
"gitHead": "e992dcfb82cefa6cd5c61c54a0e63778b6f53d8e"
|
|
67
70
|
}
|
package/test/config.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 2,
|
|
3
|
-
"parameters": {},
|
|
4
|
-
"services": {
|
|
5
|
-
"queue": {
|
|
6
|
-
"type": "AMQPQueue",
|
|
7
|
-
"endpoint": "amqp://localhost:5672",
|
|
8
|
-
"queue": "webda-test",
|
|
9
|
-
"maxConsumers": 1
|
|
10
|
-
},
|
|
11
|
-
"pubsub": {
|
|
12
|
-
"type": "AMQPPubSub",
|
|
13
|
-
"endpoint": "amqp://localhost:5672",
|
|
14
|
-
"channel": "webda-test-pub",
|
|
15
|
-
"maxConsumers": 1
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|