@webda/gcp 4.0.0-beta.2 → 4.0.0-beta.4

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 (68) hide show
  1. package/README.md +54 -4
  2. package/lib/index.d.ts +4 -4
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +4 -4
  5. package/lib/index.js.map +1 -1
  6. package/lib/services/firestore.service.d.ts +237 -0
  7. package/lib/services/firestore.service.d.ts.map +1 -0
  8. package/lib/services/firestore.service.js +693 -0
  9. package/lib/services/firestore.service.js.map +1 -0
  10. package/lib/services/index.d.ts +1 -1
  11. package/lib/services/index.d.ts.map +1 -1
  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 -15
  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 -4
  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 -16
  23. package/lib/services/queue.service.d.ts.map +1 -0
  24. package/lib/services/{queue.js → queue.service.js} +63 -32
  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} +116 -69
  29. package/lib/services/storage.service.js.map +1 -0
  30. package/package.json +33 -43
  31. package/webda.module.json +1122 -1440
  32. package/lib/index.spec.d.ts +0 -5
  33. package/lib/index.spec.d.ts.map +0 -1
  34. package/lib/index.spec.js +0 -7
  35. package/lib/index.spec.js.map +0 -1
  36. package/lib/services/firestore.d.ts +0 -135
  37. package/lib/services/firestore.d.ts.map +0 -1
  38. package/lib/services/firestore.js +0 -423
  39. package/lib/services/firestore.js.map +0 -1
  40. package/lib/services/firestore.spec.d.ts +0 -2
  41. package/lib/services/firestore.spec.d.ts.map +0 -1
  42. package/lib/services/firestore.spec.js +0 -187
  43. package/lib/services/firestore.spec.js.map +0 -1
  44. package/lib/services/kms.d.ts.map +0 -1
  45. package/lib/services/kms.js.map +0 -1
  46. package/lib/services/kms.spec.d.ts +0 -2
  47. package/lib/services/kms.spec.d.ts.map +0 -1
  48. package/lib/services/kms.spec.js +0 -53
  49. package/lib/services/kms.spec.js.map +0 -1
  50. package/lib/services/pubsub.d.ts.map +0 -1
  51. package/lib/services/pubsub.js.map +0 -1
  52. package/lib/services/pubsub.spec.d.ts +0 -2
  53. package/lib/services/pubsub.spec.d.ts.map +0 -1
  54. package/lib/services/pubsub.spec.js +0 -95
  55. package/lib/services/pubsub.spec.js.map +0 -1
  56. package/lib/services/queue.d.ts.map +0 -1
  57. package/lib/services/queue.js.map +0 -1
  58. package/lib/services/queue.spec.d.ts +0 -2
  59. package/lib/services/queue.spec.d.ts.map +0 -1
  60. package/lib/services/queue.spec.js +0 -117
  61. package/lib/services/queue.spec.js.map +0 -1
  62. package/lib/services/storage.d.ts +0 -215
  63. package/lib/services/storage.d.ts.map +0 -1
  64. package/lib/services/storage.js.map +0 -1
  65. package/lib/services/storage.spec.d.ts +0 -2
  66. package/lib/services/storage.spec.d.ts.map +0 -1
  67. package/lib/services/storage.spec.js +0 -224
  68. package/lib/services/storage.spec.js.map +0 -1
@@ -1,187 +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 { StoreTest } from "@webda/core/lib/stores/store.spec.js";
10
- import * as assert from "assert";
11
- import * as sinon from "sinon";
12
- import { randomUUID } from "crypto";
13
- import { FireStore } from "./firestore.js";
14
- import * as WebdaQL from "@webda/ql";
15
- let FireStoreTest = class FireStoreTest extends StoreTest {
16
- async before() {
17
- this.unitUuid = randomUUID();
18
- this.firestore = new Firestore();
19
- await super.before();
20
- }
21
- async getIdentStore() {
22
- return this.addService(FireStore, {
23
- collection: `idents-${this.webda.getUuid()}`,
24
- model: "Webda/Ident"
25
- }, "Idents");
26
- }
27
- async getUserStore() {
28
- return this.addService(FireStore, {
29
- collection: `users-${this.webda.getUuid()}`,
30
- model: "Webda/User"
31
- }, "Users");
32
- }
33
- /**
34
- * Delete a full collection
35
- */
36
- async deleteCollection(collectionPath, batchSize) {
37
- const collectionRef = this.firestore.collection(collectionPath);
38
- const query = collectionRef.orderBy("__name__").limit(batchSize);
39
- return new Promise((resolve, reject) => {
40
- this.deleteQueryBatch(this.firestore, query, resolve).catch(reject);
41
- });
42
- }
43
- async cleanCollection() {
44
- const collections = await this.firestore.listCollections();
45
- await Promise.all(collections.map(c => {
46
- return this.deleteCollection(c.id, 500);
47
- }));
48
- }
49
- async fillForQuery() {
50
- // Create a new store
51
- const store = await this.addService(FireStore, {
52
- collection: "webda-query",
53
- compoundIndexes: [{ state: "asc", "team.id": "asc" }]
54
- }, "queryStore");
55
- const res = await this.firestore.collection("webda-query").where("order", "==", 1).get();
56
- if (!res.docs.length) {
57
- console.log("Init the query collection");
58
- await Promise.all(this.getQueryDocuments().map(d => store.save(d)));
59
- }
60
- return store;
61
- }
62
- async query() {
63
- const store = await super.query();
64
- let exp = new WebdaQL.QueryValidator('state = "CA" AND role = 4').getExpression();
65
- let res = await store.find({ filter: exp, limit: 1000 });
66
- assert.strictEqual(res.filter, true, `Should not have any post filter ${res.filter.toString()}`);
67
- assert.strictEqual(res.results.length, 50);
68
- exp = new WebdaQL.QueryValidator('state = "CA" AND team.id < 5').getExpression();
69
- res = await store.find({ filter: exp, limit: 1000 });
70
- assert.strictEqual(res.filter, true, `Should not have post filter ${res.filter.toString()}`);
71
- assert.strictEqual(res.results.length, 100);
72
- exp = new WebdaQL.QueryValidator('state = "CA" AND team.id < 5 AND role >= 4').getExpression();
73
- res = await store.find({ filter: exp, limit: 1000 });
74
- assert.notStrictEqual(res.filter, true, `Should have post filter ${res.filter.toString()}`);
75
- assert.strictEqual(res.results.length, 100);
76
- assert.strictEqual(res.results.filter(c => res.filter.eval(c)).length, 50);
77
- exp = new WebdaQL.QueryValidator('state = "CA" AND role <= 4').getExpression();
78
- res = await store.find({ filter: exp, limit: 1000 });
79
- assert.notStrictEqual(res.filter, true, "Should have post filter");
80
- assert.strictEqual(res.results.length, 250);
81
- const items = ["CA", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
82
- res = await store.find({
83
- filter: new WebdaQL.QueryValidator(`state IN [${items.map(i => `"${i}"`).join(",")}]`).getExpression(),
84
- limit: 1000
85
- });
86
- // Should be post filtered
87
- assert.strictEqual(res.results.length, 1000);
88
- res = await store.find({
89
- filter: new WebdaQL.QueryValidator(`state IN ["CA", "OR"] AND team.id IN [4,8]`).getExpression(),
90
- limit: 1000
91
- });
92
- assert.strictEqual(res.results.length, 500);
93
- res = await store.find({
94
- filter: new WebdaQL.QueryValidator(`team.id < 5 AND state > "CA"`).getExpression(),
95
- limit: 1000
96
- });
97
- assert.strictEqual(res.results.length, 250);
98
- // Test double CONTAINS
99
- exp = new WebdaQL.QueryValidator('states CONTAINS "CA" AND states CONTAINS "OR"').getExpression();
100
- res = await store.find({ filter: exp, limit: 1000 });
101
- assert.notStrictEqual(res.filter, true, `Should have post filter as CONTAINS cannot be used twice`);
102
- return store;
103
- }
104
- async queryOrder() {
105
- // Disable default ordering query as it is not possible with Dynamo
106
- const store = await this.fillForQuery();
107
- let res = await store.query("order > 900 ORDER BY order DESC LIMIT 10");
108
- assert.strictEqual(res.results.shift().order, 999);
109
- res = await store.query("ORDER BY order ASC LIMIT 10");
110
- assert.strictEqual(res.results.shift().order, 0);
111
- res = await store.query("ORDER BY order DESC LIMIT 10");
112
- assert.strictEqual(res.results.shift().order, 999);
113
- res = await store.query("ORDER BY state ASC, team.id ASC LIMIT 10");
114
- res.results
115
- .map(c => this.mapQueryModel(c))
116
- .forEach(c => {
117
- assert.deepStrictEqual({ teamId: 0, state: "CA" }, { teamId: c.teamId, state: c.state });
118
- });
119
- // It should not fail even if index is not found
120
- res = await store.query("ORDER BY state ASC, team.id DESC LIMIT 10");
121
- res = await store.query("order > 900 ORDER BY team.id ASC LIMIT 10");
122
- res = await store.query("ORDER BY team.id ASC, order DESC LIMIT 10");
123
- }
124
- /**
125
- * Query batch
126
- *
127
- * Code from Google Documentation
128
- *
129
- */
130
- async deleteQueryBatch(db, query, resolve) {
131
- const snapshot = await query.get();
132
- const batchSize = snapshot.size;
133
- if (batchSize === 0) {
134
- // When there are no documents left, we are done
135
- resolve();
136
- return;
137
- }
138
- // Delete documents in a batch
139
- const batch = db.batch();
140
- snapshot.docs.forEach(doc => {
141
- batch.delete(doc.ref);
142
- });
143
- await batch.commit();
144
- // Recurse on the next process tick, to avoid
145
- // exploding the stack.
146
- process.nextTick(() => {
147
- this.deleteQueryBatch(db, query, resolve);
148
- });
149
- }
150
- async after() {
151
- await this.deleteCollection(`idents_${this.unitUuid}`, 10000);
152
- await this.deleteCollection(`users_${this.unitUuid}`, 10000);
153
- }
154
- async deleteCondition() {
155
- const idents = this.identStore;
156
- const obj = await idents.save({
157
- plop: 3
158
- });
159
- await assert.rejects(() => idents._delete(obj.getUuid(), 2, "plop"), /UpdateCondition not met/);
160
- await idents._delete(obj.getUuid(), 3, "plop");
161
- }
162
- async cov() {
163
- const store = this.identStore;
164
- await assert.rejects(() => store.upsertItemToCollection("inexisting", "plop", {}, 0), /Item not found inexisting/);
165
- sinon.stub(store, "getDocumentRef").callsFake(() => {
166
- throw new Error("FAKE");
167
- });
168
- await assert.rejects(() => store.upsertItemToCollection("inexisting", "plop", {}), /FAKE/);
169
- await assert.rejects(() => store.incrementAttribute("inexisting", "plop", 1), /FAKE/);
170
- }
171
- };
172
- __decorate([
173
- test
174
- ], FireStoreTest.prototype, "query", null);
175
- __decorate([
176
- test
177
- ], FireStoreTest.prototype, "queryOrder", null);
178
- __decorate([
179
- test
180
- ], FireStoreTest.prototype, "deleteCondition", null);
181
- __decorate([
182
- test
183
- ], FireStoreTest.prototype, "cov", null);
184
- FireStoreTest = __decorate([
185
- suite
186
- ], FireStoreTest);
187
- //# 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.d.ts","sourceRoot":"","sources":["../../src/services/kms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAiB,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgDrF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;gBACR,MAAM,EAAE,GAAG;CAIxB;AAED;;;;GAIG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,oBAAoB,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,EAAE,0BAA0B,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,iBAAiB,CAAC,GAAG,iBAAiB;IAIzE;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"kms.js","sourceRoot":"","sources":["../../src/services/kms.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=kms.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kms.spec.d.ts","sourceRoot":"","sources":["../../src/services/kms.spec.ts"],"names":[],"mappings":""}
@@ -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
- const 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
- const 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
- const 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,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CACxC,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,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,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,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,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.d.ts","sourceRoot":"","sources":["../../src/services/pubsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAW,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAQ,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExF,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;CACjD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB,CACnC,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CACnD,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,IAAI;IAIV;;;OAGG;IACH,mBAAmB,IAAI,MAAM;IAG7B;;OAEG;IACH,OAAO,CACL,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACrC,cAAc,CAAC,EAAE,UAAU,CAAC,EAC5B,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,GAC5C,iBAAiB,CAAC,IAAI,CAAC;CAoD3B;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/services/pubsub.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=pubsub.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pubsub.spec.d.ts","sourceRoot":"","sources":["../../src/services/pubsub.spec.ts"],"names":[],"mappings":""}
@@ -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 (const 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
- const 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
- const 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
- const 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.d.ts","sourceRoot":"","sources":["../../src/services/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErG;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;gBAElB,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;CAIpD;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3G;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAC,CAAiC;IACzD,OAAO,CAAC,eAAe,CAAC,CAAyC;IACjE;;OAEG;IACH,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IAC1C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB;IAI1D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAIxB;;;OAGG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM;IAK9B;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,CAAC;IAIxB;;;;OAIG;IACG,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IA8D1E;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,iBAAiB;CAuBlG;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/services/queue.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=queue.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.spec.d.ts","sourceRoot":"","sources":["../../src/services/queue.spec.ts"],"names":[],"mappings":""}
@@ -1,117 +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 GCPQueue from "./queue.js";
12
- import { PubSub } from "@google-cloud/pubsub";
13
- class FakeSubscription extends EventEmitter {
14
- emitError() {
15
- this.emit("error", "Fake error");
16
- }
17
- close() { }
18
- }
19
- let GCPQueueTest = class GCPQueueTest extends QueueTest {
20
- async before() {
21
- const pubsub = new PubSub();
22
- const [exists] = await pubsub.topic("unit-tests").exists();
23
- if (!exists) {
24
- await pubsub.createTopic("unit-tests");
25
- }
26
- await super.before();
27
- }
28
- async basic() {
29
- const queue = await this.addService(GCPQueue, {
30
- subscription: `queue_${this.webda.getUuid()}`,
31
- mode: "receiver",
32
- topic: "unit-tests",
33
- timeout: 30000
34
- });
35
- await queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
36
- ackDeadlineSeconds: 10,
37
- enableExactlyOnceDelivery: true
38
- });
39
- try {
40
- await this.simple(queue, true, 12000);
41
- this.log("DEBUG", "Verify receiveMessage is now empty");
42
- queue.getParameters().timeout = 1000;
43
- const msgs = await queue.receiveMessage();
44
- assert.strictEqual(msgs.length, 0);
45
- }
46
- finally {
47
- console.log("INFO", "Deleting subscription");
48
- try {
49
- await queue.pubsub.subscription(queue.getParameters().subscription).delete();
50
- }
51
- catch (err) {
52
- console.error("Error deleting subscription", err);
53
- }
54
- }
55
- }
56
- async consumers() {
57
- const queue = await this.addService(GCPQueue, {
58
- subscription: `queue_${this.webda.getUuid()}`,
59
- mode: "receiver",
60
- topic: "unit-tests",
61
- timeout: 30000
62
- });
63
- await queue.pubsub.createSubscription(queue.getParameters().topic, queue.getParameters().subscription, {
64
- ackDeadlineSeconds: 10,
65
- enableMessageOrdering: true
66
- });
67
- try {
68
- // Test consumer
69
- let msg;
70
- let consumed = 0;
71
- const consumer = queue.consume(async (dt) => {
72
- consumed++;
73
- if (msg) {
74
- throw new Error();
75
- }
76
- msg = dt;
77
- });
78
- await this.sleep(1000);
79
- this.log("DEBUG", "Consume sendMessage");
80
- await queue.sendMessage({ plop: 1 });
81
- this.log("DEBUG", "Consume cancel");
82
- await queue.sendMessage({ plop: 2 });
83
- // Need to wait before cancel to ensure message are received
84
- while (consumed < 2) {
85
- await this.sleep(500);
86
- }
87
- await consumer.cancel();
88
- this.log("DEBUG", "Consume assert");
89
- assert.notStrictEqual(msg, undefined);
90
- }
91
- finally {
92
- await queue.pubsub.subscription(queue.getParameters().subscription).delete();
93
- }
94
- }
95
- async receiveError() {
96
- const queue = await this.addService(GCPQueue, {
97
- subscription: `queue_${this.webda.getUuid()}`,
98
- mode: "consumer",
99
- topic: "unit-tests",
100
- timeout: 30000
101
- });
102
- await assert.rejects(() => queue.receiveMessage(), /You can only use receiveMessage in 'receiver' mode/);
103
- }
104
- };
105
- __decorate([
106
- test
107
- ], GCPQueueTest.prototype, "basic", null);
108
- __decorate([
109
- test
110
- ], GCPQueueTest.prototype, "consumers", null);
111
- __decorate([
112
- test
113
- ], GCPQueueTest.prototype, "receiveError", null);
114
- GCPQueueTest = __decorate([
115
- suite
116
- ], GCPQueueTest);
117
- //# 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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"}