@webda/gcp 2.0.0-beta.1 → 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"}
@@ -45,7 +45,7 @@ export default class GCPQueue<T = any, K extends GCPQueueParameters = GCPQueuePa
45
45
  /**
46
46
  * @override
47
47
  */
48
- init(): Promise<void>;
48
+ init(): Promise<this>;
49
49
  /**
50
50
  * The queue size is not available within this service
51
51
  *
@@ -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,95 +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
- });
27
+ async init() {
28
+ await super.init();
29
+ this.pubsub = new PubSub();
30
+ this.projectId = this.pubsub.auth.getProjectId();
31
+ return this;
49
32
  }
50
33
  /**
51
34
  * The queue size is not available within this service
52
35
  *
53
36
  * @returns
54
37
  */
55
- size() {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- return 0;
58
- });
38
+ async size() {
39
+ return 0;
59
40
  }
60
41
  /**
61
42
  * Acknowledge a message
62
43
  * @param id
63
44
  */
64
- deleteMessage(id) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- yield this.pubsub.auth.request({
67
- method: "POST",
68
- url: `https://pubsub.googleapis.com/v1/projects/${yield this.projectId}/subscriptions/${this.parameters.subscription}:acknowledge`,
69
- body: JSON.stringify({
70
- ackIds: [id],
71
- }),
72
- });
73
- this.messages[id].ack();
74
- 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
+ }),
75
52
  });
53
+ this.messages[id].ack();
54
+ delete this.messages[id];
76
55
  }
77
56
  /**
78
57
  * Send a message to the queue
79
58
  * @param msg
80
59
  */
81
- sendMessage(msg) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- yield this.pubsub.topic(this.parameters.topic).publishMessage({ data: Buffer.from(JSON.stringify(msg)) });
84
- });
60
+ async sendMessage(msg) {
61
+ await this.pubsub.topic(this.parameters.topic).publishMessage({ data: Buffer.from(JSON.stringify(msg)) });
85
62
  }
86
63
  /**
87
64
  * Retrieve just one message from the queue
88
65
  * @param proto
89
66
  * @returns
90
67
  */
91
- receiveMessage(proto) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- let timeoutId;
94
- let errorHandler;
95
- let msgHandler;
96
- const subscription = this.pubsub.subscription(this.parameters.subscription, {
97
- flowControl: {
98
- maxMessages: 1,
99
- },
100
- });
101
- try {
102
- return yield new Promise((resolve, reject) => {
103
- if (this.parameters.timeout) {
104
- timeoutId = setTimeout(() => resolve([]), this.parameters.timeout);
105
- }
106
- errorHandler = err => {
107
- reject(err);
108
- };
109
- msgHandler = (message) => {
110
- this.messages[message.ackId] = message;
111
- resolve([
112
- {
113
- Message: this.unserialize(message.data.toString(), proto),
114
- ReceiptHandle: message.ackId,
115
- },
116
- ]);
117
- };
118
- subscription.on("error", errorHandler);
119
- subscription.on("message", msgHandler);
120
- });
121
- }
122
- finally {
123
- subscription.close();
124
- if (timeoutId) {
125
- 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);
126
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);
127
102
  }
128
- });
103
+ }
129
104
  }
130
105
  /**
131
106
  * Work a queue calling the callback with every Event received
@@ -139,21 +114,20 @@ class GCPQueue extends core_1.Queue {
139
114
  maxMessages: this.getMaxConsumers(),
140
115
  },
141
116
  });
142
- return new core_1.CancelablePromise(() => __awaiter(this, void 0, void 0, function* () {
143
- subscription.on("message", (message) => __awaiter(this, void 0, void 0, function* () {
117
+ return new CancelablePromise(async () => {
118
+ subscription.on("message", async (message) => {
144
119
  try {
145
- yield callback(this.unserialize(message.data.toString(), eventPrototype));
120
+ await callback(this.unserialize(message.data.toString(), eventPrototype));
146
121
  message.ack();
147
122
  }
148
123
  catch (err) {
149
124
  this.log("ERROR", `Message ${message.ackId}`, err);
150
125
  }
151
- }));
152
- }), () => __awaiter(this, void 0, void 0, function* () {
126
+ });
127
+ }, async () => {
153
128
  subscription.close();
154
- }));
129
+ });
155
130
  }
156
131
  }
157
- exports.default = GCPQueue;
158
- exports.GCPQueue = GCPQueue;
132
+ export { GCPQueue };
159
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":"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"}
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";