@webda/core 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.
- package/lib/application.d.ts +9 -21
- package/lib/application.js +71 -84
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +121 -140
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +86 -46
- package/lib/core.js +254 -316
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +326 -391
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +49 -45
- package/lib/index.js +54 -67
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +2 -2
- package/lib/models/aclmodel.js +63 -90
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +127 -151
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +84 -11
- package/lib/models/coremodel.js +104 -103
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +91 -91
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +5 -3
- package/lib/models/ident.js +4 -9
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +9 -11
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +12 -2
- package/lib/models/ownermodel.js +54 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +129 -152
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +2 -2
- package/lib/models/rolemodel.js +24 -40
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +44 -61
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +5 -5
- package/lib/models/user.js +3 -8
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +14 -16
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -2
- package/lib/queues/filequeue.js +72 -93
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +53 -70
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -2
- package/lib/queues/memoryqueue.js +37 -61
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +142 -165
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +2 -2
- package/lib/queues/pubsubservice.js +3 -7
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +42 -56
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +4 -4
- package/lib/queues/queueservice.js +52 -67
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +7 -3
- package/lib/router.js +49 -48
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +64 -61
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +2 -2
- package/lib/services/asyncevents.js +44 -64
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +81 -98
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +28 -19
- package/lib/services/authentication.js +539 -571
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +411 -447
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +8 -6
- package/lib/services/binary.js +212 -244
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +3 -3
- package/lib/services/binary.spec.js +390 -443
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +3 -3
- package/lib/services/cloudbinary.js +46 -71
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.d.ts +3 -3
- package/lib/services/cloudbinary.spec.js +133 -162
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +6 -3
- package/lib/services/configuration.js +78 -103
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +63 -83
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +3 -2
- package/lib/services/cron.js +9 -13
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +18 -21
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +258 -0
- package/lib/services/cryptoservice.js +312 -0
- package/lib/services/cryptoservice.js.map +1 -0
- package/lib/services/cryptoservice.spec.d.ts +1 -0
- package/lib/services/cryptoservice.spec.js +137 -0
- package/lib/services/cryptoservice.spec.js.map +1 -0
- package/lib/services/debugmailer.d.ts +1 -1
- package/lib/services/debugmailer.js +13 -34
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +16 -29
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +2 -2
- package/lib/services/echo.js +15 -31
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +27 -40
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +15 -5
- package/lib/services/filebinary.js +171 -200
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +2 -1
- package/lib/services/filebinary.spec.js +106 -117
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +2 -2
- package/lib/services/fileconfiguration.js +25 -43
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +79 -109
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +9 -9
- package/lib/services/invitationservice.js +275 -313
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +442 -448
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +2 -2
- package/lib/services/kubernetesconfiguration.js +41 -59
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +80 -98
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +4 -4
- package/lib/services/mailer.js +62 -86
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +86 -127
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +4 -4
- package/lib/services/notificationservice.js +23 -42
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +47 -73
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +32 -6
- package/lib/services/oauth.js +73 -78
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +128 -147
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +74 -0
- package/lib/services/proxy.js +126 -0
- package/lib/services/proxy.js.map +1 -0
- package/lib/services/proxy.spec.d.ts +1 -0
- package/lib/services/proxy.spec.js +59 -0
- package/lib/services/proxy.spec.js.map +1 -0
- package/lib/services/resource.d.ts +2 -2
- package/lib/services/resource.js +12 -18
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +67 -99
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +33 -7
- package/lib/services/service.js +74 -42
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +62 -67
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +1 -1
- package/lib/services/version.js +3 -8
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +11 -24
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -3
- package/lib/stores/aggregator.js +37 -57
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +3 -3
- package/lib/stores/file.js +93 -131
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +2 -2
- package/lib/stores/file.spec.js +261 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.js +112 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +131 -150
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +67 -6
- package/lib/stores/memory.js +155 -117
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +3 -2
- package/lib/stores/memory.spec.js +127 -105
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +35 -15
- package/lib/stores/store.js +839 -821
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +6 -4
- package/lib/stores/store.spec.js +627 -647
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
- package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +4 -5
- package/lib/stores/webdaql/query.js +16 -19
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +30 -32
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.d.ts +3 -3
- package/lib/test.js +74 -94
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +1 -1
- package/lib/unpackedapplication.js +25 -31
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.js +1 -5
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.js +6 -8
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +61 -29
- package/lib/utils/context.js +133 -127
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +147 -153
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +66 -45
- package/lib/utils/cookie.js +69 -158
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +220 -238
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +4 -0
- package/lib/utils/esm.js +10 -0
- package/lib/utils/esm.js.map +1 -0
- package/lib/utils/httpcontext.d.ts +37 -9
- package/lib/utils/httpcontext.js +86 -57
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -48
- package/lib/utils/httpcontext.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +15 -28
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js +9 -11
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +17 -20
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +43 -44
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +120 -0
- package/lib/utils/session.js +155 -0
- package/lib/utils/session.js.map +1 -0
- package/lib/utils/session.spec.d.ts +1 -0
- package/lib/utils/session.spec.js +66 -0
- package/lib/utils/session.spec.js.map +1 -0
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js +32 -52
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +75 -92
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +22 -14
- package/test/config-invitation.json +1 -3
- package/test/config.json +3 -3
- package/test/config.old.json +1 -2
- package/test/moddas/annotatedservice.js +5 -5
- package/test/moddas/debugmailer.js +2 -3
- package/test/moddas/fakeservice.js +2 -3
- package/test/moddas/voidstore.js +6 -4
- package/test/models/ident.js +2 -6
- package/test/models/task.js +3 -7
- package/test/package.json +2 -1
- package/webda.module.json +956 -188
package/lib/stores/file.spec.js
CHANGED
|
@@ -1,31 +1,20 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const mocha_1 = require("@testdeck/mocha");
|
|
20
|
-
const assert = require("assert");
|
|
21
|
-
const fs_1 = require("fs");
|
|
22
|
-
const fs_extra_1 = require("fs-extra");
|
|
23
|
-
const sinon = require("sinon");
|
|
24
|
-
const index_1 = require("../index");
|
|
25
|
-
const httpcontext_1 = require("../utils/httpcontext");
|
|
26
|
-
const store_1 = require("./store");
|
|
27
|
-
const store_spec_1 = require("./store.spec");
|
|
28
|
-
let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import * as assert from "assert";
|
|
9
|
+
import { existsSync } from "fs";
|
|
10
|
+
import pkg from "fs-extra";
|
|
11
|
+
import * as sinon from "sinon";
|
|
12
|
+
import { FileUtils } from "../index.js";
|
|
13
|
+
import { HttpContext } from "../utils/httpcontext.js";
|
|
14
|
+
import { StoreNotFoundError, UpdateConditionFailError } from "./store.js";
|
|
15
|
+
import { StoreTest } from "./store.spec.js";
|
|
16
|
+
const { removeSync } = pkg;
|
|
17
|
+
let FileStoreTest = class FileStoreTest extends StoreTest {
|
|
29
18
|
getUserStore() {
|
|
30
19
|
return this.getService("Users");
|
|
31
20
|
}
|
|
@@ -33,319 +22,302 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
|
|
|
33
22
|
// Need to slow down the _get
|
|
34
23
|
let store = this.getService("Idents");
|
|
35
24
|
let original = store._get.bind(store);
|
|
36
|
-
store._get = (...args) =>
|
|
37
|
-
|
|
25
|
+
store._get = async (...args) => {
|
|
26
|
+
await this.sleep(1);
|
|
38
27
|
return original(...args);
|
|
39
|
-
}
|
|
28
|
+
};
|
|
40
29
|
return store;
|
|
41
30
|
}
|
|
42
|
-
getIndex() {
|
|
43
|
-
return
|
|
44
|
-
return this.getService("memoryaggregators").get("idents-index");
|
|
45
|
-
});
|
|
31
|
+
async getIndex() {
|
|
32
|
+
return this.getService("memoryaggregators").get("idents-index");
|
|
46
33
|
}
|
|
47
|
-
recreateIndex() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
yield this.getService("identsindexer").createAggregate();
|
|
52
|
-
});
|
|
34
|
+
async recreateIndex() {
|
|
35
|
+
let store = this.getService("memoryaggregators");
|
|
36
|
+
await store.__clean();
|
|
37
|
+
await this.getService("identsindexer").createAggregate();
|
|
53
38
|
}
|
|
54
|
-
update(delay = 100) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
// Increase the delay for FileStore
|
|
60
|
-
return _super.update.call(this, delay);
|
|
61
|
-
});
|
|
39
|
+
async update(delay = 100) {
|
|
40
|
+
// Increase the delay for FileStore
|
|
41
|
+
return super.update(delay);
|
|
62
42
|
}
|
|
63
|
-
cov() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
_user: user.getUuid()
|
|
70
|
-
});
|
|
71
|
-
let res = yield identStore.get(user.getUuid());
|
|
72
|
-
assert.strictEqual(res, undefined);
|
|
73
|
-
const stub = sinon.stub(identStore, "_get").callsFake(() => __awaiter(this, void 0, void 0, function* () { return user; }));
|
|
74
|
-
try {
|
|
75
|
-
res = yield identStore.get(user.getUuid());
|
|
76
|
-
assert.strictEqual(res, undefined);
|
|
77
|
-
yield assert.rejects(() => identStore.update({
|
|
78
|
-
uuid: user.getUuid(),
|
|
79
|
-
plop: true
|
|
80
|
-
}), store_1.StoreNotFoundError);
|
|
81
|
-
yield user.refresh();
|
|
82
|
-
assert.strictEqual(user.plop, undefined);
|
|
83
|
-
yield identStore.delete(user.getUuid());
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
stub.restore();
|
|
87
|
-
}
|
|
88
|
-
// Shoud return directly
|
|
89
|
-
yield identStore.incrementAttribute("test", "test", 0);
|
|
90
|
-
(0, fs_extra_1.removeSync)(identStore.getParameters().folder);
|
|
91
|
-
// Should not fail
|
|
92
|
-
yield identStore.__clean();
|
|
93
|
-
// Should recreate folder
|
|
94
|
-
identStore.computeParameters();
|
|
95
|
-
(0, fs_1.existsSync)(identStore.getParameters().folder);
|
|
96
|
-
ident = new identStore._model();
|
|
97
|
-
identStore.initModel(ident);
|
|
98
|
-
assert.notStrictEqual(ident.getUuid(), undefined);
|
|
99
|
-
// Test guard-rails (seems hardly reachable so might be useless)
|
|
100
|
-
assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), store_1.UpdateConditionFailError);
|
|
101
|
-
// @ts-ignore
|
|
102
|
-
ident.plops = [];
|
|
103
|
-
assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), store_1.UpdateConditionFailError);
|
|
104
|
-
identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 0, null);
|
|
105
|
-
assert.rejects(() => identStore.simulateUpsertItemToCollection(undefined, "__proto__", undefined, new Date()), /Cannot update __proto__: js\/prototype-polluting-assignment/);
|
|
43
|
+
async cov() {
|
|
44
|
+
let identStore = this.getService("idents");
|
|
45
|
+
let userStore = this.getService("users");
|
|
46
|
+
let user = await userStore.save({});
|
|
47
|
+
let ident = await identStore.save({
|
|
48
|
+
_user: user.getUuid()
|
|
106
49
|
});
|
|
50
|
+
let res = await identStore.get(user.getUuid());
|
|
51
|
+
assert.strictEqual(res, undefined);
|
|
52
|
+
const stub = sinon.stub(identStore, "_get").callsFake(async () => user);
|
|
53
|
+
try {
|
|
54
|
+
res = await identStore.get(user.getUuid());
|
|
55
|
+
assert.strictEqual(res, undefined);
|
|
56
|
+
await assert.rejects(() => identStore.update({
|
|
57
|
+
uuid: user.getUuid(),
|
|
58
|
+
plop: true
|
|
59
|
+
}), StoreNotFoundError);
|
|
60
|
+
await user.refresh();
|
|
61
|
+
assert.strictEqual(user.plop, undefined);
|
|
62
|
+
await identStore.delete(user.getUuid());
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
stub.restore();
|
|
66
|
+
}
|
|
67
|
+
// Shoud return directly
|
|
68
|
+
await identStore.incrementAttribute("test", "test", 0);
|
|
69
|
+
removeSync(identStore.getParameters().folder);
|
|
70
|
+
// Should not fail
|
|
71
|
+
await identStore.__clean();
|
|
72
|
+
// Should recreate folder
|
|
73
|
+
identStore.computeParameters();
|
|
74
|
+
existsSync(identStore.getParameters().folder);
|
|
75
|
+
ident = new identStore._model();
|
|
76
|
+
identStore.initModel(ident);
|
|
77
|
+
assert.notStrictEqual(ident.getUuid(), undefined);
|
|
78
|
+
// Test guard-rails (seems hardly reachable so might be useless)
|
|
79
|
+
assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), UpdateConditionFailError);
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
ident.plops = [];
|
|
82
|
+
assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), UpdateConditionFailError);
|
|
83
|
+
identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 0, null);
|
|
84
|
+
assert.rejects(() => identStore.simulateUpsertItemToCollection(undefined, "__proto__", undefined, new Date()), /Cannot update __proto__: js\/prototype-polluting-assignment/);
|
|
85
|
+
// Add a queryMethod test
|
|
86
|
+
userStore.getParameters().url = "/users";
|
|
87
|
+
userStore.getParameters().expose = {
|
|
88
|
+
queryMethod: "PUT",
|
|
89
|
+
restrict: {}
|
|
90
|
+
};
|
|
91
|
+
userStore.initRoutes();
|
|
92
|
+
userStore.getUrl("/url", ["GET"]);
|
|
107
93
|
}
|
|
108
|
-
configuration() {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
plop: 1
|
|
117
|
-
});
|
|
94
|
+
async configuration() {
|
|
95
|
+
let identStore = this.getService("idents");
|
|
96
|
+
assert.strictEqual(identStore.canTriggerConfiguration("plop", () => { }), false);
|
|
97
|
+
assert.strictEqual(await identStore.getConfiguration("plop"), undefined);
|
|
98
|
+
await identStore.save({ plop: 1, other: true, uuid: "plop" });
|
|
99
|
+
assert.deepStrictEqual(await identStore.getConfiguration("plop"), {
|
|
100
|
+
other: true,
|
|
101
|
+
plop: 1
|
|
118
102
|
});
|
|
119
103
|
}
|
|
120
|
-
modelActions() {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
eventFired++;
|
|
128
|
-
});
|
|
129
|
-
identStore.on("Store.Actioned", evt => {
|
|
130
|
-
eventFired++;
|
|
131
|
-
});
|
|
132
|
-
ctx = yield this.newContext({
|
|
133
|
-
type: "CRUD",
|
|
134
|
-
uuid: "PLOP"
|
|
135
|
-
});
|
|
136
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/idents/coucou/plop");
|
|
137
|
-
assert.notStrictEqual(executor, undefined);
|
|
138
|
-
yield assert.rejects(executor.execute(ctx), err => err == 404);
|
|
139
|
-
yield identStore.save({
|
|
140
|
-
uuid: "coucou"
|
|
141
|
-
});
|
|
142
|
-
yield executor.execute(ctx);
|
|
143
|
-
// Our fake action is pushing true to _plop
|
|
144
|
-
assert.strictEqual(JSON.parse(ctx.getResponseBody())._plop, true);
|
|
145
|
-
assert.strictEqual(eventFired, 2);
|
|
146
|
-
assert.notStrictEqual(this.getExecutor(ctx, "test.webda.io", "POST", "/idents/coucou/yop"), null);
|
|
147
|
-
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/coucou/yop");
|
|
148
|
-
assert.notStrictEqual(executor, null);
|
|
149
|
-
// Test with action returning the result instead of writing it
|
|
150
|
-
ctx.resetResponse();
|
|
151
|
-
yield executor.execute(ctx);
|
|
152
|
-
assert.strictEqual(ctx.getResponseBody(), "youpi");
|
|
104
|
+
async modelActions() {
|
|
105
|
+
let identStore = this.getService("idents");
|
|
106
|
+
assert.notStrictEqual(identStore.getModel(), undefined);
|
|
107
|
+
let eventFired = 0;
|
|
108
|
+
let executor, ctx;
|
|
109
|
+
identStore.on("Store.Action", evt => {
|
|
110
|
+
eventFired++;
|
|
153
111
|
});
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
-
let identStore = this.getService("idents");
|
|
158
|
-
let ident = yield identStore.save({ uuid: "test" });
|
|
159
|
-
yield identStore._cacheStore.__clean();
|
|
160
|
-
yield ident.update({ retest: true }, false, true);
|
|
112
|
+
identStore.on("Store.Actioned", evt => {
|
|
113
|
+
eventFired++;
|
|
161
114
|
});
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
ctx = yield this.newContext({
|
|
172
|
-
type: "CRUD",
|
|
173
|
-
uuid: "PLOP"
|
|
174
|
-
});
|
|
175
|
-
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/index");
|
|
176
|
-
assert.notStrictEqual(executor, undefined);
|
|
177
|
-
yield executor.execute(ctx);
|
|
178
|
-
// Our fake index action is just outputing 'indexer'
|
|
179
|
-
assert.strictEqual(ctx.getResponseBody(), "indexer");
|
|
180
|
-
assert.strictEqual(eventFired, 1);
|
|
181
|
-
ctx.resetResponse();
|
|
182
|
-
// Return some infos instead of using ctx
|
|
183
|
-
// @ts-ignore
|
|
184
|
-
identStore._model._index = () => __awaiter(this, void 0, void 0, function* () {
|
|
185
|
-
return "vouzouf";
|
|
186
|
-
});
|
|
187
|
-
yield executor.execute(ctx);
|
|
188
|
-
// Our fake index action is just outputing 'indexer'
|
|
189
|
-
assert.strictEqual(ctx.getResponseBody(), "vouzouf");
|
|
115
|
+
ctx = await this.newContext({
|
|
116
|
+
type: "CRUD",
|
|
117
|
+
uuid: "PLOP"
|
|
118
|
+
});
|
|
119
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/idents/coucou/plop");
|
|
120
|
+
assert.notStrictEqual(executor, undefined);
|
|
121
|
+
await assert.rejects(executor.execute(ctx), err => err == 404);
|
|
122
|
+
await identStore.save({
|
|
123
|
+
uuid: "coucou"
|
|
190
124
|
});
|
|
125
|
+
await executor.execute(ctx);
|
|
126
|
+
// Our fake action is pushing true to _plop
|
|
127
|
+
assert.strictEqual(JSON.parse(ctx.getResponseBody())._plop, true);
|
|
128
|
+
assert.strictEqual(eventFired, 2);
|
|
129
|
+
assert.notStrictEqual(this.getExecutor(ctx, "test.webda.io", "POST", "/idents/coucou/yop"), null);
|
|
130
|
+
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/coucou/yop");
|
|
131
|
+
assert.notStrictEqual(executor, null);
|
|
132
|
+
// Test with action returning the result instead of writing it
|
|
133
|
+
ctx.resetResponse();
|
|
134
|
+
await executor.execute(ctx);
|
|
135
|
+
assert.strictEqual(ctx.getResponseBody(), "youpi");
|
|
191
136
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
});
|
|
204
|
-
assert.notStrictEqual(executor, undefined);
|
|
205
|
-
yield executor.execute(ctx);
|
|
206
|
-
ctx.body = undefined;
|
|
207
|
-
assert.strictEqual((yield userStore.getAll()).length, 1);
|
|
208
|
-
yield this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP").execute(ctx);
|
|
209
|
-
assert.notStrictEqual(ctx.getResponseBody(), undefined);
|
|
210
|
-
assert.strictEqual(ctx.getResponseBody().indexOf("_lastUpdate") >= 0, true);
|
|
211
|
-
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
|
|
212
|
-
type: "CRUD2",
|
|
213
|
-
uuid: "PLOP"
|
|
214
|
-
});
|
|
215
|
-
yield assert.rejects(executor.execute(ctx), err => err == 409);
|
|
216
|
-
// Verify the none overide of UUID
|
|
217
|
-
yield this.execute(ctx, "test.webda.io", "PUT", "/users/PLOP", {
|
|
218
|
-
type: "CRUD2",
|
|
219
|
-
additional: "field",
|
|
220
|
-
uuid: "PLOP2",
|
|
221
|
-
user: "fake_user"
|
|
222
|
-
});
|
|
223
|
-
let user = yield userStore.get("PLOP");
|
|
224
|
-
assert.strictEqual(user.uuid, "PLOP");
|
|
225
|
-
assert.strictEqual(user.type, "CRUD2");
|
|
226
|
-
assert.strictEqual(user.additional, "field");
|
|
227
|
-
assert.strictEqual(user.user, "fake_user");
|
|
228
|
-
assert.strictEqual(user._user, "fake_user");
|
|
229
|
-
// Add a role to the user
|
|
230
|
-
user.addRole("plop");
|
|
231
|
-
yield user.save();
|
|
232
|
-
user = yield userStore.get("PLOP");
|
|
233
|
-
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
234
|
-
ctx.resetResponse();
|
|
235
|
-
// Check PATH
|
|
236
|
-
yield this.execute(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
|
|
237
|
-
type: "CRUD3",
|
|
238
|
-
uuid: "PLOP2",
|
|
239
|
-
_testor: "_ should not be update by client"
|
|
240
|
-
});
|
|
241
|
-
user = yield userStore.get("PLOP");
|
|
242
|
-
assert.strictEqual(user.uuid, "PLOP");
|
|
243
|
-
assert.strictEqual(user.type, "CRUD3");
|
|
244
|
-
assert.strictEqual(user.additional, "field");
|
|
245
|
-
assert.strictEqual(user._testor, undefined);
|
|
246
|
-
assert.strictEqual(user._user, "fake_user");
|
|
247
|
-
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
248
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
|
|
249
|
-
type: "CRUD3",
|
|
250
|
-
uuid: "PLOP2",
|
|
251
|
-
_testor: "_ should not be update by client"
|
|
252
|
-
});
|
|
253
|
-
yield executor.execute(ctx);
|
|
254
|
-
user = yield userStore.get("PLOP");
|
|
255
|
-
assert.strictEqual(user.uuid, "PLOP");
|
|
256
|
-
assert.strictEqual(user.type, "CRUD3");
|
|
257
|
-
assert.strictEqual(user.additional, undefined);
|
|
258
|
-
assert.strictEqual(user._testor, undefined);
|
|
259
|
-
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
260
|
-
yield this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP").execute(ctx);
|
|
261
|
-
eventFired = 0;
|
|
262
|
-
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP");
|
|
263
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
264
|
-
eventFired++;
|
|
265
|
-
executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP");
|
|
266
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
267
|
-
eventFired++;
|
|
268
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP");
|
|
269
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
137
|
+
async cacheMishit() {
|
|
138
|
+
let identStore = this.getService("idents");
|
|
139
|
+
let ident = await identStore.save({ uuid: "test" });
|
|
140
|
+
await identStore._cacheStore.__clean();
|
|
141
|
+
await ident.update({ retest: true });
|
|
142
|
+
}
|
|
143
|
+
async modelStaticActions() {
|
|
144
|
+
let identStore = this.getService("idents");
|
|
145
|
+
let ctx, executor;
|
|
146
|
+
let eventFired = 0;
|
|
147
|
+
identStore.on("Store.Action", evt => {
|
|
270
148
|
eventFired++;
|
|
271
|
-
assert.strictEqual(eventFired, 3);
|
|
272
149
|
});
|
|
150
|
+
ctx = await this.newContext({
|
|
151
|
+
type: "CRUD",
|
|
152
|
+
uuid: "PLOP"
|
|
153
|
+
});
|
|
154
|
+
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/index");
|
|
155
|
+
assert.notStrictEqual(executor, undefined);
|
|
156
|
+
await executor.execute(ctx);
|
|
157
|
+
// Our fake index action is just outputing 'indexer'
|
|
158
|
+
assert.strictEqual(ctx.getResponseBody(), "indexer");
|
|
159
|
+
assert.strictEqual(eventFired, 1);
|
|
160
|
+
ctx.resetResponse();
|
|
161
|
+
// Return some infos instead of using ctx
|
|
162
|
+
// @ts-ignore
|
|
163
|
+
identStore._model._index = async () => {
|
|
164
|
+
return "vouzouf";
|
|
165
|
+
};
|
|
166
|
+
await executor.execute(ctx);
|
|
167
|
+
// Our fake index action is just outputing 'indexer'
|
|
168
|
+
assert.strictEqual(ctx.getResponseBody(), "vouzouf");
|
|
273
169
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
170
|
+
async httpCRUD() {
|
|
171
|
+
let eventFired;
|
|
172
|
+
let userStore = this.getUserStore();
|
|
173
|
+
let ctx, executor;
|
|
174
|
+
await userStore.__clean();
|
|
175
|
+
ctx = await this.newContext({});
|
|
176
|
+
ctx.session.login("fake_user", "fake_ident");
|
|
177
|
+
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
|
|
178
|
+
type: "CRUD",
|
|
179
|
+
uuid: "PLOP"
|
|
180
|
+
});
|
|
181
|
+
assert.notStrictEqual(executor, undefined);
|
|
182
|
+
await executor.execute(ctx);
|
|
183
|
+
ctx.body = undefined;
|
|
184
|
+
assert.strictEqual((await userStore.getAll()).length, 1);
|
|
185
|
+
await this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP").execute(ctx);
|
|
186
|
+
assert.notStrictEqual(ctx.getResponseBody(), undefined);
|
|
187
|
+
assert.strictEqual(ctx.getResponseBody().indexOf("_lastUpdate") >= 0, true);
|
|
188
|
+
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
|
|
189
|
+
type: "CRUD2",
|
|
190
|
+
uuid: "PLOP"
|
|
191
|
+
});
|
|
192
|
+
await assert.rejects(executor.execute(ctx), err => err == 409);
|
|
193
|
+
// Verify the none overide of UUID
|
|
194
|
+
await this.execute(ctx, "test.webda.io", "PUT", "/users/PLOP", {
|
|
195
|
+
type: "CRUD2",
|
|
196
|
+
additional: "field",
|
|
197
|
+
uuid: "PLOP2",
|
|
198
|
+
user: "fake_user"
|
|
277
199
|
});
|
|
200
|
+
let user = await userStore.get("PLOP");
|
|
201
|
+
assert.strictEqual(user.uuid, "PLOP");
|
|
202
|
+
assert.strictEqual(user.type, "CRUD2");
|
|
203
|
+
assert.strictEqual(user.additional, "field");
|
|
204
|
+
assert.strictEqual(user.user, "fake_user");
|
|
205
|
+
assert.strictEqual(user._user, "fake_user");
|
|
206
|
+
// Add a role to the user
|
|
207
|
+
user.addRole("plop");
|
|
208
|
+
await user.save();
|
|
209
|
+
user = await userStore.get("PLOP");
|
|
210
|
+
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
211
|
+
ctx.resetResponse();
|
|
212
|
+
// Check PATH
|
|
213
|
+
await this.execute(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
|
|
214
|
+
type: "CRUD3",
|
|
215
|
+
uuid: "PLOP2",
|
|
216
|
+
_testor: "_ should not be update by client"
|
|
217
|
+
});
|
|
218
|
+
user = await userStore.get("PLOP");
|
|
219
|
+
assert.strictEqual(user.uuid, "PLOP");
|
|
220
|
+
assert.strictEqual(user.type, "CRUD3");
|
|
221
|
+
assert.strictEqual(user.additional, "field");
|
|
222
|
+
assert.strictEqual(user._testor, undefined);
|
|
223
|
+
assert.strictEqual(user._user, "fake_user");
|
|
224
|
+
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
225
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
|
|
226
|
+
type: "CRUD3",
|
|
227
|
+
uuid: "PLOP2",
|
|
228
|
+
_testor: "_ should not be update by client"
|
|
229
|
+
});
|
|
230
|
+
await executor.execute(ctx);
|
|
231
|
+
user = await userStore.get("PLOP");
|
|
232
|
+
assert.strictEqual(user.uuid, "PLOP");
|
|
233
|
+
assert.strictEqual(user.type, "CRUD3");
|
|
234
|
+
assert.strictEqual(user.additional, undefined);
|
|
235
|
+
assert.strictEqual(user._testor, undefined);
|
|
236
|
+
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
237
|
+
await this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP").execute(ctx);
|
|
238
|
+
eventFired = 0;
|
|
239
|
+
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP");
|
|
240
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
241
|
+
eventFired++;
|
|
242
|
+
executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP");
|
|
243
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
244
|
+
eventFired++;
|
|
245
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP");
|
|
246
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
247
|
+
eventFired++;
|
|
248
|
+
assert.strictEqual(eventFired, 3);
|
|
249
|
+
}
|
|
250
|
+
async getURL() {
|
|
251
|
+
//assert.strictEqual((<Store<CoreModel>>this.webda.getService("users")).getUrl(), "/users");
|
|
278
252
|
}
|
|
279
|
-
schemaCreate() {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
name: 123
|
|
306
|
-
});
|
|
307
|
-
yield assert.rejects(() => executor.execute(ctx), /400/);
|
|
253
|
+
async schemaCreate() {
|
|
254
|
+
let taskStore = this.webda.getService("Tasks");
|
|
255
|
+
let ctx = await this.webda.newContext(new HttpContext("webda.io", "GET", "/"));
|
|
256
|
+
let executor = this.getExecutor(ctx, "test.webda.io", "POST", "/tasks", {
|
|
257
|
+
noname: "Task #1"
|
|
258
|
+
});
|
|
259
|
+
this.webda.getModules().schemas["webdatest/task"] = FileUtils.load("./test/schemas/task.json");
|
|
260
|
+
assert.notStrictEqual(executor, undefined);
|
|
261
|
+
ctx.getSession().login("fake_user", "fake_ident");
|
|
262
|
+
await assert.rejects(executor.execute(ctx), err => err == 400, "Should reject for bad schema");
|
|
263
|
+
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/tasks", {
|
|
264
|
+
name: "Task #1"
|
|
265
|
+
});
|
|
266
|
+
await executor.execute(ctx);
|
|
267
|
+
let task = JSON.parse(ctx.getResponseBody());
|
|
268
|
+
// It is two because the Saved has been called two
|
|
269
|
+
assert.notStrictEqual(task.uuid, undefined);
|
|
270
|
+
assert.strictEqual(task._autoListener, 2);
|
|
271
|
+
task = await taskStore.get(task.uuid);
|
|
272
|
+
assert.strictEqual(task._autoListener, 1);
|
|
273
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/tasks/${task.uuid}`, {
|
|
274
|
+
test: "plop"
|
|
275
|
+
});
|
|
276
|
+
await assert.rejects(() => executor.execute(ctx), /400/);
|
|
277
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PATCH", `/tasks/${task.uuid}`, {
|
|
278
|
+
name: 123
|
|
308
279
|
});
|
|
280
|
+
await assert.rejects(() => executor.execute(ctx), /400/);
|
|
309
281
|
}
|
|
310
282
|
computeParams() {
|
|
311
283
|
let usersStore = this.getUserStore();
|
|
312
|
-
|
|
284
|
+
removeSync(usersStore.getParameters().folder);
|
|
313
285
|
usersStore.computeParameters();
|
|
314
|
-
assert.ok(
|
|
286
|
+
assert.ok(existsSync(usersStore.getParameters().folder));
|
|
315
287
|
}
|
|
316
288
|
};
|
|
317
289
|
__decorate([
|
|
318
|
-
|
|
290
|
+
test
|
|
319
291
|
], FileStoreTest.prototype, "update", null);
|
|
320
292
|
__decorate([
|
|
321
|
-
|
|
293
|
+
test
|
|
322
294
|
], FileStoreTest.prototype, "cov", null);
|
|
323
295
|
__decorate([
|
|
324
|
-
|
|
296
|
+
test
|
|
325
297
|
], FileStoreTest.prototype, "configuration", null);
|
|
326
298
|
__decorate([
|
|
327
|
-
|
|
299
|
+
test
|
|
328
300
|
], FileStoreTest.prototype, "modelActions", null);
|
|
329
301
|
__decorate([
|
|
330
|
-
|
|
302
|
+
test
|
|
331
303
|
], FileStoreTest.prototype, "cacheMishit", null);
|
|
332
304
|
__decorate([
|
|
333
|
-
|
|
305
|
+
test
|
|
334
306
|
], FileStoreTest.prototype, "modelStaticActions", null);
|
|
335
307
|
__decorate([
|
|
336
|
-
|
|
308
|
+
test
|
|
337
309
|
], FileStoreTest.prototype, "httpCRUD", null);
|
|
338
310
|
__decorate([
|
|
339
|
-
|
|
311
|
+
test
|
|
340
312
|
], FileStoreTest.prototype, "getURL", null);
|
|
341
313
|
__decorate([
|
|
342
|
-
|
|
314
|
+
test("JSON Schema - Create")
|
|
343
315
|
], FileStoreTest.prototype, "schemaCreate", null);
|
|
344
316
|
__decorate([
|
|
345
|
-
|
|
317
|
+
test
|
|
346
318
|
], FileStoreTest.prototype, "computeParams", null);
|
|
347
319
|
FileStoreTest = __decorate([
|
|
348
|
-
|
|
320
|
+
suite
|
|
349
321
|
], FileStoreTest);
|
|
350
|
-
|
|
322
|
+
export { FileStoreTest };
|
|
351
323
|
//# sourceMappingURL=file.spec.js.map
|