@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/test.js
CHANGED
|
@@ -1,23 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.WebdaTest = exports.TestApplication = exports.Executor = void 0;
|
|
13
|
-
const index_1 = require("./index");
|
|
14
|
-
const logger_1 = require("./utils/logger");
|
|
15
|
-
const path = require("path");
|
|
16
|
-
const child_process_1 = require("child_process");
|
|
17
|
-
const application_1 = require("./application");
|
|
18
|
-
const serializers_1 = require("./utils/serializers");
|
|
19
|
-
const unpackedapplication_1 = require("./unpackedapplication");
|
|
20
|
-
class Executor {
|
|
1
|
+
import { Context, Core, HttpContext } from "./index.js";
|
|
2
|
+
import { ConsoleLoggerService } from "./utils/logger.js";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { execSync } from "child_process";
|
|
5
|
+
import { SectionEnum } from "./application.js";
|
|
6
|
+
import { existsSync, unlinkSync } from "fs";
|
|
7
|
+
import { UnpackedApplication } from "./unpackedapplication.js";
|
|
8
|
+
import { FileUtils, JSONUtils } from "./utils/serializers.js";
|
|
9
|
+
export class Executor {
|
|
21
10
|
/**
|
|
22
11
|
* Main method called by the webda framework if the route don't specify a _method
|
|
23
12
|
*/
|
|
@@ -28,13 +17,12 @@ class Executor {
|
|
|
28
17
|
return Promise.reject(Error("Not implemented"));
|
|
29
18
|
}
|
|
30
19
|
}
|
|
31
|
-
exports.Executor = Executor;
|
|
32
20
|
/**
|
|
33
21
|
* TestApplication ensure we load the typescript sources instead of compiled version
|
|
34
22
|
*
|
|
35
23
|
* Test use ts-node so to share same prototypes we need to load from the sources
|
|
36
24
|
*/
|
|
37
|
-
class TestApplication extends
|
|
25
|
+
export class TestApplication extends UnpackedApplication {
|
|
38
26
|
constructor() {
|
|
39
27
|
super(...arguments);
|
|
40
28
|
/**
|
|
@@ -60,7 +48,7 @@ class TestApplication extends unpackedapplication_1.UnpackedApplication {
|
|
|
60
48
|
// exec typescript
|
|
61
49
|
this.log("DEBUG", "Compiling application");
|
|
62
50
|
try {
|
|
63
|
-
|
|
51
|
+
execSync(`tsc -p ${this.appPath}`);
|
|
64
52
|
}
|
|
65
53
|
catch (err) {
|
|
66
54
|
(err.stdout.toString() + err.stderr.toString())
|
|
@@ -93,12 +81,12 @@ class TestApplication extends unpackedapplication_1.UnpackedApplication {
|
|
|
93
81
|
loadWebdaModule(moduleFile) {
|
|
94
82
|
// Test are using ts-node so local source should be loaded from .ts with ts-node aswell
|
|
95
83
|
if (process.cwd() === path.dirname(moduleFile)) {
|
|
96
|
-
let module =
|
|
97
|
-
Object.keys(
|
|
84
|
+
let module = FileUtils.load(moduleFile);
|
|
85
|
+
Object.keys(SectionEnum)
|
|
98
86
|
.filter(k => Number.isNaN(+k))
|
|
99
87
|
.forEach(p => {
|
|
100
|
-
for (let key in module[
|
|
101
|
-
module[
|
|
88
|
+
for (let key in module[SectionEnum[p]]) {
|
|
89
|
+
module[SectionEnum[p]][key] = path.join(path.relative(this.getAppPath(), path.dirname(moduleFile)), module[SectionEnum[p]][key].replace(/^lib\//, "src/"));
|
|
102
90
|
}
|
|
103
91
|
});
|
|
104
92
|
return module;
|
|
@@ -106,7 +94,6 @@ class TestApplication extends unpackedapplication_1.UnpackedApplication {
|
|
|
106
94
|
return super.loadWebdaModule(moduleFile);
|
|
107
95
|
}
|
|
108
96
|
}
|
|
109
|
-
exports.TestApplication = TestApplication;
|
|
110
97
|
/**
|
|
111
98
|
* Utility class for UnitTest
|
|
112
99
|
*
|
|
@@ -128,49 +115,46 @@ class WebdaTest {
|
|
|
128
115
|
* Allow test to add custom made service
|
|
129
116
|
* @param app
|
|
130
117
|
*/
|
|
131
|
-
tweakApp(app) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
app.addModel("webdatest/ident", yield Promise.resolve().then(() => require("../test/models/ident")));
|
|
138
|
-
});
|
|
118
|
+
async tweakApp(app) {
|
|
119
|
+
app.addService("webdatest/voidstore", (await import("../test/moddas/voidstore")).VoidStore);
|
|
120
|
+
app.addService("webdatest/fakeservice", (await import("../test/moddas/fakeservice")).FakeService);
|
|
121
|
+
app.addService("webdatest/mailer", (await import("../test/moddas/debugmailer")).DebugMailer);
|
|
122
|
+
app.addModel("webdatest/task", (await import("../test/models/task")).Task);
|
|
123
|
+
app.addModel("webdatest/ident", (await import("../test/models/ident")).Ident);
|
|
139
124
|
}
|
|
140
125
|
/**
|
|
141
126
|
* Build the webda application
|
|
142
127
|
*
|
|
143
128
|
* Add a ConsoleLogger if addConsoleLogger is true
|
|
144
129
|
*/
|
|
145
|
-
buildWebda() {
|
|
130
|
+
async buildWebda() {
|
|
146
131
|
var _a;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
132
|
+
let app = new TestApplication(this.getTestConfiguration());
|
|
133
|
+
await app.load();
|
|
134
|
+
if (app.getConfiguration() && app.getConfiguration().parameters) {
|
|
135
|
+
(_a = app.getConfiguration().parameters).sessionSecret ?? (_a.sessionSecret = "1234567890ABCDEF".repeat(16));
|
|
136
|
+
}
|
|
137
|
+
await this.tweakApp(app);
|
|
138
|
+
if (JSONUtils.loadFile("package.json").name === "@webda/core" && existsSync(".registry")) {
|
|
139
|
+
// Auto remove registry for core test
|
|
140
|
+
unlinkSync(".registry");
|
|
141
|
+
}
|
|
142
|
+
this.webda = new Core(app);
|
|
143
|
+
if (this.addConsoleLogger) {
|
|
144
|
+
// @ts-ignore - Hack a ConsoleLogger in
|
|
145
|
+
this.webda.services["ConsoleLogger"] = new ConsoleLoggerService(this.webda, "ConsoleLogger", {});
|
|
146
|
+
}
|
|
161
147
|
}
|
|
162
148
|
/**
|
|
163
149
|
* Rebuild Webda application before each test
|
|
164
150
|
*
|
|
165
151
|
* @param init wait for the full init
|
|
166
152
|
*/
|
|
167
|
-
before(init = true) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
});
|
|
153
|
+
async before(init = true) {
|
|
154
|
+
await this.buildWebda();
|
|
155
|
+
if (init) {
|
|
156
|
+
await this.webda.init();
|
|
157
|
+
}
|
|
174
158
|
}
|
|
175
159
|
/**
|
|
176
160
|
*
|
|
@@ -193,12 +177,10 @@ class WebdaTest {
|
|
|
193
177
|
* @param body to add to the context
|
|
194
178
|
* @returns
|
|
195
179
|
*/
|
|
196
|
-
newContext(body = {}) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
return res;
|
|
201
|
-
});
|
|
180
|
+
async newContext(body = {}) {
|
|
181
|
+
let res = await this.webda.newContext(new HttpContext("test.webda.io", "GET", "/"));
|
|
182
|
+
res.getHttpContext().setBody(body);
|
|
183
|
+
return res;
|
|
202
184
|
}
|
|
203
185
|
/**
|
|
204
186
|
* Get an Executor from Webda
|
|
@@ -212,60 +194,58 @@ class WebdaTest {
|
|
|
212
194
|
* @returns
|
|
213
195
|
*/
|
|
214
196
|
getExecutor(ctx = undefined, host = "test.webda.io", method = "GET", url = "/", body = {}, headers = {}) {
|
|
215
|
-
let httpContext = new
|
|
197
|
+
let httpContext = new HttpContext(host, method, url, "http", 80, headers);
|
|
216
198
|
httpContext.setBody(body);
|
|
199
|
+
httpContext.setClientIp("127.0.0.1");
|
|
217
200
|
if (!ctx) {
|
|
218
|
-
ctx = new
|
|
201
|
+
ctx = new Context(this.webda, httpContext);
|
|
219
202
|
}
|
|
220
203
|
else {
|
|
221
204
|
ctx.setHttpContext(httpContext);
|
|
222
205
|
}
|
|
223
206
|
if (this.webda.updateContextWithRoute(ctx)) {
|
|
224
207
|
return {
|
|
225
|
-
execute: (argCtx = ctx) =>
|
|
208
|
+
execute: async (argCtx = ctx) => {
|
|
226
209
|
if (typeof argCtx._route._method === "function") {
|
|
227
210
|
return Promise.resolve(argCtx.getExecutor()[argCtx._route._method.name](argCtx));
|
|
228
211
|
}
|
|
229
|
-
}
|
|
212
|
+
}
|
|
230
213
|
};
|
|
231
214
|
}
|
|
232
215
|
}
|
|
233
|
-
execute(ctx = undefined, host = "test.webda.io", method = "GET", url = "/", body = {}, headers = {}) {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
216
|
+
async execute(ctx = undefined, host = "test.webda.io", method = "GET", url = "/", body = {}, headers = {}) {
|
|
217
|
+
const exec = this.getExecutor(ctx, host, method, url, body, headers);
|
|
218
|
+
if (!exec) {
|
|
219
|
+
throw new Error(`${method} ${url} route not found`);
|
|
220
|
+
}
|
|
221
|
+
try {
|
|
222
|
+
await exec.execute(ctx);
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
if (err instanceof Error) {
|
|
226
|
+
this.log("ERROR", err);
|
|
227
|
+
throw 500;
|
|
238
228
|
}
|
|
229
|
+
throw err;
|
|
230
|
+
}
|
|
231
|
+
let res = ctx.getResponseBody();
|
|
232
|
+
if (res) {
|
|
239
233
|
try {
|
|
240
|
-
|
|
234
|
+
return JSON.parse(res);
|
|
241
235
|
}
|
|
242
236
|
catch (err) {
|
|
243
|
-
|
|
244
|
-
throw 500;
|
|
245
|
-
}
|
|
246
|
-
throw err;
|
|
237
|
+
return res;
|
|
247
238
|
}
|
|
248
|
-
|
|
249
|
-
if (res) {
|
|
250
|
-
try {
|
|
251
|
-
return JSON.parse(res);
|
|
252
|
-
}
|
|
253
|
-
catch (err) {
|
|
254
|
-
return res;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
});
|
|
239
|
+
}
|
|
258
240
|
}
|
|
259
241
|
/**
|
|
260
242
|
* Pause for time ms
|
|
261
243
|
*
|
|
262
244
|
* @param time ms
|
|
263
245
|
*/
|
|
264
|
-
sleep(time) {
|
|
265
|
-
return
|
|
266
|
-
|
|
267
|
-
setTimeout(resolve, time);
|
|
268
|
-
});
|
|
246
|
+
async sleep(time) {
|
|
247
|
+
return new Promise(resolve => {
|
|
248
|
+
setTimeout(resolve, time);
|
|
269
249
|
});
|
|
270
250
|
}
|
|
271
251
|
/**
|
|
@@ -288,5 +268,5 @@ class WebdaTest {
|
|
|
288
268
|
this.webda.services[name.toLowerCase()] = service;
|
|
289
269
|
}
|
|
290
270
|
}
|
|
291
|
-
|
|
271
|
+
export { WebdaTest };
|
|
292
272
|
//# sourceMappingURL=test.js.map
|
package/lib/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WorkerOutput } from "@webda/workout";
|
|
2
|
-
import { Application, CachedModule, Configuration, GitInformation, ProjectInformation } from "./application";
|
|
2
|
+
import { Application, CachedModule, Configuration, GitInformation, ProjectInformation } from "./application.js";
|
|
3
3
|
/**
|
|
4
4
|
* Empty git information
|
|
5
5
|
*/
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const serializers_1 = require("./utils/serializers");
|
|
8
|
-
const deepmerge_ts_1 = require("deepmerge-ts");
|
|
1
|
+
import { deepmerge } from "deepmerge-ts";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import Finder from "fs-finder";
|
|
4
|
+
import * as path from "path";
|
|
5
|
+
import { Application, SectionEnum } from "./application.js";
|
|
6
|
+
import { FileUtils } from "./utils/serializers.js";
|
|
9
7
|
/**
|
|
10
8
|
* Empty git information
|
|
11
9
|
*/
|
|
12
|
-
|
|
10
|
+
export const EmptyGitInformation = {
|
|
13
11
|
branch: "",
|
|
14
12
|
commit: "",
|
|
15
13
|
short: "",
|
|
@@ -24,7 +22,7 @@ exports.EmptyGitInformation = {
|
|
|
24
22
|
* The normal Application is designed to load all this information from
|
|
25
23
|
* the cachedModule to avoid any unecessary action within a production environment
|
|
26
24
|
*/
|
|
27
|
-
class UnpackedApplication extends
|
|
25
|
+
export class UnpackedApplication extends Application {
|
|
28
26
|
constructor(file, logger) {
|
|
29
27
|
super(file, logger);
|
|
30
28
|
}
|
|
@@ -41,7 +39,7 @@ class UnpackedApplication extends application_1.Application {
|
|
|
41
39
|
this.baseConfiguration = this.completeConfiguration({ version: 3 });
|
|
42
40
|
}
|
|
43
41
|
else {
|
|
44
|
-
this.baseConfiguration = this.completeConfiguration(
|
|
42
|
+
this.baseConfiguration = this.completeConfiguration(FileUtils.load(file));
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
/**
|
|
@@ -52,7 +50,6 @@ class UnpackedApplication extends application_1.Application {
|
|
|
52
50
|
* @returns
|
|
53
51
|
*/
|
|
54
52
|
completeConfiguration(configuration) {
|
|
55
|
-
var _a;
|
|
56
53
|
// Only one level of includes is permitted
|
|
57
54
|
let imports = configuration.imports || [];
|
|
58
55
|
let effectiveImports = [];
|
|
@@ -62,11 +59,11 @@ class UnpackedApplication extends application_1.Application {
|
|
|
62
59
|
continue;
|
|
63
60
|
}
|
|
64
61
|
effectiveImports.push(importFile);
|
|
65
|
-
let includeConfiguration =
|
|
66
|
-
if (
|
|
62
|
+
let includeConfiguration = FileUtils.load(this.getAppPath(importFile));
|
|
63
|
+
if (includeConfiguration.imports?.length) {
|
|
67
64
|
this.log("WARN", `Imported configuration '${importFile}' has nested imports that will be skipped`);
|
|
68
65
|
}
|
|
69
|
-
configuration =
|
|
66
|
+
configuration = deepmerge(includeConfiguration, configuration);
|
|
70
67
|
}
|
|
71
68
|
configuration.imports = effectiveImports;
|
|
72
69
|
configuration.cachedModules = {
|
|
@@ -97,7 +94,6 @@ class UnpackedApplication extends application_1.Application {
|
|
|
97
94
|
* Check package.json
|
|
98
95
|
*/
|
|
99
96
|
loadProjectInformation() {
|
|
100
|
-
var _a, _b;
|
|
101
97
|
const info = {
|
|
102
98
|
deployment: {
|
|
103
99
|
name: ""
|
|
@@ -106,20 +102,20 @@ class UnpackedApplication extends application_1.Application {
|
|
|
106
102
|
name: "",
|
|
107
103
|
version: ""
|
|
108
104
|
},
|
|
109
|
-
git:
|
|
105
|
+
git: EmptyGitInformation,
|
|
110
106
|
webda: {}
|
|
111
107
|
};
|
|
112
108
|
let packageJson = path.join(this.appPath, "package.json");
|
|
113
109
|
if (fs.existsSync(packageJson)) {
|
|
114
|
-
info.package =
|
|
110
|
+
info.package = FileUtils.load(packageJson);
|
|
115
111
|
}
|
|
116
|
-
info.git = this.getGitInformation(
|
|
112
|
+
info.git = this.getGitInformation(info.package?.name, info.package?.version);
|
|
117
113
|
info.webda = info.package.webda || {};
|
|
118
114
|
let parent = path.join(this.appPath, "..");
|
|
119
115
|
do {
|
|
120
116
|
packageJson = path.join(parent, "package.json");
|
|
121
117
|
if (fs.existsSync(packageJson)) {
|
|
122
|
-
let currentInfo =
|
|
118
|
+
let currentInfo = FileUtils.load(packageJson);
|
|
123
119
|
if (currentInfo.workspaces) {
|
|
124
120
|
this.log("DEBUG", "Application is running within a workspace");
|
|
125
121
|
// Replace any relative path by absolute one
|
|
@@ -128,7 +124,7 @@ class UnpackedApplication extends application_1.Application {
|
|
|
128
124
|
currentInfo.webda[i] = path.join(path.resolve(parent), currentInfo.webda[i].substr(2));
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
|
-
info.webda =
|
|
127
|
+
info.webda = deepmerge(currentInfo.webda || {}, info.webda);
|
|
132
128
|
info.webda.workspaces = {
|
|
133
129
|
packages: currentInfo.workspaces,
|
|
134
130
|
parent: currentInfo,
|
|
@@ -149,9 +145,8 @@ class UnpackedApplication extends application_1.Application {
|
|
|
149
145
|
* Load any imported webda.module.json
|
|
150
146
|
*/
|
|
151
147
|
findModules(module) {
|
|
152
|
-
const Finder = require("fs-finder");
|
|
153
148
|
// Modules should be cached on deploy
|
|
154
|
-
|
|
149
|
+
let files = [];
|
|
155
150
|
let nodeModules = this.getAppPath("node_modules");
|
|
156
151
|
if (fs.existsSync(nodeModules)) {
|
|
157
152
|
files = Finder.from(nodeModules).findFiles("webda.module.json");
|
|
@@ -184,12 +179,12 @@ class UnpackedApplication extends application_1.Application {
|
|
|
184
179
|
* @returns
|
|
185
180
|
*/
|
|
186
181
|
loadWebdaModule(moduleFile) {
|
|
187
|
-
let module =
|
|
188
|
-
Object.keys(
|
|
182
|
+
let module = FileUtils.load(moduleFile);
|
|
183
|
+
Object.keys(SectionEnum)
|
|
189
184
|
.filter(k => Number.isNaN(+k))
|
|
190
185
|
.forEach(p => {
|
|
191
|
-
for (let key in module[
|
|
192
|
-
module[
|
|
186
|
+
for (let key in module[SectionEnum[p]]) {
|
|
187
|
+
module[SectionEnum[p]][key] = path.join(path.relative(this.getAppPath(), path.dirname(moduleFile)), module[SectionEnum[p]][key]);
|
|
193
188
|
}
|
|
194
189
|
});
|
|
195
190
|
return module;
|
|
@@ -205,15 +200,14 @@ class UnpackedApplication extends application_1.Application {
|
|
|
205
200
|
let value = Array.from(files)
|
|
206
201
|
.map(f => this.loadWebdaModule(f))
|
|
207
202
|
.reduce((prev, val) => {
|
|
208
|
-
return
|
|
203
|
+
return deepmerge(prev, val);
|
|
209
204
|
}, module);
|
|
210
|
-
Object.keys(
|
|
205
|
+
Object.keys(SectionEnum)
|
|
211
206
|
.filter(k => Number.isNaN(+k))
|
|
212
207
|
.forEach(p => {
|
|
213
|
-
module[
|
|
208
|
+
module[SectionEnum[p]] = value[SectionEnum[p]];
|
|
214
209
|
});
|
|
215
210
|
module.schemas = value.schemas;
|
|
216
211
|
}
|
|
217
212
|
}
|
|
218
|
-
exports.UnpackedApplication = UnpackedApplication;
|
|
219
213
|
//# sourceMappingURL=unpackedapplication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpackedapplication.js","sourceRoot":"","sources":["../src/unpackedapplication.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unpackedapplication.js","sourceRoot":"","sources":["../src/unpackedapplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractDeployer = void 0;
|
|
4
|
-
class AbstractDeployer {
|
|
1
|
+
export class AbstractDeployer {
|
|
5
2
|
/**
|
|
6
3
|
* Allow to specify the JSONSchema to configure this service
|
|
7
4
|
*
|
|
@@ -13,5 +10,4 @@ class AbstractDeployer {
|
|
|
13
10
|
return undefined;
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
exports.AbstractDeployer = AbstractDeployer;
|
|
17
13
|
//# sourceMappingURL=abstractdeployer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractdeployer.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstractdeployer.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,gBAAgB;IAE3B;;;;;;OAMG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,23 +1,21 @@
|
|
|
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
|
-
const abstractdeployer_1 = require("./abstractdeployer");
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import * as assert from "assert";
|
|
9
|
+
import { AbstractDeployer } from "./abstractdeployer.js";
|
|
12
10
|
let CovAbstractDeployer = class CovAbstractDeployer {
|
|
13
11
|
getSchema() {
|
|
14
|
-
assert.strictEqual(
|
|
12
|
+
assert.strictEqual(AbstractDeployer.getSchema(), undefined);
|
|
15
13
|
}
|
|
16
14
|
};
|
|
17
15
|
__decorate([
|
|
18
|
-
|
|
16
|
+
test
|
|
19
17
|
], CovAbstractDeployer.prototype, "getSchema", null);
|
|
20
18
|
CovAbstractDeployer = __decorate([
|
|
21
|
-
|
|
19
|
+
suite
|
|
22
20
|
], CovAbstractDeployer);
|
|
23
21
|
//# sourceMappingURL=abstractdeployer.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractdeployer.spec.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstractdeployer.spec.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAEvB,SAAS;QACP,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAHC;IADC,IAAI;oDAGJ;AAJG,mBAAmB;IADxB,KAAK;GACA,mBAAmB,CAKxB"}
|