@webda/gcp 4.0.0-beta.1 → 4.0.0-beta.3

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.
Files changed (57) hide show
  1. package/README.md +54 -4
  2. package/lib/index.d.ts +5 -4
  3. package/lib/index.d.ts.map +1 -0
  4. package/lib/index.js +4 -4
  5. package/lib/index.js.map +1 -1
  6. package/lib/services/firestore.service.d.ts +236 -0
  7. package/lib/services/firestore.service.d.ts.map +1 -0
  8. package/lib/services/firestore.service.js +692 -0
  9. package/lib/services/firestore.service.js.map +1 -0
  10. package/lib/services/index.d.ts +2 -1
  11. package/lib/services/index.d.ts.map +1 -0
  12. package/lib/services/index.js +1 -1
  13. package/lib/services/index.js.map +1 -1
  14. package/lib/services/{kms.d.ts → kms.service.d.ts} +14 -14
  15. package/lib/services/kms.service.d.ts.map +1 -0
  16. package/lib/services/{kms.js → kms.service.js} +18 -16
  17. package/lib/services/kms.service.js.map +1 -0
  18. package/lib/services/{pubsub.d.ts → pubsub.service.d.ts} +23 -3
  19. package/lib/services/pubsub.service.d.ts.map +1 -0
  20. package/lib/services/{pubsub.js → pubsub.service.js} +36 -10
  21. package/lib/services/pubsub.service.js.map +1 -0
  22. package/lib/services/{queue.d.ts → queue.service.d.ts} +32 -14
  23. package/lib/services/queue.service.d.ts.map +1 -0
  24. package/lib/services/{queue.js → queue.service.js} +65 -38
  25. package/lib/services/queue.service.js.map +1 -0
  26. package/lib/services/storage.service.d.ts +268 -0
  27. package/lib/services/storage.service.d.ts.map +1 -0
  28. package/lib/services/{storage.js → storage.service.js} +125 -78
  29. package/lib/services/storage.service.js.map +1 -0
  30. package/package.json +34 -40
  31. package/webda.module.json +1120 -1462
  32. package/lib/index.spec.d.ts +0 -4
  33. package/lib/index.spec.js +0 -7
  34. package/lib/index.spec.js.map +0 -1
  35. package/lib/services/firestore.d.ts +0 -134
  36. package/lib/services/firestore.js +0 -424
  37. package/lib/services/firestore.js.map +0 -1
  38. package/lib/services/firestore.spec.d.ts +0 -1
  39. package/lib/services/firestore.spec.js +0 -194
  40. package/lib/services/firestore.spec.js.map +0 -1
  41. package/lib/services/kms.js.map +0 -1
  42. package/lib/services/kms.spec.d.ts +0 -1
  43. package/lib/services/kms.spec.js +0 -53
  44. package/lib/services/kms.spec.js.map +0 -1
  45. package/lib/services/pubsub.js.map +0 -1
  46. package/lib/services/pubsub.spec.d.ts +0 -1
  47. package/lib/services/pubsub.spec.js +0 -95
  48. package/lib/services/pubsub.spec.js.map +0 -1
  49. package/lib/services/queue.js.map +0 -1
  50. package/lib/services/queue.spec.d.ts +0 -1
  51. package/lib/services/queue.spec.js +0 -104
  52. package/lib/services/queue.spec.js.map +0 -1
  53. package/lib/services/storage.d.ts +0 -214
  54. package/lib/services/storage.js.map +0 -1
  55. package/lib/services/storage.spec.d.ts +0 -1
  56. package/lib/services/storage.spec.js +0 -220
  57. package/lib/services/storage.spec.js.map +0 -1
@@ -1,194 +0,0 @@
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 { Firestore } from "@google-cloud/firestore";
8
- import { suite, test } from "@testdeck/mocha";
9
- import { Ident } from "@webda/core";
10
- import { StoreTest } from "@webda/core/lib/stores/store.spec.js";
11
- import * as assert from "assert";
12
- import * as sinon from "sinon";
13
- import { randomUUID } from "crypto";
14
- import { FireStore } from "./firestore.js";
15
- import * as WebdaQL from "@webda/ql";
16
- let FireStoreTest = class FireStoreTest extends StoreTest {
17
- async before() {
18
- this.unitUuid = randomUUID();
19
- this.firestore = new Firestore();
20
- await super.before();
21
- }
22
- getIdentStore() {
23
- let ident = this.getService("fireidents");
24
- ident.getParameters().collection += "_" + this.unitUuid;
25
- return ident;
26
- }
27
- getUserStore() {
28
- let user = this.getService("fireusers");
29
- user.getParameters().collection += "_" + this.unitUuid;
30
- return user;
31
- }
32
- getModelClass() {
33
- return Ident;
34
- }
35
- /**
36
- * Delete a full collection
37
- */
38
- async deleteCollection(collectionPath, batchSize) {
39
- const collectionRef = this.firestore.collection(collectionPath);
40
- const query = collectionRef.orderBy("__name__").limit(batchSize);
41
- return new Promise((resolve, reject) => {
42
- this.deleteQueryBatch(this.firestore, query, resolve).catch(reject);
43
- });
44
- }
45
- async cleanCollection() {
46
- let collections = await this.firestore.listCollections();
47
- await Promise.all(collections.map(c => {
48
- return this.deleteCollection(c.id, 500);
49
- }));
50
- }
51
- async fillForQuery() {
52
- // Create a new store
53
- let store = new FireStore(this.webda, "queryStore", {
54
- collection: "webda-query",
55
- compoundIndexes: [{ state: "asc", "team.id": "asc" }],
56
- expose: {
57
- url: "/query"
58
- }
59
- });
60
- store.resolve();
61
- await store.init();
62
- let res = await this.firestore.collection("webda-query").where("order", "==", 1).get();
63
- if (!res.docs.length) {
64
- console.log("Init the query collection");
65
- await Promise.all(this.getQueryDocuments().map(d => store.save(d)));
66
- }
67
- return store;
68
- }
69
- async query() {
70
- let store = await super.query();
71
- let exp = new WebdaQL.QueryValidator('state = "CA" AND role = 4').getExpression();
72
- let res = await store.find({ filter: exp, limit: 1000 });
73
- assert.strictEqual(res.filter, true, `Should not have any post filter ${res.filter.toString()}`);
74
- assert.strictEqual(res.results.length, 50);
75
- exp = new WebdaQL.QueryValidator('state = "CA" AND team.id < 5').getExpression();
76
- res = await store.find({ filter: exp, limit: 1000 });
77
- assert.strictEqual(res.filter, true, `Should not have post filter ${res.filter.toString()}`);
78
- assert.strictEqual(res.results.length, 100);
79
- exp = new WebdaQL.QueryValidator('state = "CA" AND team.id < 5 AND role >= 4').getExpression();
80
- res = await store.find({ filter: exp, limit: 1000 });
81
- assert.notStrictEqual(res.filter, true, `Should have post filter ${res.filter.toString()}`);
82
- assert.strictEqual(res.results.length, 100);
83
- assert.strictEqual(res.results.filter(c => res.filter.eval(c)).length, 50);
84
- exp = new WebdaQL.QueryValidator('state = "CA" AND role <= 4').getExpression();
85
- res = await store.find({ filter: exp, limit: 1000 });
86
- assert.notStrictEqual(res.filter, true, "Should have post filter");
87
- assert.strictEqual(res.results.length, 250);
88
- let items = ["CA", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
89
- res = await store.find({
90
- filter: new WebdaQL.QueryValidator(`state IN [${items.map(i => `"${i}"`).join(",")}]`).getExpression(),
91
- limit: 1000
92
- });
93
- // Should be post filtered
94
- assert.strictEqual(res.results.length, 1000);
95
- res = await store.find({
96
- filter: new WebdaQL.QueryValidator(`state IN ["CA", "OR"] AND team.id IN [4,8]`).getExpression(),
97
- limit: 1000
98
- });
99
- assert.strictEqual(res.results.length, 500);
100
- res = await store.find({
101
- filter: new WebdaQL.QueryValidator(`team.id < 5 AND state > "CA"`).getExpression(),
102
- limit: 1000
103
- });
104
- assert.strictEqual(res.results.length, 250);
105
- // Test double CONTAINS
106
- exp = new WebdaQL.QueryValidator('states CONTAINS "CA" AND states CONTAINS "OR"').getExpression();
107
- res = await store.find({ filter: exp, limit: 1000 });
108
- assert.notStrictEqual(res.filter, true, `Should have post filter as CONTAINS cannot be used twice`);
109
- return store;
110
- }
111
- async queryOrder() {
112
- // Disable default ordering query as it is not possible with Dynamo
113
- let store = await this.fillForQuery();
114
- let res = await store.query("order > 900 ORDER BY order DESC LIMIT 10");
115
- assert.strictEqual(res.results.shift().order, 999);
116
- res = await store.query("ORDER BY order ASC LIMIT 10");
117
- assert.strictEqual(res.results.shift().order, 0);
118
- res = await store.query("ORDER BY order DESC LIMIT 10");
119
- assert.strictEqual(res.results.shift().order, 999);
120
- res = await store.query("ORDER BY state ASC, team.id ASC LIMIT 10");
121
- res.results
122
- .map(c => this.mapQueryModel(c))
123
- .forEach(c => {
124
- assert.deepStrictEqual({ teamId: 0, state: "CA" }, { teamId: c.teamId, state: c.state });
125
- });
126
- // It should not fail even if index is not found
127
- res = await store.query("ORDER BY state ASC, team.id DESC LIMIT 10");
128
- res = await store.query("order > 900 ORDER BY team.id ASC LIMIT 10");
129
- res = await store.query("ORDER BY team.id ASC, order DESC LIMIT 10");
130
- }
131
- /**
132
- * Query batch
133
- *
134
- * Code from Google Documentation
135
- *
136
- */
137
- async deleteQueryBatch(db, query, resolve) {
138
- const snapshot = await query.get();
139
- const batchSize = snapshot.size;
140
- if (batchSize === 0) {
141
- // When there are no documents left, we are done
142
- resolve();
143
- return;
144
- }
145
- // Delete documents in a batch
146
- const batch = db.batch();
147
- snapshot.docs.forEach(doc => {
148
- batch.delete(doc.ref);
149
- });
150
- await batch.commit();
151
- // Recurse on the next process tick, to avoid
152
- // exploding the stack.
153
- process.nextTick(() => {
154
- this.deleteQueryBatch(db, query, resolve);
155
- });
156
- }
157
- async after() {
158
- await this.deleteCollection(`idents_${this.unitUuid}`, 10000);
159
- await this.deleteCollection(`users_${this.unitUuid}`, 10000);
160
- }
161
- async deleteCondition() {
162
- let idents = this.getIdentStore();
163
- let obj = await idents.save({
164
- plop: 3
165
- });
166
- await assert.rejects(() => idents._delete(obj.getUuid(), 2, "plop"), /UpdateCondition not met/);
167
- await idents._delete(obj.getUuid(), 3, "plop");
168
- }
169
- async cov() {
170
- const store = this.getIdentStore();
171
- await assert.rejects(() => store.upsertItemToCollection("inexisting", "plop", {}, 0), /Item not found inexisting/);
172
- sinon.stub(store, "getDocumentRef").callsFake(() => {
173
- throw new Error("FAKE");
174
- });
175
- await assert.rejects(() => store.upsertItemToCollection("inexisting", "plop", {}), /FAKE/);
176
- await assert.rejects(() => store.incrementAttribute("inexisting", "plop", 1), /FAKE/);
177
- }
178
- };
179
- __decorate([
180
- test
181
- ], FireStoreTest.prototype, "query", null);
182
- __decorate([
183
- test
184
- ], FireStoreTest.prototype, "queryOrder", null);
185
- __decorate([
186
- test
187
- ], FireStoreTest.prototype, "deleteCondition", null);
188
- __decorate([
189
- test
190
- ], FireStoreTest.prototype, "cov", null);
191
- FireStoreTest = __decorate([
192
- suite
193
- ], FireStoreTest);
194
- //# sourceMappingURL=firestore.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firestore.spec.js","sourceRoot":"","sources":["../../src/services/firestore.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"kms.js","sourceRoot":"","sources":["../../src/services/kms.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,53 +0,0 @@
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 { KeyManagementServiceClient } from "@google-cloud/kms";
8
- import { suite, test } from "@testdeck/mocha";
9
- import { WebdaSimpleTest } from "@webda/core/lib/test.js";
10
- import * as assert from "assert";
11
- import * as sinon from "sinon";
12
- import { GCPKMSService } from "./kms.js";
13
- let KMSTest = class KMSTest extends WebdaSimpleTest {
14
- async test() {
15
- sinon.stub(KeyManagementServiceClient.prototype, "encrypt").callsFake(() => {
16
- return [
17
- {
18
- ciphertext: "ciphertext"
19
- }
20
- ];
21
- });
22
- sinon.stub(KeyManagementServiceClient.prototype, "decrypt").callsFake(() => {
23
- return [
24
- {
25
- plaintext: "plaintext"
26
- }
27
- ];
28
- });
29
- let service = await this.registerService(new GCPKMSService(this.webda, "KMSService", {
30
- defaultKey: "projects/my-project/locations/us-east1/keyRings/my-key-ring/cryptoKeys/my-key"
31
- }))
32
- .resolve()
33
- .init();
34
- let encoded = await service.encrypt("test");
35
- assert.deepStrictEqual(Buffer.from(encoded.split(":")[0], "base64").toString().split(":"), [
36
- "my-project",
37
- "us-east1",
38
- "my-key-ring",
39
- "my-key"
40
- ]);
41
- assert.strictEqual(encoded.split(":").pop(), "Y2lwaGVydGV4dA==");
42
- let decoded = await service.decrypt(encoded);
43
- assert.strictEqual(decoded, "plaintext");
44
- assert.rejects(() => service.decrypt(Buffer.from("test:plop").toString("base64") + ":test"));
45
- }
46
- };
47
- __decorate([
48
- test
49
- ], KMSTest.prototype, "test", null);
50
- KMSTest = __decorate([
51
- suite
52
- ], KMSTest);
53
- //# sourceMappingURL=kms.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kms.spec.js","sourceRoot":"","sources":["../../src/services/kms.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,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,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,eAAe;IAE7B,AAAN,KAAK,CAAC,IAAI;QACR,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YACzE,OAAO;gBACL;oBACE,UAAU,EAAE,YAAY;iBACzB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YACzE,OAAO;gBACL;oBACE,SAAS,EAAE,WAAW;iBACvB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CACtC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE;YAC1C,UAAU,EAAE,+EAA+E;SAC5F,CAAC,CACH;aACE,OAAO,EAAE;aACT,IAAI,EAAE,CAAC;QACV,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACzF,YAAY;YACZ,UAAU;YACV,aAAa;YACb,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACjE,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF,CAAA;AAlCO;IADL,IAAI;mCAkCJ;AAnCG,OAAO;IADZ,KAAK;GACA,OAAO,CAoCZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/services/pubsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExF,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;CASzD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,gBAGnB,SAAQ,aAAmB;IAG3B;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAQ;QACxB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;IACpD,CAAC;IACD;;OAEG;IACH,OAAO,CACL,QAAqC,EACrC,cAA4B,EAC5B,MAA6C;QAE7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,IAAI,YAA0B,CAAC;QAC/B,MAAM,cAAc,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC1E,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;oBAAS,CAAC;gBACT,GAAG,EAAE,CAAC;YACR,CAAC;QACH,CAAC,CAAC;QACF,OAAO,IAAI,iBAAiB,CAC1B,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM;yBAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;yBAC5B,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;oBAC7E,YAAY,GAAG,MAAM,CAAC;gBACxB,CAAC;gBAED,yDAAyD;gBACzD,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAE3C,mDAAmD;gBACnD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBAC/B,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBACxC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBAC1D,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,EACD,KAAK,IAAI,EAAE;YACT,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBAClC,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,95 +0,0 @@
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 { PubSub } from "@google-cloud/pubsub";
8
- import { suite, test } from "@testdeck/mocha";
9
- import { Core, WaitFor, WaitLinearDelay } from "@webda/core";
10
- import { WebdaTest } from "@webda/core/lib/test.js";
11
- import * as assert from "assert";
12
- import * as sinon from "sinon";
13
- let GCPPubSubTest = class GCPPubSubTest extends WebdaTest {
14
- constructor() {
15
- super(...arguments);
16
- this.subscriptions = [];
17
- }
18
- async before() {
19
- const pubsub = new PubSub();
20
- const [exists] = await pubsub.topic("unit-tests").exists();
21
- if (!exists) {
22
- await pubsub.createTopic("unit-tests");
23
- }
24
- await super.before();
25
- }
26
- async after() {
27
- await super.after();
28
- const pubsub = new PubSub();
29
- for (let subscription of this.subscriptions) {
30
- try {
31
- const [exists] = await pubsub.subscription(subscription).exists();
32
- if (exists) {
33
- await pubsub.subscription(subscription).delete();
34
- }
35
- }
36
- catch (err) { }
37
- }
38
- }
39
- async basic() {
40
- let pubsub = this.webda.getService("pubsub");
41
- let subscriptionCount = 1;
42
- assert.strictEqual(pubsub.getSubscriptionName(), `${pubsub.getName()}-${Core.getMachineId()}`);
43
- sinon.stub(pubsub, "getSubscriptionName").callsFake(() => {
44
- const name = `test-${Core.getMachineId()}-${subscriptionCount++}`;
45
- this.subscriptions.push(name);
46
- return name;
47
- });
48
- let counter = 0;
49
- let consumers = [];
50
- let subscription;
51
- await new Promise((resolve, reject) => {
52
- consumers.push(pubsub.consume(async (evt) => {
53
- counter++;
54
- }));
55
- consumers.push(pubsub.consume(async (evt) => {
56
- counter++;
57
- throw new Error("Should not fail");
58
- }, undefined, sub => {
59
- subscription = sub;
60
- resolve();
61
- }));
62
- });
63
- await pubsub.sendMessage("plop");
64
- // This is not logical w/o subscription value
65
- assert.strictEqual(await pubsub.size(), 0);
66
- await WaitFor(async (resolve) => {
67
- if (counter === 2) {
68
- resolve();
69
- return true;
70
- }
71
- return false;
72
- }, 10, "Events", undefined, WaitLinearDelay(1000));
73
- // We might have concurrence in unit test
74
- assert.ok(counter >= 2);
75
- subscription.emit("error", "Fake server error");
76
- await assert.rejects(() => consumers[1], /Fake server error/);
77
- await consumers[0].cancel();
78
- // Hack our way to test exception within the main loop
79
- let stub = sinon.stub(pubsub.pubsub, "subscription").callsFake(() => {
80
- throw new Error("Bad code?");
81
- });
82
- // Should reject
83
- await assert.rejects(() => pubsub.consume(async (evt) => {
84
- counter++;
85
- }), /Bad code\?/);
86
- stub.restore();
87
- }
88
- };
89
- __decorate([
90
- test
91
- ], GCPPubSubTest.prototype, "basic", null);
92
- GCPPubSubTest = __decorate([
93
- suite
94
- ], GCPPubSubTest);
95
- //# sourceMappingURL=pubsub.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pubsub.spec.js","sourceRoot":"","sources":["../../src/services/pubsub.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/services/queue.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,104 +0,0 @@
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 { EventEmitter } from "events";
11
- import { PubSub } from "@google-cloud/pubsub";
12
- class FakeSubscription extends EventEmitter {
13
- emitError() {
14
- this.emit("error", "Fake error");
15
- }
16
- close() { }
17
- }
18
- let GCPQueueTest = class GCPQueueTest extends QueueTest {
19
- async before() {
20
- const pubsub = new PubSub();
21
- const [exists] = await pubsub.topic("unit-tests").exists();
22
- if (!exists) {
23
- await pubsub.createTopic("unit-tests");
24
- }
25
- await super.before();
26
- }
27
- async basic() {
28
- let queue = this.webda.getService("queue");
29
- queue.getParameters().subscription = `${queue.getParameters().subscription}_${this.webda.getUuid()}`;
30
- queue.getParameters().mode = "receiver";
31
- await queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
32
- ackDeadlineSeconds: 10,
33
- enableExactlyOnceDelivery: true
34
- });
35
- try {
36
- await this.simple(queue, true, 12000);
37
- this.log("DEBUG", "Verify receiveMessage is now empty");
38
- queue.getParameters().timeout = 1000;
39
- const msgs = await queue.receiveMessage();
40
- assert.strictEqual(msgs.length, 0);
41
- }
42
- finally {
43
- console.log("INFO", "Deleting subscription");
44
- try {
45
- await queue.pubsub.subscription(queue.getParameters().subscription).delete();
46
- }
47
- catch (err) {
48
- console.error("Error deleting subscription", err);
49
- }
50
- }
51
- }
52
- async consumers() {
53
- let queue = this.webda.getService("queue");
54
- queue.getParameters().subscription = `${queue.getParameters().subscription}_${this.webda.getUuid()}`;
55
- await queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
56
- ackDeadlineSeconds: 10,
57
- enableMessageOrdering: true
58
- });
59
- try {
60
- // Test consumer
61
- let msg;
62
- let consumed = 0;
63
- let consumer = queue.consume(async (dt) => {
64
- consumed++;
65
- if (msg) {
66
- throw new Error();
67
- }
68
- msg = dt;
69
- });
70
- await this.sleep(1000);
71
- this.log("DEBUG", "Consume sendMessage");
72
- await queue.sendMessage({ plop: 1 });
73
- this.log("DEBUG", "Consume cancel");
74
- await queue.sendMessage({ plop: 2 });
75
- // Need to wait before cancel to ensure message are received
76
- while (consumed < 2) {
77
- await this.sleep(500);
78
- }
79
- await consumer.cancel();
80
- this.log("DEBUG", "Consume assert");
81
- assert.notStrictEqual(msg, undefined);
82
- }
83
- finally {
84
- await queue.pubsub.subscription(queue.getParameters().subscription).delete();
85
- }
86
- }
87
- async receiveError() {
88
- let queue = this.webda.getService("queue");
89
- await assert.rejects(() => queue.receiveMessage(), /You can only use receiveMessage in 'receiver' mode/);
90
- }
91
- };
92
- __decorate([
93
- test
94
- ], GCPQueueTest.prototype, "basic", null);
95
- __decorate([
96
- test
97
- ], GCPQueueTest.prototype, "consumers", null);
98
- __decorate([
99
- test
100
- ], GCPQueueTest.prototype, "receiveError", null);
101
- GCPQueueTest = __decorate([
102
- suite
103
- ], GCPQueueTest);
104
- //# sourceMappingURL=queue.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.spec.js","sourceRoot":"","sources":["../../src/services/queue.spec.ts"],"names":[],"mappings":"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"}