@webda/core 2.0.0-beta.0 → 2.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 (229) hide show
  1. package/lib/application.d.ts +40 -18
  2. package/lib/application.js +20 -6
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +12 -0
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +69 -19
  7. package/lib/core.js +90 -38
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +42 -35
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +4 -0
  12. package/lib/index.js +5 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.js +3 -2
  15. package/lib/models/aclmodel.js.map +1 -1
  16. package/lib/models/aclmodel.spec.js +7 -4
  17. package/lib/models/aclmodel.spec.js.map +1 -1
  18. package/lib/models/coremodel.d.ts +82 -9
  19. package/lib/models/coremodel.js +49 -0
  20. package/lib/models/coremodel.js.map +1 -1
  21. package/lib/models/coremodel.spec.js +21 -2
  22. package/lib/models/coremodel.spec.js.map +1 -1
  23. package/lib/models/ident.d.ts +4 -2
  24. package/lib/models/ident.js.map +1 -1
  25. package/lib/models/ident.spec.js +1 -1
  26. package/lib/models/ident.spec.js.map +1 -1
  27. package/lib/models/ownermodel.d.ts +11 -1
  28. package/lib/models/ownermodel.js +16 -1
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/ownermodel.spec.js +32 -13
  31. package/lib/models/ownermodel.spec.js.map +1 -1
  32. package/lib/models/rolemodel.d.ts +1 -1
  33. package/lib/models/rolemodel.spec.js +3 -1
  34. package/lib/models/rolemodel.spec.js.map +1 -1
  35. package/lib/models/user.d.ts +3 -3
  36. package/lib/models/user.js.map +1 -1
  37. package/lib/models/user.spec.js +1 -1
  38. package/lib/models/user.spec.js.map +1 -1
  39. package/lib/queues/filequeue.js +2 -2
  40. package/lib/queues/filequeue.js.map +1 -1
  41. package/lib/queues/filequeue.spec.js +2 -2
  42. package/lib/queues/filequeue.spec.js.map +1 -1
  43. package/lib/queues/memoryqueue.spec.js +1 -1
  44. package/lib/queues/memoryqueue.spec.js.map +1 -1
  45. package/lib/queues/queue.spec.js +1 -1
  46. package/lib/queues/queue.spec.js.map +1 -1
  47. package/lib/queues/queueservice.d.ts +2 -2
  48. package/lib/queues/queueservice.js +1 -0
  49. package/lib/queues/queueservice.js.map +1 -1
  50. package/lib/router.d.ts +6 -1
  51. package/lib/router.js +3 -12
  52. package/lib/router.js.map +1 -1
  53. package/lib/router.spec.js +5 -5
  54. package/lib/router.spec.js.map +1 -1
  55. package/lib/services/asyncevents.spec.js +2 -2
  56. package/lib/services/asyncevents.spec.js.map +1 -1
  57. package/lib/services/authentication.d.ts +33 -14
  58. package/lib/services/authentication.js +24 -36
  59. package/lib/services/authentication.js.map +1 -1
  60. package/lib/services/authentication.spec.js +16 -16
  61. package/lib/services/authentication.spec.js.map +1 -1
  62. package/lib/services/binary.d.ts +3 -3
  63. package/lib/services/binary.js +24 -17
  64. package/lib/services/binary.js.map +1 -1
  65. package/lib/services/binary.spec.d.ts +1 -1
  66. package/lib/services/binary.spec.js +5 -5
  67. package/lib/services/binary.spec.js.map +1 -1
  68. package/lib/services/cloudbinary.d.ts +2 -2
  69. package/lib/services/cloudbinary.js +3 -3
  70. package/lib/services/cloudbinary.js.map +1 -1
  71. package/lib/services/cloudbinary.spec.js +8 -1
  72. package/lib/services/cloudbinary.spec.js.map +1 -1
  73. package/lib/services/configuration.d.ts +5 -2
  74. package/lib/services/configuration.js +4 -2
  75. package/lib/services/configuration.js.map +1 -1
  76. package/lib/services/configuration.spec.js +2 -2
  77. package/lib/services/configuration.spec.js.map +1 -1
  78. package/lib/services/cron.d.ts +1 -1
  79. package/lib/services/cron.js +1 -1
  80. package/lib/services/cron.js.map +1 -1
  81. package/lib/services/cron.spec.js +3 -3
  82. package/lib/services/cron.spec.js.map +1 -1
  83. package/lib/services/cryptoservice.d.ts +253 -0
  84. package/lib/services/cryptoservice.js +346 -0
  85. package/lib/services/cryptoservice.js.map +1 -0
  86. package/lib/services/cryptoservice.spec.d.ts +1 -0
  87. package/lib/services/cryptoservice.spec.js +164 -0
  88. package/lib/services/cryptoservice.spec.js.map +1 -0
  89. package/lib/services/debugmailer.spec.js +1 -1
  90. package/lib/services/debugmailer.spec.js.map +1 -1
  91. package/lib/services/echo.d.ts +1 -1
  92. package/lib/services/echo.spec.js +3 -3
  93. package/lib/services/echo.spec.js.map +1 -1
  94. package/lib/services/filebinary.d.ts +16 -6
  95. package/lib/services/filebinary.js +45 -22
  96. package/lib/services/filebinary.js.map +1 -1
  97. package/lib/services/filebinary.spec.js +7 -11
  98. package/lib/services/filebinary.spec.js.map +1 -1
  99. package/lib/services/fileconfiguration.d.ts +1 -1
  100. package/lib/services/fileconfiguration.js +3 -2
  101. package/lib/services/fileconfiguration.js.map +1 -1
  102. package/lib/services/fileconfiguration.spec.js +2 -2
  103. package/lib/services/fileconfiguration.spec.js.map +1 -1
  104. package/lib/services/invitationservice.d.ts +28 -6
  105. package/lib/services/invitationservice.js +8 -5
  106. package/lib/services/invitationservice.js.map +1 -1
  107. package/lib/services/invitationservice.spec.js +4 -4
  108. package/lib/services/invitationservice.spec.js.map +1 -1
  109. package/lib/services/kubernetesconfiguration.d.ts +1 -1
  110. package/lib/services/kubernetesconfiguration.js +3 -2
  111. package/lib/services/kubernetesconfiguration.js.map +1 -1
  112. package/lib/services/kubernetesconfiguration.spec.js +4 -4
  113. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  114. package/lib/services/mailer.js.map +1 -1
  115. package/lib/services/mailer.spec.js +3 -3
  116. package/lib/services/mailer.spec.js.map +1 -1
  117. package/lib/services/notificationservice.d.ts +1 -1
  118. package/lib/services/notificationservice.js +2 -0
  119. package/lib/services/notificationservice.js.map +1 -1
  120. package/lib/services/notificationservice.spec.js +2 -2
  121. package/lib/services/notificationservice.spec.js.map +1 -1
  122. package/lib/services/oauth.d.ts +30 -4
  123. package/lib/services/oauth.js +19 -10
  124. package/lib/services/oauth.js.map +1 -1
  125. package/lib/services/oauth.spec.js +30 -23
  126. package/lib/services/oauth.spec.js.map +1 -1
  127. package/lib/services/proxy.d.ts +78 -0
  128. package/lib/services/proxy.js +139 -0
  129. package/lib/services/proxy.js.map +1 -0
  130. package/lib/services/proxy.spec.d.ts +1 -0
  131. package/lib/services/proxy.spec.js +78 -0
  132. package/lib/services/proxy.spec.js.map +1 -0
  133. package/lib/services/resource.d.ts +17 -0
  134. package/lib/services/resource.js +20 -6
  135. package/lib/services/resource.js.map +1 -1
  136. package/lib/services/resource.spec.js +4 -3
  137. package/lib/services/resource.spec.js.map +1 -1
  138. package/lib/services/service.d.ts +10 -7
  139. package/lib/services/service.js +7 -3
  140. package/lib/services/service.js.map +1 -1
  141. package/lib/services/service.spec.js +2 -2
  142. package/lib/services/service.spec.js.map +1 -1
  143. package/lib/services/version.d.ts +1 -1
  144. package/lib/services/version.spec.js +1 -1
  145. package/lib/services/version.spec.js.map +1 -1
  146. package/lib/stores/aggregator.d.ts +1 -1
  147. package/lib/stores/aggregator.js +1 -0
  148. package/lib/stores/aggregator.js.map +1 -1
  149. package/lib/stores/file.d.ts +9 -1
  150. package/lib/stores/file.js +7 -4
  151. package/lib/stores/file.js.map +1 -1
  152. package/lib/stores/file.spec.d.ts +3 -1
  153. package/lib/stores/file.spec.js +30 -7
  154. package/lib/stores/file.spec.js.map +1 -1
  155. package/lib/stores/mapper.d.ts +1 -1
  156. package/lib/stores/mapper.js +2 -0
  157. package/lib/stores/mapper.js.map +1 -1
  158. package/lib/stores/mapper.spec.js +1 -1
  159. package/lib/stores/mapper.spec.js.map +1 -1
  160. package/lib/stores/memory.d.ts +65 -4
  161. package/lib/stores/memory.js +85 -1
  162. package/lib/stores/memory.js.map +1 -1
  163. package/lib/stores/memory.spec.d.ts +2 -1
  164. package/lib/stores/memory.spec.js +47 -4
  165. package/lib/stores/memory.spec.js.map +1 -1
  166. package/lib/stores/store.d.ts +27 -5
  167. package/lib/stores/store.js +107 -22
  168. package/lib/stores/store.js.map +1 -1
  169. package/lib/stores/store.spec.d.ts +4 -3
  170. package/lib/stores/store.spec.js +37 -14
  171. package/lib/stores/store.spec.js.map +1 -1
  172. package/lib/stores/webdaql/WebdaQLLexer.js +2 -2
  173. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  174. package/lib/stores/webdaql/WebdaQLParserLexer.js +2 -2
  175. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  176. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +1 -25
  177. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +1 -1
  178. package/lib/stores/webdaql/WebdaQLParserParser.js +2 -2
  179. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  180. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +1 -25
  181. package/lib/stores/webdaql/query.d.ts +3 -3
  182. package/lib/stores/webdaql/query.js +4 -4
  183. package/lib/stores/webdaql/query.js.map +1 -1
  184. package/lib/stores/webdaql/query.spec.js +1 -1
  185. package/lib/stores/webdaql/query.spec.js.map +1 -1
  186. package/lib/test.d.ts +6 -8
  187. package/lib/test.js +12 -18
  188. package/lib/test.js.map +1 -1
  189. package/lib/unpackedapplication.js +24 -7
  190. package/lib/unpackedapplication.js.map +1 -1
  191. package/lib/utils/abstractdeployer.spec.js +1 -1
  192. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  193. package/lib/utils/context.d.ts +61 -73
  194. package/lib/utils/context.js +81 -159
  195. package/lib/utils/context.js.map +1 -1
  196. package/lib/utils/context.spec.js +79 -40
  197. package/lib/utils/context.spec.js.map +1 -1
  198. package/lib/utils/cookie.d.ts +65 -44
  199. package/lib/utils/cookie.js +75 -145
  200. package/lib/utils/cookie.js.map +1 -1
  201. package/lib/utils/cookie.spec.js +203 -199
  202. package/lib/utils/cookie.spec.js.map +1 -1
  203. package/lib/utils/httpcontext.d.ts +182 -0
  204. package/lib/utils/httpcontext.js +325 -0
  205. package/lib/utils/httpcontext.js.map +1 -0
  206. package/lib/utils/httpcontext.spec.d.ts +5 -0
  207. package/lib/utils/httpcontext.spec.js +90 -0
  208. package/lib/utils/httpcontext.spec.js.map +1 -0
  209. package/lib/utils/logger.d.ts +2 -2
  210. package/lib/utils/logger.js +1 -1
  211. package/lib/utils/logger.js.map +1 -1
  212. package/lib/utils/logger.spec.js.map +1 -1
  213. package/lib/utils/serializers.js +1 -1
  214. package/lib/utils/serializers.js.map +1 -1
  215. package/lib/utils/serializers.spec.js +3 -3
  216. package/lib/utils/serializers.spec.js.map +1 -1
  217. package/lib/utils/session.d.ts +120 -0
  218. package/lib/utils/session.js +177 -0
  219. package/lib/utils/session.js.map +1 -0
  220. package/lib/utils/session.spec.d.ts +1 -0
  221. package/lib/utils/session.spec.js +79 -0
  222. package/lib/utils/session.spec.js.map +1 -0
  223. package/lib/utils/waiter.js.map +1 -1
  224. package/lib/utils/waiter.spec.js +2 -2
  225. package/lib/utils/waiter.spec.js.map +1 -1
  226. package/package.json +10 -7
  227. package/test/config.json +4 -2
  228. package/test/models/task.js +0 -1
  229. package/webda.module.json +3 -2
package/lib/core.js CHANGED
@@ -9,18 +9,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Core = exports.Route = exports.Bean = exports.WebsiteOriginFilter = exports.OriginFilter = exports.WebdaError = void 0;
12
+ exports.Core = exports.Route = exports.Bean = exports.WebsiteOriginFilter = exports.OriginFilter = exports.WebdaError = exports.RegistryEntry = void 0;
13
13
  const ajv_1 = require("ajv");
14
14
  const ajv_formats_1 = require("ajv-formats");
15
+ const validation_error_1 = require("ajv/dist/runtime/validation_error");
16
+ const deepmerge_ts_1 = require("deepmerge-ts");
15
17
  const events = require("events");
16
18
  const jsonpath = require("jsonpath");
19
+ const node_machine_id_1 = require("node-machine-id");
20
+ const uuid_1 = require("uuid");
17
21
  const vm = require("vm");
18
22
  const index_1 = require("./index");
19
23
  const coremodel_1 = require("./models/coremodel");
20
24
  const router_1 = require("./router");
21
- const uuid_1 = require("uuid");
22
- const validation_error_1 = require("ajv/dist/runtime/validation_error");
23
- const deepmerge_ts_1 = require("deepmerge-ts");
25
+ /**
26
+ *
27
+ */
28
+ class RegistryEntry extends coremodel_1.CoreModel {
29
+ }
30
+ exports.RegistryEntry = RegistryEntry;
24
31
  /**
25
32
  * Error with a code
26
33
  */
@@ -68,10 +75,10 @@ class OriginFilter {
68
75
  return __awaiter(this, void 0, void 0, function* () {
69
76
  let httpContext = context.getHttpContext();
70
77
  for (let regexp of this.regexs) {
71
- if (httpContext.origin.match(regexp)) {
78
+ if (httpContext.hostname.match(regexp)) {
72
79
  return true;
73
80
  }
74
- if (httpContext.root.match(regexp)) {
81
+ if (httpContext.origin.match(regexp)) {
75
82
  return true;
76
83
  }
77
84
  }
@@ -101,8 +108,8 @@ class WebsiteOriginFilter {
101
108
  checkRequest(context) {
102
109
  return __awaiter(this, void 0, void 0, function* () {
103
110
  let httpContext = context.getHttpContext();
104
- if (this.websites.indexOf(httpContext.root) >= 0 ||
105
- this.websites.indexOf(httpContext.origin) >= 0 ||
111
+ if (this.websites.indexOf(httpContext.origin) >= 0 ||
112
+ this.websites.indexOf(httpContext.host) >= 0 ||
106
113
  this.websites.indexOf("*") >= 0) {
107
114
  return true;
108
115
  }
@@ -157,8 +164,17 @@ class Core extends events.EventEmitter {
157
164
  * @hidden
158
165
  */
159
166
  this.services = {};
167
+ /**
168
+ * Router that will route http request in
169
+ */
160
170
  this.router = new router_1.Router(this);
171
+ /**
172
+ * If Core is already initiated
173
+ */
161
174
  this._initiated = false;
175
+ /**
176
+ * Services who failed to create or initialize
177
+ */
162
178
  this.failedServices = {};
163
179
  /**
164
180
  * Request Filter registry
@@ -284,14 +300,24 @@ class Core extends events.EventEmitter {
284
300
  }
285
301
  });
286
302
  }
303
+ /**
304
+ * Get an object from the application based on its full uuid
305
+ * @param fullUuid
306
+ * @param partials
307
+ */
308
+ getModelObject(fullUuid, partials) {
309
+ return __awaiter(this, void 0, void 0, function* () {
310
+ return coremodel_1.CoreModel.fromFullUuid(this, fullUuid, partials);
311
+ });
312
+ }
287
313
  /**
288
314
  * Init Webda
289
315
  *
290
316
  * It will resolve Services init method and autolink
291
317
  */
292
318
  init() {
293
- var _a, _b;
294
- var _c, _d;
319
+ var _a, _b, _c, _d, _e;
320
+ var _f, _g, _h, _j, _k;
295
321
  return __awaiter(this, void 0, void 0, function* () {
296
322
  if (this._init) {
297
323
  return this._init;
@@ -303,8 +329,8 @@ class Core extends events.EventEmitter {
303
329
  this.createService(this.configuration.services, this.configuration.parameters.configurationService);
304
330
  let cfg = yield this.getService(this.configuration.parameters.configurationService).initConfiguration();
305
331
  if (cfg.webda) {
306
- (_a = (_c = cfg.webda).parameters) !== null && _a !== void 0 ? _a : (_c.parameters = {});
307
- (_b = (_d = cfg.webda).services) !== null && _b !== void 0 ? _b : (_d.services = {});
332
+ (_a = (_f = cfg.webda).parameters) !== null && _a !== void 0 ? _a : (_f.parameters = {});
333
+ (_b = (_g = cfg.webda).services) !== null && _b !== void 0 ? _b : (_g.services = {});
308
334
  this.configuration.parameters = Object.assign(Object.assign({}, this.configuration.parameters), cfg.webda.parameters);
309
335
  for (let i in this.configuration.services) {
310
336
  this.configuration.services[i] = Object.assign(Object.assign({}, (0, deepmerge_ts_1.deepmerge)(this.configuration.services[i], cfg.webda.services[i] || {})), { type: this.configuration.services[i].type });
@@ -317,6 +343,29 @@ class Core extends events.EventEmitter {
317
343
  this.services = {};
318
344
  }
319
345
  }
346
+ // Init the registry
347
+ const autoRegistry = this.configuration.services["Registry"] === undefined;
348
+ (_c = (_h = this.configuration.services)["Registry"]) !== null && _c !== void 0 ? _c : (_h["Registry"] = {
349
+ type: "webda/memorystore",
350
+ persistence: {
351
+ path: ".registry",
352
+ key: (0, node_machine_id_1.machineIdSync)()
353
+ }
354
+ });
355
+ this.createService(this.configuration.services, "Registry");
356
+ this.registry = yield this.getService("Registry").resolve().init();
357
+ // Init the key service
358
+ (_d = (_j = this.configuration.services)["CryptoService"]) !== null && _d !== void 0 ? _d : (_j["CryptoService"] = {
359
+ type: "webda/cryptoservice",
360
+ autoRotate: autoRegistry ? 86400 : undefined
361
+ });
362
+ this.createService(this.configuration.services, "CryptoService");
363
+ this.cryptoService = yield this.getService("CryptoService").resolve().init();
364
+ // Session Manager
365
+ (_e = (_k = this.configuration.services)["SessionManager"]) !== null && _e !== void 0 ? _e : (_k["SessionManager"] = {
366
+ type: "webda/cookiesessionmanager"
367
+ });
368
+ // Init the other services
320
369
  this.initStatics();
321
370
  this.reinitResolvedRoutes();
322
371
  this.log("TRACE", "Create Webda init promise");
@@ -513,28 +562,6 @@ class Core extends events.EventEmitter {
513
562
  getModel(name) {
514
563
  return this.application.getModel(name);
515
564
  }
516
- /**
517
- * This should return a "turning" secret with cache and a service to modify it every x mins
518
- * WARNING The security is lower without this "turning" secret, you can still set the global.secret parameter
519
- *
520
- * Dont rely on this method, it will probably disapear to avoid secret leak
521
- *
522
- * @deprecated
523
- * @returns {String} Current secret
524
- */
525
- getSecret() {
526
- // For now a static config file but should have a rolling service secret
527
- return this.configuration.parameters.sessionSecret;
528
- }
529
- /**
530
- * Return a salt to use when doing digest
531
- *
532
- * @returns {String} Current salt
533
- */
534
- getSalt() {
535
- // For now a static config file but should have a rolling service secret
536
- return this.configuration.parameters.salt;
537
- }
538
565
  /**
539
566
  * Add to context information and executor based on the http context
540
567
  */
@@ -700,12 +727,26 @@ class Core extends events.EventEmitter {
700
727
  }
701
728
  return methods;
702
729
  }
730
+ /**
731
+ * A registry is a predefined store
732
+ * @returns
733
+ */
734
+ getRegistry() {
735
+ return this.getService("Registry");
736
+ }
737
+ /**
738
+ * Return the crypto service
739
+ * @returns
740
+ */
741
+ getCrypto() {
742
+ return this.cryptoService;
743
+ }
703
744
  /**
704
745
  * Auto connect services with setters
705
746
  */
706
747
  autoConnectServices() {
707
748
  for (let service in this.services) {
708
- this.log("TRACE", "Auto-connect", service, Object.keys(this.configuration.services));
749
+ this.log("TRACE", "Auto-connect", service);
709
750
  try {
710
751
  let serviceBean = this.services[service];
711
752
  if (!serviceBean.resolve) {
@@ -737,7 +778,8 @@ class Core extends events.EventEmitter {
737
778
  */
738
779
  initStatics() {
739
780
  if (this.configuration.services !== undefined) {
740
- this.createServices(Object.keys(this.services));
781
+ // Do not recreate the configuration services
782
+ this.createServices(Object.keys(this.services).filter(k => k !== this.configuration.parameters.configurationService && k !== "registry" && k !== "keyservice"));
741
783
  }
742
784
  this.router.remapRoutes();
743
785
  this._initiated = true;
@@ -802,8 +844,18 @@ class Core extends events.EventEmitter {
802
844
  * @param format to return different type of format
803
845
  * Plan to implement base64 and maybe base85
804
846
  */
805
- getUuid(_format = "hex") {
806
- return (0, uuid_1.v4)().toString();
847
+ getUuid(format = "uuid") {
848
+ if (format === "uuid") {
849
+ return (0, uuid_1.v4)().toString();
850
+ }
851
+ let buffer = Buffer.alloc(16);
852
+ (0, uuid_1.v4)(undefined, buffer);
853
+ if (format === "base64") {
854
+ // Remove useless = we won't transfer back to original value or could just add ==
855
+ // https://datatracker.ietf.org/doc/html/rfc4648#page-7
856
+ return buffer.toString(format).replace(/=/g, "").replace(/\//g, "_").replace(/\+/g, "-");
857
+ }
858
+ return buffer.toString(format);
807
859
  }
808
860
  /**
809
861
  * @override
package/lib/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/lib/core.spec.js CHANGED
@@ -23,6 +23,7 @@ const index_1 = require("./index");
23
23
  const store_1 = require("./stores/store");
24
24
  const test_1 = require("./test");
25
25
  const context_1 = require("./utils/context");
26
+ const httpcontext_1 = require("./utils/httpcontext");
26
27
  const sinon = require("sinon");
27
28
  class BadService {
28
29
  constructor() {
@@ -90,15 +91,15 @@ let CSRFTest = class CSRFTest extends test_1.WebdaTest {
90
91
  csrfRegExp() {
91
92
  return __awaiter(this, void 0, void 0, function* () {
92
93
  this.webda.getConfiguration().parameters.website = "http://localhost:18181";
93
- this.ctx.setHttpContext(new context_1.HttpContext("accounts.google.fr", "GET", "/", "https", 443, {}));
94
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("accounts.google.fr", "GET", "/", "https", 443));
94
95
  assert.strictEqual(yield this.checkRequest(this.ctx), true);
95
- this.ctx.setHttpContext(new context_1.HttpContext("accounts.google.com", "GET", "/", "https", 443, {}));
96
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("accounts.google.com", "GET", "/", "https", 443));
96
97
  assert.strictEqual(yield this.checkRequest(this.ctx), true);
97
- this.ctx.setHttpContext(new context_1.HttpContext("accounts.google.fr.loopingz.com", "GET", "/", "https", 443, {}));
98
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("accounts.google.fr.loopingz.com", "GET", "/", "https", 443));
98
99
  assert.strictEqual(yield this.checkRequest(this.ctx), false);
99
- this.ctx.setHttpContext(new context_1.HttpContext("www.facebook.com", "GET", "/", "https", 443, {}));
100
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("www.facebook.com", "GET", "/", "https", 443));
100
101
  assert.strictEqual(yield this.checkRequest(this.ctx), true);
101
- this.ctx.setHttpContext(new context_1.HttpContext("www.facebook.com.eu", "GET", "/", "https", 443, {}));
102
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("www.facebook.com.eu", "GET", "/", "https", 443));
102
103
  assert.strictEqual(yield this.checkRequest(this.ctx), false);
103
104
  });
104
105
  }
@@ -127,44 +128,44 @@ let CSRFTest = class CSRFTest extends test_1.WebdaTest {
127
128
  return __awaiter(this, void 0, void 0, function* () {
128
129
  this.filter = new core_1.WebsiteOriginFilter("http://localhost:18181");
129
130
  // Exact match
130
- this.ctx.setHttpContext(new context_1.HttpContext("localhost:18181", "GET", "/", "http", 80, {}));
131
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost:18181", "GET", "/", "http", 80));
131
132
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), true);
132
133
  // Bad protocol
133
- this.ctx.setHttpContext(new context_1.HttpContext("localhost:18181", "GET", "/", "https", 443, {}));
134
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost:18181", "GET", "/", "https", 443));
134
135
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
135
136
  // Bad port
136
- this.ctx.setHttpContext(new context_1.HttpContext("localhost:18181", "GET", "/", "http", 18182, {}));
137
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost:18181", "GET", "/", "http", 18182));
137
138
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
138
139
  // Bad host
139
- this.ctx.setHttpContext(new context_1.HttpContext("localhost2:18181", "GET", "/", "http", 18181, {}));
140
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost2:18181", "GET", "/", "http", 18181));
140
141
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
141
142
  });
142
143
  }
143
144
  websiteArray() {
144
145
  return __awaiter(this, void 0, void 0, function* () {
145
146
  this.filter = new core_1.WebsiteOriginFilter(["http://localhost:18181", "http://localhost2:18181"]);
146
- this.ctx.setHttpContext(new context_1.HttpContext("localhost", "GET", "/", "http", 18181, {}));
147
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost", "GET", "/", "http", 18181));
147
148
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), true);
148
149
  // Just host headers
149
150
  this.webda.getConfiguration().parameters.website = ["http://localhost:18181", "http://localhost2:18181"];
150
151
  // First host
151
- this.ctx.setHttpContext(new context_1.HttpContext("localhost", "GET", "/", "http", 18181, {}));
152
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost", "GET", "/", "http", 18181));
152
153
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), true);
153
154
  // Second host
154
- this.ctx.setHttpContext(new context_1.HttpContext("localhost2", "GET", "/", "http", 18181, {}));
155
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost2", "GET", "/", "http", 18181));
155
156
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), true);
156
157
  // Bad port
157
- this.ctx.setHttpContext(new context_1.HttpContext("localhost", "GET", "/", "http", 18182, {}));
158
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost", "GET", "/", "http", 18182));
158
159
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
159
160
  // Bad host
160
- this.ctx.setHttpContext(new context_1.HttpContext("localhost3", "GET", "/", "http", 18181, {}));
161
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost3", "GET", "/", "http", 18181));
161
162
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
162
163
  });
163
164
  }
164
165
  originFilter() {
165
166
  return __awaiter(this, void 0, void 0, function* () {
166
167
  let filter = new core_1.OriginFilter(["https://localhost3"]);
167
- this.ctx.setHttpContext(new context_1.HttpContext("localhost3", "GET", "/", "https", 443, {}));
168
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost3", "GET", "/", "https", 443));
168
169
  assert.strictEqual(yield filter.checkRequest(this.ctx), true);
169
170
  });
170
171
  }
@@ -175,13 +176,13 @@ let CSRFTest = class CSRFTest extends test_1.WebdaTest {
175
176
  url: "localhost:18181"
176
177
  });
177
178
  // Good host
178
- this.ctx.setHttpContext(new context_1.HttpContext("localhost", "GET", "/", "http", 18181, {}));
179
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost", "GET", "/", "http", 18181));
179
180
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), true);
180
181
  // Bad host
181
- this.ctx.setHttpContext(new context_1.HttpContext("localhost2", "GET", "/", "http", 18181, {}));
182
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost2", "GET", "/", "http", 18181));
182
183
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
183
184
  // Bad port
184
- this.ctx.setHttpContext(new context_1.HttpContext("localhost", "GET", "/", "http", 18182, {}));
185
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("localhost", "GET", "/", "http", 18182));
185
186
  assert.strictEqual(yield this.filter.checkRequest(this.ctx), false);
186
187
  });
187
188
  }
@@ -192,11 +193,11 @@ let CSRFTest = class CSRFTest extends test_1.WebdaTest {
192
193
  url: "localhost:18181"
193
194
  }
194
195
  */
195
- this.ctx.setHttpContext(new context_1.HttpContext("csrf.com", "GET", "/bouzouf/route", "https", 443, {}));
196
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("csrf.com", "GET", "/bouzouf/route", "https", 443));
196
197
  assert.strictEqual(yield this.checkRequest(this.ctx), true);
197
- this.ctx.setHttpContext(new context_1.HttpContext("csrf.com", "GET", "/bouzouf2/route", "https", 443, {}));
198
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("csrf.com", "GET", "/bouzouf2/route", "https", 443));
198
199
  assert.strictEqual(yield this.checkRequest(this.ctx), false);
199
- this.ctx.setHttpContext(new context_1.HttpContext("csrfs.com", "GET", "/bouzouf/route", "https", 443, {}));
200
+ this.ctx.setHttpContext(new httpcontext_1.HttpContext("csrfs.com", "GET", "/bouzouf/route", "https", 443));
200
201
  assert.strictEqual(yield this.checkRequest(this.ctx), false);
201
202
  });
202
203
  }
@@ -306,20 +307,23 @@ let CoreTest = class CoreTest extends test_1.WebdaTest {
306
307
  getServiceSample() {
307
308
  assert.notStrictEqual(null, this.webda.getService("Authentication"));
308
309
  }
310
+ registry() {
311
+ return __awaiter(this, void 0, void 0, function* () {
312
+ yield this.webda.getRegistry().put("test", { anyData: "plop" });
313
+ assert.strictEqual((yield this.webda.getRegistry().get("test")).anyData, "plop");
314
+ });
315
+ }
309
316
  getServicesImplementations() {
310
317
  let moddas = this.webda.getServicesOfType();
311
- assert.strictEqual(Object.keys(moddas).length, 26);
312
- }
313
- consumeAllModdas() {
314
- super.consumeAllModdas();
318
+ assert.strictEqual(Object.keys(moddas).length, 29);
315
319
  }
316
320
  getStores() {
317
321
  let moddas = this.webda.getStores();
318
- assert.strictEqual(Object.keys(moddas).length, 7);
322
+ assert.strictEqual(Object.keys(moddas).length, 8);
319
323
  }
320
324
  getServicesImplementationsWithType() {
321
325
  let stores = this.webda.getServicesOfType(store_1.Store);
322
- assert.strictEqual(Object.keys(stores).length, 7);
326
+ assert.strictEqual(Object.keys(stores).length, 8);
323
327
  }
324
328
  getVersion() {
325
329
  assert.strictEqual(this.webda.getVersion(), require("../package.json").version);
@@ -459,12 +463,15 @@ let CoreTest = class CoreTest extends test_1.WebdaTest {
459
463
  });
460
464
  }
461
465
  cov() {
462
- //assert.deepStrictEqual(this.webda.getDeployers(), {});
463
- this.webda.getUuid();
464
- this.webda.getInstanceId();
465
- // a8b7f4a4-62aa-4b2a-b6a8-0ffdc0d82c96
466
- assert.ok(/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.exec(this.webda.getUuid()) !== null);
467
- assert.strictEqual(this.webda.getSalt(), this.webda.getConfiguration().parameters.salt);
466
+ return __awaiter(this, void 0, void 0, function* () {
467
+ //assert.deepStrictEqual(this.webda.getDeployers(), {});
468
+ this.webda.getUuid();
469
+ this.webda.getInstanceId();
470
+ // a8b7f4a4-62aa-4b2a-b6a8-0ffdc0d82c96
471
+ assert.ok(/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.exec(this.webda.getUuid()) !== null);
472
+ assert.ok(/[0-9a-f]{32}/.exec(this.webda.getUuid("hex")) !== null);
473
+ assert.ok(/[0-9a-zA-Z\-_]{22}/.exec(this.webda.getUuid("base64")) !== null);
474
+ });
468
475
  }
469
476
  listenersTest() {
470
477
  return __awaiter(this, void 0, void 0, function* () {
@@ -546,10 +553,10 @@ __decorate([
546
553
  ], CoreTest.prototype, "getServiceSample", null);
547
554
  __decorate([
548
555
  mocha_1.test
549
- ], CoreTest.prototype, "getServicesImplementations", null);
556
+ ], CoreTest.prototype, "registry", null);
550
557
  __decorate([
551
558
  mocha_1.test
552
- ], CoreTest.prototype, "consumeAllModdas", null);
559
+ ], CoreTest.prototype, "getServicesImplementations", null);
553
560
  __decorate([
554
561
  mocha_1.test
555
562
  ], CoreTest.prototype, "getStores", null);
@@ -1 +1 @@
1
- {"version":3,"file":"core.spec.js","sourceRoot":"","sources":["../src/core.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.spec.js","sourceRoot":"","sources":["../src/core.spec.ts"],"names":[],"mappings":"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"}