@webda/gcp 2.0.0-beta.3 → 2.0.0

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.
@@ -1,73 +1,60 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
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;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const mocha_1 = require("@testdeck/mocha");
19
- const core_1 = require("@webda/core");
20
- const test_1 = require("@webda/core/lib/test");
21
- const assert = require("assert");
22
- const sinon = require("sinon");
23
- let GCPPubSubTest = class GCPPubSubTest extends test_1.WebdaTest {
24
- basic() {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- let pubsub = this.webda.getService("pubsub");
27
- let counter = 0;
28
- let consumers = [];
29
- let subscription;
30
- yield new Promise((resolve, reject) => {
31
- consumers.push(pubsub.consume((evt) => __awaiter(this, void 0, void 0, function* () {
32
- counter++;
33
- })));
34
- consumers.push(pubsub.consume((evt) => __awaiter(this, void 0, void 0, function* () {
35
- counter++;
36
- throw new Error("Should not fail");
37
- }), undefined, sub => {
38
- subscription = sub;
39
- resolve();
40
- }));
41
- });
42
- yield pubsub.sendMessage("plop");
43
- yield (0, core_1.WaitFor)((resolve) => __awaiter(this, void 0, void 0, function* () {
44
- if (counter === 2) {
45
- resolve();
46
- return true;
47
- }
48
- return false;
49
- }), 10, "Events", undefined, (0, core_1.WaitLinearDelay)(1000));
50
- // We might have concurrence in unit test
51
- assert.ok(counter >= 2);
52
- subscription.emit("error", "Fake server error");
53
- yield assert.rejects(() => consumers[1], /Fake server error/);
54
- yield consumers[0].cancel();
55
- // Hack our way to test exception within the main loop
56
- let stub = sinon.stub(pubsub.pubsub, "subscription").callsFake(() => {
57
- throw new Error("Bad code?");
58
- });
59
- // Should reject
60
- yield assert.rejects(() => pubsub.consume((evt) => __awaiter(this, void 0, void 0, function* () {
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import { WaitFor, WaitLinearDelay } from "@webda/core";
9
+ import { WebdaTest } from "@webda/core/lib/test.js";
10
+ import * as assert from "assert";
11
+ import * as sinon from "sinon";
12
+ let GCPPubSubTest = class GCPPubSubTest extends WebdaTest {
13
+ async basic() {
14
+ let pubsub = this.webda.getService("pubsub");
15
+ let counter = 0;
16
+ let consumers = [];
17
+ let subscription;
18
+ await new Promise((resolve, reject) => {
19
+ consumers.push(pubsub.consume(async (evt) => {
20
+ counter++;
21
+ }));
22
+ consumers.push(pubsub.consume(async (evt) => {
61
23
  counter++;
62
- })), /Bad code\?/);
63
- stub.restore();
24
+ throw new Error("Should not fail");
25
+ }, undefined, sub => {
26
+ subscription = sub;
27
+ resolve();
28
+ }));
29
+ });
30
+ await pubsub.sendMessage("plop");
31
+ await WaitFor(async (resolve) => {
32
+ if (counter === 2) {
33
+ resolve();
34
+ return true;
35
+ }
36
+ return false;
37
+ }, 10, "Events", undefined, WaitLinearDelay(1000));
38
+ // We might have concurrence in unit test
39
+ assert.ok(counter >= 2);
40
+ subscription.emit("error", "Fake server error");
41
+ await assert.rejects(() => consumers[1], /Fake server error/);
42
+ await consumers[0].cancel();
43
+ // Hack our way to test exception within the main loop
44
+ let stub = sinon.stub(pubsub.pubsub, "subscription").callsFake(() => {
45
+ throw new Error("Bad code?");
64
46
  });
47
+ // Should reject
48
+ await assert.rejects(() => pubsub.consume(async (evt) => {
49
+ counter++;
50
+ }), /Bad code\?/);
51
+ stub.restore();
65
52
  }
66
53
  };
67
54
  __decorate([
68
- mocha_1.test
55
+ test
69
56
  ], GCPPubSubTest.prototype, "basic", null);
70
57
  GCPPubSubTest = __decorate([
71
- mocha_1.suite
58
+ suite
72
59
  ], GCPPubSubTest);
73
60
  //# sourceMappingURL=pubsub.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.spec.js","sourceRoot":"","sources":["../../src/services/pubsub.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,sCAA0E;AAC1E,+CAAiD;AACjD,iCAAiC;AACjC,+BAA+B;AAI/B,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAS;IAE7B,KAAK;;YACT,IAAI,MAAM,GAAqB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAmB,QAAQ,CAAC,CAAC;YACjF,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,SAAS,GAAwB,EAAE,CAAC;YACxC,IAAI,YAAY,CAAC;YACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,OAAO,CAAC,CAAM,GAAG,EAAC,EAAE;oBACzB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAA,CAAC,CACH,CAAC;gBACF,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,OAAO,CACZ,CAAM,GAAG,EAAC,EAAE;oBACV,OAAO,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC,CAAA,EACD,SAAS,EACT,GAAG,CAAC,EAAE;oBACJ,YAAY,GAAG,GAAG,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC,CACF,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,IAAA,cAAO,EACX,CAAM,OAAO,EAAC,EAAE;gBACd,IAAI,OAAO,KAAK,CAAC,EAAE;oBACjB,OAAO,EAAE,CAAC;oBACV,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAA,EACD,EAAE,EACF,QAAQ,EACR,SAAS,EACT,IAAA,sBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;YACF,yCAAyC;YACzC,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAChD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC9D,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5B,sDAAsD;YACtD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,gBAAgB;YAChB,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC,CAAM,GAAG,EAAC,EAAE;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,EACJ,YAAY,CACb,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;KAAA;CACF,CAAA;AA1DC;IADC,YAAI;0CA0DJ;AA3DG,aAAa;IADlB,aAAK;GACA,aAAa,CA4DlB"}
1
+ {"version":3,"file":"pubsub.spec.js","sourceRoot":"","sources":["../../src/services/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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAAS;IAEnC,KAAK,CAAC,KAAK;QACT,IAAI,MAAM,GAAqB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAmB,QAAQ,CAAC,CAAC;QACjF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAwB,EAAE,CAAC;QACxC,IAAI,YAAY,CAAC;QACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CACH,CAAC;YACF,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,OAAO,CACZ,KAAK,EAAC,GAAG,EAAC,EAAE;gBACV,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC,EACD,SAAS,EACT,GAAG,CAAC,EAAE;gBACJ,YAAY,GAAG,GAAG,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,OAAO,CACX,KAAK,EAAC,OAAO,EAAC,EAAE;YACd,IAAI,OAAO,KAAK,CAAC,EAAE;gBACjB,OAAO,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,EACD,EAAE,EACF,QAAQ,EACR,SAAS,EACT,eAAe,CAAC,IAAI,CAAC,CACtB,CAAC;QACF,yCAAyC;QACzC,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAChD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,sDAAsD;QACtD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,gBAAgB;QAChB,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,EACJ,YAAY,CACb,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;CACF,CAAA;AA1DC;IADC,IAAI;0CA0DJ;AA3DG,aAAa;IADlB,KAAK;GACA,aAAa,CA4DlB"}
@@ -1,29 +1,16 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.GCPQueue = exports.GCPQueueParameters = void 0;
13
- const pubsub_1 = require("@google-cloud/pubsub");
14
- const core_1 = require("@webda/core");
1
+ import { PubSub } from "@google-cloud/pubsub";
2
+ import { CancelablePromise, Queue, QueueParameters } from "@webda/core";
15
3
  /**
16
4
  * GCPQueue Parameters
17
5
  */
18
- class GCPQueueParameters extends core_1.QueueParameters {
6
+ export class GCPQueueParameters extends QueueParameters {
19
7
  }
20
- exports.GCPQueueParameters = GCPQueueParameters;
21
8
  /**
22
9
  * GCP Queue implementation on top of Pub/Sub
23
10
  *
24
11
  * @WebdaModda GoogleCloudQueue
25
12
  */
26
- class GCPQueue extends core_1.Queue {
13
+ export default class GCPQueue extends Queue {
27
14
  constructor() {
28
15
  super(...arguments);
29
16
  this.messages = {};
@@ -37,96 +24,83 @@ class GCPQueue extends core_1.Queue {
37
24
  /**
38
25
  * @override
39
26
  */
40
- init() {
41
- const _super = Object.create(null, {
42
- init: { get: () => super.init }
43
- });
44
- return __awaiter(this, void 0, void 0, function* () {
45
- yield _super.init.call(this);
46
- this.pubsub = new pubsub_1.PubSub();
47
- this.projectId = this.pubsub.auth.getProjectId();
48
- return this;
49
- });
27
+ async init() {
28
+ await super.init();
29
+ this.pubsub = new PubSub();
30
+ this.projectId = this.pubsub.auth.getProjectId();
31
+ return this;
50
32
  }
51
33
  /**
52
34
  * The queue size is not available within this service
53
35
  *
54
36
  * @returns
55
37
  */
56
- size() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- return 0;
59
- });
38
+ async size() {
39
+ return 0;
60
40
  }
61
41
  /**
62
42
  * Acknowledge a message
63
43
  * @param id
64
44
  */
65
- deleteMessage(id) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- yield this.pubsub.auth.request({
68
- method: "POST",
69
- url: `https://pubsub.googleapis.com/v1/projects/${yield this.projectId}/subscriptions/${this.parameters.subscription}:acknowledge`,
70
- body: JSON.stringify({
71
- ackIds: [id],
72
- }),
73
- });
74
- this.messages[id].ack();
75
- delete this.messages[id];
45
+ async deleteMessage(id) {
46
+ await this.pubsub.auth.request({
47
+ method: "POST",
48
+ url: `https://pubsub.googleapis.com/v1/projects/${await this.projectId}/subscriptions/${this.parameters.subscription}:acknowledge`,
49
+ body: JSON.stringify({
50
+ ackIds: [id],
51
+ }),
76
52
  });
53
+ this.messages[id].ack();
54
+ delete this.messages[id];
77
55
  }
78
56
  /**
79
57
  * Send a message to the queue
80
58
  * @param msg
81
59
  */
82
- sendMessage(msg) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- yield this.pubsub.topic(this.parameters.topic).publishMessage({ data: Buffer.from(JSON.stringify(msg)) });
85
- });
60
+ async sendMessage(msg) {
61
+ await this.pubsub.topic(this.parameters.topic).publishMessage({ data: Buffer.from(JSON.stringify(msg)) });
86
62
  }
87
63
  /**
88
64
  * Retrieve just one message from the queue
89
65
  * @param proto
90
66
  * @returns
91
67
  */
92
- receiveMessage(proto) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- let timeoutId;
95
- let errorHandler;
96
- let msgHandler;
97
- const subscription = this.pubsub.subscription(this.parameters.subscription, {
98
- flowControl: {
99
- maxMessages: 1,
100
- },
101
- });
102
- try {
103
- return yield new Promise((resolve, reject) => {
104
- if (this.parameters.timeout) {
105
- timeoutId = setTimeout(() => resolve([]), this.parameters.timeout);
106
- }
107
- errorHandler = err => {
108
- reject(err);
109
- };
110
- msgHandler = (message) => {
111
- this.messages[message.ackId] = message;
112
- resolve([
113
- {
114
- Message: this.unserialize(message.data.toString(), proto),
115
- ReceiptHandle: message.ackId,
116
- },
117
- ]);
118
- };
119
- subscription.on("error", errorHandler);
120
- subscription.on("message", msgHandler);
121
- });
122
- }
123
- finally {
124
- subscription.close();
125
- if (timeoutId) {
126
- clearTimeout(timeoutId);
68
+ async receiveMessage(proto) {
69
+ let timeoutId;
70
+ let errorHandler;
71
+ let msgHandler;
72
+ const subscription = this.pubsub.subscription(this.parameters.subscription, {
73
+ flowControl: {
74
+ maxMessages: 1,
75
+ },
76
+ });
77
+ try {
78
+ return await new Promise((resolve, reject) => {
79
+ if (this.parameters.timeout) {
80
+ timeoutId = setTimeout(() => resolve([]), this.parameters.timeout);
127
81
  }
82
+ errorHandler = err => {
83
+ reject(err);
84
+ };
85
+ msgHandler = (message) => {
86
+ this.messages[message.ackId] = message;
87
+ resolve([
88
+ {
89
+ Message: this.unserialize(message.data.toString(), proto),
90
+ ReceiptHandle: message.ackId,
91
+ },
92
+ ]);
93
+ };
94
+ subscription.on("error", errorHandler);
95
+ subscription.on("message", msgHandler);
96
+ });
97
+ }
98
+ finally {
99
+ subscription.close();
100
+ if (timeoutId) {
101
+ clearTimeout(timeoutId);
128
102
  }
129
- });
103
+ }
130
104
  }
131
105
  /**
132
106
  * Work a queue calling the callback with every Event received
@@ -140,21 +114,20 @@ class GCPQueue extends core_1.Queue {
140
114
  maxMessages: this.getMaxConsumers(),
141
115
  },
142
116
  });
143
- return new core_1.CancelablePromise(() => __awaiter(this, void 0, void 0, function* () {
144
- subscription.on("message", (message) => __awaiter(this, void 0, void 0, function* () {
117
+ return new CancelablePromise(async () => {
118
+ subscription.on("message", async (message) => {
145
119
  try {
146
- yield callback(this.unserialize(message.data.toString(), eventPrototype));
120
+ await callback(this.unserialize(message.data.toString(), eventPrototype));
147
121
  message.ack();
148
122
  }
149
123
  catch (err) {
150
124
  this.log("ERROR", `Message ${message.ackId}`, err);
151
125
  }
152
- }));
153
- }), () => __awaiter(this, void 0, void 0, function* () {
126
+ });
127
+ }, async () => {
154
128
  subscription.close();
155
- }));
129
+ });
156
130
  }
157
131
  }
158
- exports.default = GCPQueue;
159
- exports.GCPQueue = GCPQueue;
132
+ export { GCPQueue };
160
133
  //# sourceMappingURL=queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/services/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/services/queue.ts"],"names":[],"mappings":"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"}
@@ -1,120 +1,103 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
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;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const mocha_1 = require("@testdeck/mocha");
19
- const queue_spec_1 = require("@webda/core/lib/queues/queue.spec");
20
- const assert = require("assert");
21
- const events_1 = require("events");
22
- const sinon = require("sinon");
23
- class FakeSubscription extends events_1.EventEmitter {
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 { EventEmitter } from "events";
11
+ import * as sinon from "sinon";
12
+ class FakeSubscription extends EventEmitter {
24
13
  emitError() {
25
14
  this.emit("error", "Fake error");
26
15
  }
27
16
  close() { }
28
17
  }
29
- let GCPQueueTest = class GCPQueueTest extends queue_spec_1.QueueTest {
30
- basic() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- let queue = this.webda.getService("queue");
33
- queue.getParameters().subscription = `${queue.getParameters().subscription}_${this.webda.getUuid()}`;
34
- yield queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
35
- ackDeadlineSeconds: 10,
36
- enableExactlyOnceDelivery: true,
37
- });
38
- try {
39
- yield this.simple(queue, true, 12000);
40
- // Seems to be penalized by no promise on ACK
41
- yield this.sleep(5000);
42
- this.log("DEBUG", "Verify receiveMessage is now empty");
43
- queue.getParameters().timeout = 3000;
44
- // TODO Investigate this one
45
- if ((yield queue.receiveMessage()).length > 0) {
46
- this.log("ERROR", "Queue should be empty - not an assert to avoid random");
47
- }
48
- }
49
- finally {
50
- yield queue.pubsub.subscription(queue.getParameters().subscription).delete();
51
- }
18
+ let GCPQueueTest = class GCPQueueTest extends QueueTest {
19
+ async basic() {
20
+ let queue = this.webda.getService("queue");
21
+ queue.getParameters().subscription = `${queue.getParameters().subscription}_${this.webda.getUuid()}`;
22
+ await queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
23
+ ackDeadlineSeconds: 10,
24
+ enableExactlyOnceDelivery: true,
52
25
  });
26
+ try {
27
+ await this.simple(queue, true, 12000);
28
+ // Seems to be penalized by no promise on ACK
29
+ await this.sleep(5000);
30
+ this.log("DEBUG", "Verify receiveMessage is now empty");
31
+ queue.getParameters().timeout = 3000;
32
+ // TODO Investigate this one
33
+ if ((await queue.receiveMessage()).length > 0) {
34
+ this.log("ERROR", "Queue should be empty - not an assert to avoid random");
35
+ }
36
+ }
37
+ finally {
38
+ await queue.pubsub.subscription(queue.getParameters().subscription).delete();
39
+ }
53
40
  }
54
- consumers() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- let queue = this.webda.getService("queue");
57
- queue.getParameters().subscription = `${queue.getParameters().subscription}_${this.webda.getUuid()}`;
58
- yield queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
59
- ackDeadlineSeconds: 10,
60
- enableMessageOrdering: true,
61
- });
62
- try {
63
- // Test consumer
64
- let msg;
65
- let consumed = 0;
66
- let consumer = queue.consume((dt) => __awaiter(this, void 0, void 0, function* () {
67
- consumed++;
68
- if (msg) {
69
- throw new Error();
70
- }
71
- msg = dt;
72
- }));
73
- yield this.sleep(1000);
74
- this.log("DEBUG", "Consume sendMessage");
75
- yield queue.sendMessage({ plop: 1 });
76
- this.log("DEBUG", "Consume cancel");
77
- yield queue.sendMessage({ plop: 2 });
78
- // Need to wait before cancel to ensure message are received
79
- while (consumed < 2) {
80
- yield this.sleep(500);
41
+ async consumers() {
42
+ let queue = this.webda.getService("queue");
43
+ queue.getParameters().subscription = `${queue.getParameters().subscription}_${this.webda.getUuid()}`;
44
+ await queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
45
+ ackDeadlineSeconds: 10,
46
+ enableMessageOrdering: true,
47
+ });
48
+ try {
49
+ // Test consumer
50
+ let msg;
51
+ let consumed = 0;
52
+ let consumer = queue.consume(async (dt) => {
53
+ consumed++;
54
+ if (msg) {
55
+ throw new Error();
81
56
  }
82
- yield consumer.cancel();
83
- this.log("DEBUG", "Consume assert");
84
- assert.notStrictEqual(msg, undefined);
85
- // The second message throw an exception so it can come back
86
- yield queue.receiveMessage();
87
- yield queue.receiveMessage();
88
- }
89
- finally {
90
- yield queue.pubsub.subscription(queue.getParameters().subscription).delete();
57
+ msg = dt;
58
+ });
59
+ await this.sleep(1000);
60
+ this.log("DEBUG", "Consume sendMessage");
61
+ await queue.sendMessage({ plop: 1 });
62
+ this.log("DEBUG", "Consume cancel");
63
+ await queue.sendMessage({ plop: 2 });
64
+ // Need to wait before cancel to ensure message are received
65
+ while (consumed < 2) {
66
+ await this.sleep(500);
91
67
  }
92
- });
68
+ await consumer.cancel();
69
+ this.log("DEBUG", "Consume assert");
70
+ assert.notStrictEqual(msg, undefined);
71
+ // The second message throw an exception so it can come back
72
+ await queue.receiveMessage();
73
+ await queue.receiveMessage();
74
+ }
75
+ finally {
76
+ await queue.pubsub.subscription(queue.getParameters().subscription).delete();
77
+ }
93
78
  }
94
- receiveError() {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- this.log("DEBUG", "Receive Error test");
97
- let queue = this.webda.getService("queue");
98
- let service = new FakeSubscription();
99
- sinon.stub(queue.pubsub, "subscription").callsFake(() => {
100
- return service;
101
- });
102
- let consumer = queue.receiveMessage();
103
- service.emitError();
104
- yield assert.rejects(() => consumer, /Fake error/);
79
+ async receiveError() {
80
+ this.log("DEBUG", "Receive Error test");
81
+ let queue = this.webda.getService("queue");
82
+ let service = new FakeSubscription();
83
+ sinon.stub(queue.pubsub, "subscription").callsFake(() => {
84
+ return service;
105
85
  });
86
+ let consumer = queue.receiveMessage();
87
+ service.emitError();
88
+ await assert.rejects(() => consumer, /Fake error/);
106
89
  }
107
90
  };
108
91
  __decorate([
109
- mocha_1.test
92
+ test
110
93
  ], GCPQueueTest.prototype, "basic", null);
111
94
  __decorate([
112
- mocha_1.test
95
+ test
113
96
  ], GCPQueueTest.prototype, "consumers", null);
114
97
  __decorate([
115
- mocha_1.test
98
+ test
116
99
  ], GCPQueueTest.prototype, "receiveError", null);
117
100
  GCPQueueTest = __decorate([
118
- mocha_1.suite
101
+ suite
119
102
  ], GCPQueueTest);
120
103
  //# sourceMappingURL=queue.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.spec.js","sourceRoot":"","sources":["../../src/services/queue.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,kEAA8D;AAC9D,iCAAiC;AACjC,mCAAsC;AACtC,+BAA+B;AAG/B,MAAM,gBAAiB,SAAQ,qBAAY;IACzC,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,KAAI,CAAC;CACX;AAGD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,sBAAS;IAE5B,KAAK;;YACT,IAAI,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAW,OAAO,CAAC,CAAC;YAC/D,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrG,MAAM,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE;gBACrG,kBAAkB,EAAE,EAAE;gBACtB,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC;YACH,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,6CAA6C;gBAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBACxD,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrC,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,uDAAuD,CAAC,CAAC;iBAC5E;aACF;oBAAS;gBACR,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9E;QACH,CAAC;KAAA;IAGK,SAAS;;YACb,IAAI,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAW,OAAO,CAAC,CAAC;YAC/D,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrG,MAAM,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE;gBACrG,kBAAkB,EAAE,EAAE;gBACtB,qBAAqB,EAAE,IAAI;aAC5B,CAAC,CAAC;YACH,IAAI;gBACF,gBAAgB;gBAChB,IAAI,GAAG,CAAC;gBACR,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAM,EAAE,EAAC,EAAE;oBACtC,QAAQ,EAAE,CAAC;oBACX,IAAI,GAAG,EAAE;wBACP,MAAM,IAAI,KAAK,EAAE,CAAC;qBACnB;oBACD,GAAG,GAAG,EAAE,CAAC;gBACX,CAAC,CAAA,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBACzC,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBACpC,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrC,4DAA4D;gBAC5D,OAAO,QAAQ,GAAG,CAAC,EAAE;oBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACvB;gBACD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBACpC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtC,4DAA4D;gBAC5D,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;aAC9B;oBAAS;gBACR,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9E;QACH,CAAC;KAAA;IAGK,YAAY;;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACxC,IAAI,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAW,OAAO,CAAC,CAAC;YAC/D,IAAI,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;gBACtD,OAAY,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;KAAA;CACF,CAAA;AAzEC;IADC,YAAI;yCAqBJ;AAGD;IADC,YAAI;6CAqCJ;AAGD;IADC,YAAI;gDAWJ;AA1EG,YAAY;IADjB,aAAK;GACA,YAAY,CA2EjB"}
1
+ {"version":3,"file":"queue.spec.js","sourceRoot":"","sources":["../../src/services/queue.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
2
4
  import { Bucket } from "@google-cloud/storage";
3
5
  import { BinaryFile, BinaryMap, BinaryParameters, CloudBinary, Context, CoreModel, DeepPartial } from "@webda/core";
4
6
  import { Readable } from "stream";