@webda/core 2.0.0-beta.2 → 2.0.1
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 +5 -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 +44 -45
- package/lib/core.js +239 -320
- 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 +128 -151
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +39 -17
- package/lib/models/coremodel.js +160 -117
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +143 -107
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +3 -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 +2 -2
- package/lib/models/ownermodel.js +39 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +126 -166
- 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 +9 -9
- 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 +3 -3
- package/lib/router.js +46 -47
- 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 +542 -574
- 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 +9 -7
- package/lib/services/binary.js +213 -245
- 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 +45 -70
- 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 +10 -5
- package/lib/services/filebinary.js +171 -205
- 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 +10 -10
- package/lib/services/invitationservice.js +275 -313
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +443 -449
- 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 -148
- 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 +29 -6
- package/lib/services/service.js +69 -39
- 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 +262 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.js +111 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +133 -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 +40 -16
- package/lib/stores/store.js +847 -830
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +6 -4
- package/lib/stores/store.spec.js +628 -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 +44 -38
- 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 +144 -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 +3 -0
- package/lib/utils/httpcontext.js +48 -65
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -56
- 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 +895 -189
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,303 @@ 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.newModel(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 });
|
|
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
|
+
// @ts-ignore
|
|
142
|
+
await ident.patch({ retest: true });
|
|
143
|
+
}
|
|
144
|
+
async modelStaticActions() {
|
|
145
|
+
let identStore = this.getService("idents");
|
|
146
|
+
let ctx, executor;
|
|
147
|
+
let eventFired = 0;
|
|
148
|
+
identStore.on("Store.Action", evt => {
|
|
270
149
|
eventFired++;
|
|
271
|
-
assert.strictEqual(eventFired, 3);
|
|
272
150
|
});
|
|
151
|
+
ctx = await this.newContext({
|
|
152
|
+
type: "CRUD",
|
|
153
|
+
uuid: "PLOP"
|
|
154
|
+
});
|
|
155
|
+
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/index");
|
|
156
|
+
assert.notStrictEqual(executor, undefined);
|
|
157
|
+
await executor.execute(ctx);
|
|
158
|
+
// Our fake index action is just outputing 'indexer'
|
|
159
|
+
assert.strictEqual(ctx.getResponseBody(), "indexer");
|
|
160
|
+
assert.strictEqual(eventFired, 1);
|
|
161
|
+
ctx.resetResponse();
|
|
162
|
+
// Return some infos instead of using ctx
|
|
163
|
+
// @ts-ignore
|
|
164
|
+
identStore._model._index = async () => {
|
|
165
|
+
return "vouzouf";
|
|
166
|
+
};
|
|
167
|
+
await executor.execute(ctx);
|
|
168
|
+
// Our fake index action is just outputing 'indexer'
|
|
169
|
+
assert.strictEqual(ctx.getResponseBody(), "vouzouf");
|
|
273
170
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
171
|
+
async httpCRUD() {
|
|
172
|
+
let eventFired;
|
|
173
|
+
let userStore = this.getUserStore();
|
|
174
|
+
let ctx, executor;
|
|
175
|
+
await userStore.__clean();
|
|
176
|
+
ctx = await this.newContext({});
|
|
177
|
+
ctx.session.login("fake_user", "fake_ident");
|
|
178
|
+
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
|
|
179
|
+
type: "CRUD",
|
|
180
|
+
uuid: "PLOP"
|
|
181
|
+
});
|
|
182
|
+
assert.notStrictEqual(executor, undefined);
|
|
183
|
+
await executor.execute(ctx);
|
|
184
|
+
ctx.body = undefined;
|
|
185
|
+
assert.strictEqual((await userStore.getAll()).length, 1);
|
|
186
|
+
await this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP").execute(ctx);
|
|
187
|
+
assert.notStrictEqual(ctx.getResponseBody(), undefined);
|
|
188
|
+
assert.strictEqual(ctx.getResponseBody().indexOf("_lastUpdate") >= 0, true);
|
|
189
|
+
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
|
|
190
|
+
type: "CRUD2",
|
|
191
|
+
uuid: "PLOP"
|
|
192
|
+
});
|
|
193
|
+
await assert.rejects(executor.execute(ctx), err => err == 409);
|
|
194
|
+
// Verify the none overide of UUID
|
|
195
|
+
await this.execute(ctx, "test.webda.io", "PUT", "/users/PLOP", {
|
|
196
|
+
type: "CRUD2",
|
|
197
|
+
additional: "field",
|
|
198
|
+
uuid: "PLOP2",
|
|
199
|
+
user: "fake_user"
|
|
277
200
|
});
|
|
201
|
+
let user = await userStore.get("PLOP");
|
|
202
|
+
assert.strictEqual(user.uuid, "PLOP");
|
|
203
|
+
assert.strictEqual(user.type, "CRUD2");
|
|
204
|
+
assert.strictEqual(user.additional, "field");
|
|
205
|
+
assert.strictEqual(user.user, "fake_user");
|
|
206
|
+
assert.strictEqual(user._user, "fake_user");
|
|
207
|
+
// Add a role to the user
|
|
208
|
+
user.addRole("plop");
|
|
209
|
+
await user.save();
|
|
210
|
+
user = await userStore.get("PLOP");
|
|
211
|
+
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
212
|
+
ctx.resetResponse();
|
|
213
|
+
// Check PATH
|
|
214
|
+
await this.execute(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
|
|
215
|
+
type: "CRUD3",
|
|
216
|
+
uuid: "PLOP2",
|
|
217
|
+
_testor: "_ should not be update by client"
|
|
218
|
+
});
|
|
219
|
+
user = await userStore.get("PLOP");
|
|
220
|
+
assert.strictEqual(user.uuid, "PLOP");
|
|
221
|
+
assert.strictEqual(user.type, "CRUD3");
|
|
222
|
+
assert.strictEqual(user.additional, "field");
|
|
223
|
+
assert.strictEqual(user._testor, undefined);
|
|
224
|
+
assert.strictEqual(user._user, "fake_user");
|
|
225
|
+
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
226
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
|
|
227
|
+
type: "CRUD3",
|
|
228
|
+
uuid: "PLOP2",
|
|
229
|
+
_testor: "_ should not be update by client"
|
|
230
|
+
});
|
|
231
|
+
await executor.execute(ctx);
|
|
232
|
+
user = await userStore.get("PLOP");
|
|
233
|
+
assert.strictEqual(user.uuid, "PLOP");
|
|
234
|
+
assert.strictEqual(user.type, "CRUD3");
|
|
235
|
+
assert.strictEqual(user.additional, undefined);
|
|
236
|
+
assert.strictEqual(user._testor, undefined);
|
|
237
|
+
assert.deepStrictEqual(user.getRoles(), ["plop"]);
|
|
238
|
+
await this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP").execute(ctx);
|
|
239
|
+
eventFired = 0;
|
|
240
|
+
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP");
|
|
241
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
242
|
+
eventFired++;
|
|
243
|
+
executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP");
|
|
244
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
245
|
+
eventFired++;
|
|
246
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP");
|
|
247
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
248
|
+
eventFired++;
|
|
249
|
+
assert.strictEqual(eventFired, 3);
|
|
250
|
+
}
|
|
251
|
+
async getURL() {
|
|
252
|
+
//assert.strictEqual((<Store<CoreModel>>this.webda.getService("users")).getUrl(), "/users");
|
|
278
253
|
}
|
|
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/);
|
|
254
|
+
async schemaCreate() {
|
|
255
|
+
let taskStore = this.webda.getService("Tasks");
|
|
256
|
+
let ctx = await this.webda.newContext(new HttpContext("webda.io", "GET", "/"));
|
|
257
|
+
let executor = this.getExecutor(ctx, "test.webda.io", "POST", "/tasks", {
|
|
258
|
+
noname: "Task #1"
|
|
259
|
+
});
|
|
260
|
+
this.webda.getModules().schemas["webdatest/task"] = FileUtils.load("./test/schemas/task.json");
|
|
261
|
+
assert.notStrictEqual(executor, undefined);
|
|
262
|
+
ctx.getSession().login("fake_user", "fake_ident");
|
|
263
|
+
await assert.rejects(executor.execute(ctx), err => err == 400, "Should reject for bad schema");
|
|
264
|
+
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/tasks", {
|
|
265
|
+
name: "Task #1"
|
|
266
|
+
});
|
|
267
|
+
await executor.execute(ctx);
|
|
268
|
+
let task = JSON.parse(ctx.getResponseBody());
|
|
269
|
+
// It is two because the Saved has been called two
|
|
270
|
+
assert.notStrictEqual(task.uuid, undefined);
|
|
271
|
+
assert.strictEqual(task._autoListener, 2);
|
|
272
|
+
task = await taskStore.get(task.uuid);
|
|
273
|
+
assert.strictEqual(task._autoListener, 1);
|
|
274
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/tasks/${task.uuid}`, {
|
|
275
|
+
test: "plop"
|
|
276
|
+
});
|
|
277
|
+
await assert.rejects(() => executor.execute(ctx), /400/);
|
|
278
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PATCH", `/tasks/${task.uuid}`, {
|
|
279
|
+
name: 123
|
|
308
280
|
});
|
|
281
|
+
await assert.rejects(() => executor.execute(ctx), /400/);
|
|
309
282
|
}
|
|
310
283
|
computeParams() {
|
|
311
284
|
let usersStore = this.getUserStore();
|
|
312
|
-
|
|
285
|
+
removeSync(usersStore.getParameters().folder);
|
|
313
286
|
usersStore.computeParameters();
|
|
314
|
-
assert.ok(
|
|
287
|
+
assert.ok(existsSync(usersStore.getParameters().folder));
|
|
315
288
|
}
|
|
316
289
|
};
|
|
317
290
|
__decorate([
|
|
318
|
-
|
|
291
|
+
test
|
|
319
292
|
], FileStoreTest.prototype, "update", null);
|
|
320
293
|
__decorate([
|
|
321
|
-
|
|
294
|
+
test
|
|
322
295
|
], FileStoreTest.prototype, "cov", null);
|
|
323
296
|
__decorate([
|
|
324
|
-
|
|
297
|
+
test
|
|
325
298
|
], FileStoreTest.prototype, "configuration", null);
|
|
326
299
|
__decorate([
|
|
327
|
-
|
|
300
|
+
test
|
|
328
301
|
], FileStoreTest.prototype, "modelActions", null);
|
|
329
302
|
__decorate([
|
|
330
|
-
|
|
303
|
+
test
|
|
331
304
|
], FileStoreTest.prototype, "cacheMishit", null);
|
|
332
305
|
__decorate([
|
|
333
|
-
|
|
306
|
+
test
|
|
334
307
|
], FileStoreTest.prototype, "modelStaticActions", null);
|
|
335
308
|
__decorate([
|
|
336
|
-
|
|
309
|
+
test
|
|
337
310
|
], FileStoreTest.prototype, "httpCRUD", null);
|
|
338
311
|
__decorate([
|
|
339
|
-
|
|
312
|
+
test
|
|
340
313
|
], FileStoreTest.prototype, "getURL", null);
|
|
341
314
|
__decorate([
|
|
342
|
-
|
|
315
|
+
test("JSON Schema - Create")
|
|
343
316
|
], FileStoreTest.prototype, "schemaCreate", null);
|
|
344
317
|
__decorate([
|
|
345
|
-
|
|
318
|
+
test
|
|
346
319
|
], FileStoreTest.prototype, "computeParams", null);
|
|
347
320
|
FileStoreTest = __decorate([
|
|
348
|
-
|
|
321
|
+
suite
|
|
349
322
|
], FileStoreTest);
|
|
350
|
-
|
|
323
|
+
export { FileStoreTest };
|
|
351
324
|
//# sourceMappingURL=file.spec.js.map
|