@squiz/render-runtime-lib 1.74.0 → 1.75.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/PreviewComponentService.js +43 -0
- package/lib/PreviewComponentService.js.map +1 -0
- package/lib/PreviewComponentService.spec.js +64 -0
- package/lib/PreviewComponentService.spec.js.map +1 -0
- package/lib/RenderInputService.js +286 -0
- package/lib/RenderInputService.js.map +1 -0
- package/lib/RenderInputService.spec.js +645 -0
- package/lib/RenderInputService.spec.js.map +1 -0
- package/lib/component-runner/ComponentRootUrlResolver.js +3 -0
- package/lib/component-runner/ComponentRootUrlResolver.js.map +1 -0
- package/lib/component-runner/ComponentRunnerServiceWithWorkers.js +91 -0
- package/lib/component-runner/ComponentRunnerServiceWithWorkers.js.map +1 -0
- package/lib/component-runner/ComponentRunnerServiceWithWorkers.spec.js +104 -0
- package/lib/component-runner/ComponentRunnerServiceWithWorkers.spec.js.map +1 -0
- package/lib/component-runner/ComponentRuntimeContext.d.ts +1 -8
- package/lib/component-runner/ComponentRuntimeContext.js +3 -0
- package/lib/component-runner/ComponentRuntimeContext.js.map +1 -0
- package/lib/component-runner/ContentRuntimeService.js +31 -0
- package/lib/component-runner/ContentRuntimeService.js.map +1 -0
- package/lib/component-runner/ExecuteComponentTask.d.ts +1 -9
- package/lib/component-runner/ExecuteComponentTask.js +8 -0
- package/lib/component-runner/ExecuteComponentTask.js.map +1 -0
- package/lib/component-runner/FunctionReturnTypes.js +3 -0
- package/lib/component-runner/FunctionReturnTypes.js.map +1 -0
- package/lib/component-runner/index.js +23 -0
- package/lib/component-runner/index.js.map +1 -0
- package/lib/component-runner/worker/component-bootstrapper.js +63 -0
- package/lib/component-runner/worker/component-bootstrapper.js.map +1 -0
- package/lib/health-check-service.js +3 -0
- package/lib/health-check-service.js.map +1 -0
- package/lib/index.d.ts +0 -16
- package/lib/index.js +23 -4610
- package/lib/index.js.map +1 -7
- package/lib/ioc.js +37 -0
- package/lib/ioc.js.map +1 -0
- package/lib/test/helpers/fixtures.js +152 -0
- package/lib/test/helpers/fixtures.js.map +1 -0
- package/lib/test/helpers/stack.js +121 -0
- package/lib/test/helpers/stack.js.map +1 -0
- package/lib/test/index.js +21 -0
- package/lib/test/index.js.map +1 -0
- package/lib/test/mock-services/MockedComponentSetService.js +413 -0
- package/lib/test/mock-services/MockedComponentSetService.js.map +1 -0
- package/lib/test/mock-services/MockedContentItemService.js +37 -0
- package/lib/test/mock-services/MockedContentItemService.js.map +1 -0
- package/lib/test-helpers.d.ts +16 -0
- package/lib/test-helpers.js +44 -0
- package/lib/test-helpers.js.map +1 -0
- package/lib/utils/getContentItemIdFromInput.js +13 -0
- package/lib/utils/getContentItemIdFromInput.js.map +1 -0
- package/lib/utils/getContentItemIdFromInput.spec.js +18 -0
- package/lib/utils/getContentItemIdFromInput.spec.js.map +1 -0
- package/lib/utils/resolvePreviewOutput.js +71 -0
- package/lib/utils/resolvePreviewOutput.js.map +1 -0
- package/lib/utils/resolvePreviewOutput.spec.js +168 -0
- package/lib/utils/resolvePreviewOutput.spec.js.map +1 -0
- package/lib/utils/setHeadersOnExpressResponse.js +15 -0
- package/lib/utils/setHeadersOnExpressResponse.js.map +1 -0
- package/lib/utils/setHeadersOnExpressResponse.sepc.js +21 -0
- package/lib/utils/setHeadersOnExpressResponse.sepc.js.map +1 -0
- package/lib/webserver/app.js +78 -0
- package/lib/webserver/app.js.map +1 -0
- package/lib/webserver/controllers/CoreController.js +116 -0
- package/lib/webserver/controllers/CoreController.js.map +1 -0
- package/lib/webserver/controllers/CoreController.spec.js +132 -0
- package/lib/webserver/controllers/CoreController.spec.js.map +1 -0
- package/lib/webserver/controllers/DefinitionController.js +162 -0
- package/lib/webserver/controllers/DefinitionController.js.map +1 -0
- package/lib/webserver/controllers/DefinitionController.spec.js +16 -0
- package/lib/webserver/controllers/DefinitionController.spec.js.map +1 -0
- package/lib/webserver/controllers/DevelopmentController.js +149 -0
- package/lib/webserver/controllers/DevelopmentController.js.map +1 -0
- package/lib/webserver/controllers/DevelopmentController.spec.js +29 -0
- package/lib/webserver/controllers/DevelopmentController.spec.js.map +1 -0
- package/lib/webserver/controllers/PreviewController.spec.js +124 -0
- package/lib/webserver/controllers/PreviewController.spec.js.map +1 -0
- package/lib/webserver/controllers/RenderController.d.ts +3 -2
- package/lib/webserver/controllers/RenderController.js +221 -0
- package/lib/webserver/controllers/RenderController.js.map +1 -0
- package/lib/webserver/controllers/RenderController.spec.js +441 -0
- package/lib/webserver/controllers/RenderController.spec.js.map +1 -0
- package/lib/webserver/controllers/StaticController.js +149 -0
- package/lib/webserver/controllers/StaticController.js.map +1 -0
- package/lib/webserver/controllers/StaticController.spec.js +28 -0
- package/lib/webserver/controllers/StaticController.spec.js.map +1 -0
- package/lib/webserver/controllers/test/definition-route-tests.js +627 -0
- package/lib/webserver/controllers/test/definition-route-tests.js.map +1 -0
- package/lib/webserver/controllers/test/development-route-tests.js +110 -0
- package/lib/webserver/controllers/test/development-route-tests.js.map +1 -0
- package/lib/webserver/controllers/test/preview-route-tests.js +122 -0
- package/lib/webserver/controllers/test/preview-route-tests.js.map +1 -0
- package/lib/webserver/controllers/test/render-route-sandbox-tests.js +194 -0
- package/lib/webserver/controllers/test/render-route-sandbox-tests.js.map +1 -0
- package/lib/webserver/controllers/test/render-route-tests.js +422 -0
- package/lib/webserver/controllers/test/render-route-tests.js.map +1 -0
- package/lib/webserver/controllers/test/static-route-tests.js +96 -0
- package/lib/webserver/controllers/test/static-route-tests.js.map +1 -0
- package/lib/webserver/index.js +6 -0
- package/lib/webserver/index.js.map +1 -0
- package/lib/webserver/routes/routes.js +902 -0
- package/lib/webserver/routes/routes.js.map +1 -0
- package/package.json +13 -6
- package/lib/migrations/20220704054051_initial.sql +0 -19
- package/lib/migrations/20220718172237_adding_component_sets.sql +0 -23
- package/lib/migrations/20220728113941_add_env_vars_field.sql +0 -1
- package/lib/migrations/20220817113300_removing_null_props_from_jsonb.sql +0 -41
- package/lib/migrations/20221027151225_dummy.sql +0 -2
- package/lib/migrations/20221117151200_add_detail_columns_to_component_version.js +0 -40
- package/lib/migrations/20221220151200_add_required_to_manifests.js +0 -7794
- package/lib/migrations/20221222151200_add_required_to_manifests.js +0 -7856
- package/lib/migrations/20223525103556_component_set_rule.sql +0 -19
- package/lib/migrations/20230111095522_update_environment_property.js +0 -7802
- package/lib/migrations/20230203084900_ensure_static_root_exists.js +0 -47
- package/lib/migrations/20230210143300_lowercase_all_uri_names.js +0 -88
- package/lib/migrations/20230217151212_component_set_component_version_updates.sql +0 -38
- package/lib/migrations/20230218121212_add_component_set_rules.js +0 -24
- package/lib/migrations/202406061447_edge_component_type.sql +0 -1
- package/lib/migrations/202407111308_component_version_type.sql +0 -1
- package/lib/migrations/202408061132_update_type_to_server.sql +0 -1
- package/lib/public/docs.json +0 -5509
- package/lib/worker/component-bootstrapper.js +0 -170132
- package/lib/worker/component-bootstrapper.js.map +0 -7
package/lib/ioc.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iocContainer = exports.initIocContainer = void 0;
|
|
4
|
+
const inversify_1 = require("inversify");
|
|
5
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
6
|
+
const tsoa_1 = require("tsoa");
|
|
7
|
+
(0, inversify_1.decorate)((0, inversify_1.injectable)(), tsoa_1.Controller); // Makes tsoa's Controller injectable
|
|
8
|
+
// The services are tied to the Express application and then injected into
|
|
9
|
+
// the controllers on each request. Ideally the services are under "request.app.locals"
|
|
10
|
+
// rather then directly on the "request" but the Express typing doesn't allow it nicely
|
|
11
|
+
let iocContainer;
|
|
12
|
+
exports.iocContainer = iocContainer;
|
|
13
|
+
const initIocContainer = (services, config) => {
|
|
14
|
+
const container = new inversify_1.Container();
|
|
15
|
+
container.load((0, inversify_binding_decorators_1.buildProviderModule)());
|
|
16
|
+
container.bind('Config').toConstantValue(config);
|
|
17
|
+
container.bind('Sandbox').toConstantValue(services.sandbox);
|
|
18
|
+
container.bind('Logger').toConstantValue(services.logger);
|
|
19
|
+
container
|
|
20
|
+
.bind('ComponentFunctionService')
|
|
21
|
+
.toConstantValue(services.componentFunctionService);
|
|
22
|
+
container.bind('ComponentRunnerService').toConstantValue(services.componentRunnerService);
|
|
23
|
+
container.bind('ComponentSetService').toConstantValue(services.componentSetService);
|
|
24
|
+
container.bind('ManifestService').toConstantValue(services.manifestService);
|
|
25
|
+
container.bind('RenderInputService').toConstantValue(services.renderInputService);
|
|
26
|
+
container.bind('HealthCheckService').toConstantValue(services.healthCheckService);
|
|
27
|
+
container.bind('ComponentPreviewService').toConstantValue(services.componentPreviewService);
|
|
28
|
+
container.bind('ContentItemService').toConstantValue(services.contentItemService);
|
|
29
|
+
container.bind('ApiKeyValidationService').toConstantValue(services.apiKeyService);
|
|
30
|
+
container
|
|
31
|
+
.bind('ComponentRootUrlResolver')
|
|
32
|
+
.toConstantValue(services.componentRootUrlResolver);
|
|
33
|
+
exports.iocContainer = iocContainer = container;
|
|
34
|
+
return container;
|
|
35
|
+
};
|
|
36
|
+
exports.initIocContainer = initIocContainer;
|
|
37
|
+
//# sourceMappingURL=ioc.js.map
|
package/lib/ioc.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ioc.js","sourceRoot":"","sources":["../src/ioc.ts"],"names":[],"mappings":";;;AAAA,yCAA4D;AAC5D,+EAAmE;AACnE,+BAAgD;AAYhD,IAAA,oBAAQ,EAAC,IAAA,sBAAU,GAAE,EAAE,iBAAU,CAAC,CAAC,CAAC,qCAAqC;AAqBzE,0EAA0E;AAC1E,uFAAuF;AACvF,uFAAuF;AACvF,IAAI,YAA0B,CAAC;AA4BtB,oCAAY;AA1Bd,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAAE,MAAc,EAAE,EAAE;IACrE,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;IAClC,SAAS,CAAC,IAAI,CAAC,IAAA,kDAAmB,GAAE,CAAC,CAAC;IACtC,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACzD,SAAS,CAAC,IAAI,CAAU,SAAS,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrE,SAAS,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClE,SAAS;SACN,IAAI,CAA2B,0BAA0B,CAAC;SAC1D,eAAe,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACtD,SAAS,CAAC,IAAI,CAAyB,wBAAwB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAClH,SAAS,CAAC,IAAI,CAAsB,qBAAqB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACzG,SAAS,CAAC,IAAI,CAAkB,iBAAiB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7F,SAAS,CAAC,IAAI,CAAqB,oBAAoB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACtG,SAAS,CAAC,IAAI,CAAiC,oBAAoB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAClH,SAAS,CAAC,IAAI,CAA0B,yBAAyB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACrH,SAAS,CAAC,IAAI,CAAiC,oBAAoB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAClH,SAAS,CAAC,IAAI,CAA0B,yBAAyB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3G,SAAS;SACN,IAAI,CAA2B,0BAA0B,CAAC;SAC1D,eAAe,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAEtD,uBAAA,YAAY,GAAG,SAAS,CAAC;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ComponentFixture = void 0;
|
|
7
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const strict_1 = __importDefault(require("assert/strict"));
|
|
10
|
+
const stack_1 = require("./stack");
|
|
11
|
+
const crypto_1 = require("crypto");
|
|
12
|
+
const FIXTURE_NAMESPACE = 'some-namespace';
|
|
13
|
+
class ComponentFixture {
|
|
14
|
+
static getFixtureRootDirectory() {
|
|
15
|
+
if (this.fixtureRootDirectory === undefined) {
|
|
16
|
+
this.fixtureRootDirectory = path_1.default.join((0, stack_1.getTestComponentFolder)(), 'fixtures');
|
|
17
|
+
}
|
|
18
|
+
return this.fixtureRootDirectory;
|
|
19
|
+
}
|
|
20
|
+
static async setupFullComponentDirectory(returnObj, { raw = false } = {}) {
|
|
21
|
+
const fixtureDirectory = await this.createFixtureDirectory();
|
|
22
|
+
const { directory: componentDirectory, version } = await this.createVersionDirectory(fixtureDirectory);
|
|
23
|
+
const manifest = await this.createManifest(componentDirectory, { version, staticFilesRoot: 'static' });
|
|
24
|
+
await promises_1.default.writeFile(path_1.default.join(componentDirectory, 'main.js'), jsFileData(returnObj, { raw }));
|
|
25
|
+
await promises_1.default.mkdir(path_1.default.join(componentDirectory, 'static'));
|
|
26
|
+
await promises_1.default.writeFile(path_1.default.join(componentDirectory, 'static', 'static.txt'), 'hello');
|
|
27
|
+
return { fixtureDirectory, componentDirectory, version, manifest, componentName: path_1.default.basename(fixtureDirectory) };
|
|
28
|
+
}
|
|
29
|
+
static async new(returnObj, { raw = false, environment = [], set = getTestSet() } = {}) {
|
|
30
|
+
const fixtureDirectory = await this.createFixtureDirectory();
|
|
31
|
+
const componentPath = path_1.default.join(fixtureDirectory, 'main.js');
|
|
32
|
+
const data = jsFileData(returnObj, { raw });
|
|
33
|
+
await promises_1.default.writeFile(componentPath, data);
|
|
34
|
+
return {
|
|
35
|
+
requestId: path_1.default.basename(fixtureDirectory),
|
|
36
|
+
functionEntryFilePath: componentPath,
|
|
37
|
+
args: [{}],
|
|
38
|
+
environment: set.environment,
|
|
39
|
+
manifest: {
|
|
40
|
+
name: path_1.default.basename(fixtureDirectory),
|
|
41
|
+
namespace: this.namespace,
|
|
42
|
+
displayName: 'some-display-name',
|
|
43
|
+
description: 'some-description',
|
|
44
|
+
version: '1.0.0',
|
|
45
|
+
$schema: '',
|
|
46
|
+
mainFunction: 'main.js',
|
|
47
|
+
environment,
|
|
48
|
+
functions: [
|
|
49
|
+
{
|
|
50
|
+
entry: 'main.js',
|
|
51
|
+
name: 'main',
|
|
52
|
+
input: {},
|
|
53
|
+
output: {
|
|
54
|
+
responseType: 'html',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
componentFullName: path_1.default.basename(fixtureDirectory),
|
|
60
|
+
runtimeSet: set,
|
|
61
|
+
componentRootUrl: 'http://localhost:3000',
|
|
62
|
+
previewKey: undefined,
|
|
63
|
+
componentFunction: {
|
|
64
|
+
entry: componentPath,
|
|
65
|
+
input: {},
|
|
66
|
+
name: 'main',
|
|
67
|
+
output: {
|
|
68
|
+
responseType: 'html',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static async updateComponent(component, output) {
|
|
74
|
+
strict_1.default.ok(component.functionEntryFilePath.startsWith(this.getFixtureRootDirectory()));
|
|
75
|
+
await promises_1.default.writeFile(component.functionEntryFilePath, jsFileData(output));
|
|
76
|
+
return component;
|
|
77
|
+
}
|
|
78
|
+
static async createFixtureDirectory() {
|
|
79
|
+
const fixtureName = generateRandomName();
|
|
80
|
+
const fixturePath = path_1.default.join(this.getFixtureRootDirectory(), fixtureName);
|
|
81
|
+
await promises_1.default.mkdir(fixturePath, { recursive: true });
|
|
82
|
+
return fixturePath;
|
|
83
|
+
}
|
|
84
|
+
static async createVersionDirectory(fixtureDirectory) {
|
|
85
|
+
// TODO: Make the version automatic and random
|
|
86
|
+
const version = '1.0.1';
|
|
87
|
+
const directory = path_1.default.join(fixtureDirectory, version);
|
|
88
|
+
await promises_1.default.mkdir(directory);
|
|
89
|
+
return { directory, version };
|
|
90
|
+
}
|
|
91
|
+
static async createManifest(componentDirectory, options = {}) {
|
|
92
|
+
var _a, _b, _c, _d;
|
|
93
|
+
// If the version has been set, we can assume that the component directory
|
|
94
|
+
// has a version as part of the path so we can strip it out
|
|
95
|
+
// This is probably unnecessary to do, but could be helpful
|
|
96
|
+
const name = path_1.default.basename(componentDirectory) === options.version
|
|
97
|
+
? path_1.default.basename(path_1.default.dirname(componentDirectory))
|
|
98
|
+
: path_1.default.basename(componentDirectory);
|
|
99
|
+
const manifest = {
|
|
100
|
+
$schema: 'http://localhost:3000/schemas/v1.json#',
|
|
101
|
+
name,
|
|
102
|
+
namespace: this.namespace,
|
|
103
|
+
displayName: 'some-display-name',
|
|
104
|
+
description: 'some-description',
|
|
105
|
+
version: (_a = options.version) !== null && _a !== void 0 ? _a : '1.0.0',
|
|
106
|
+
mainFunction: (_b = options.mainFunction) !== null && _b !== void 0 ? _b : 'main',
|
|
107
|
+
functions: [
|
|
108
|
+
{
|
|
109
|
+
name: (_c = options.mainFunction) !== null && _c !== void 0 ? _c : 'main',
|
|
110
|
+
entry: ((_d = options.mainFunction) !== null && _d !== void 0 ? _d : 'main') + '.js',
|
|
111
|
+
input: {},
|
|
112
|
+
output: {
|
|
113
|
+
responseType: 'html',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
};
|
|
118
|
+
if (options.staticFilesRoot) {
|
|
119
|
+
manifest.staticFiles = {
|
|
120
|
+
locationRoot: options.staticFilesRoot,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
await promises_1.default.writeFile(path_1.default.join(componentDirectory, 'manifest.json'), JSON.stringify(manifest));
|
|
124
|
+
return manifest;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.ComponentFixture = ComponentFixture;
|
|
128
|
+
ComponentFixture.fixtureRootDirectory = undefined;
|
|
129
|
+
ComponentFixture.namespace = FIXTURE_NAMESPACE;
|
|
130
|
+
function jsFileData(input, { raw = false } = {}) {
|
|
131
|
+
// Unsure how best to handle this
|
|
132
|
+
if (raw) {
|
|
133
|
+
return `module.exports = (input, info) => ${input}`;
|
|
134
|
+
}
|
|
135
|
+
if (typeof input === 'string') {
|
|
136
|
+
return `module.exports = () => "${input}"`;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return `module.exports = () => JSON.parse(${JSON.stringify(input)})`;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function getTestSet() {
|
|
143
|
+
return {
|
|
144
|
+
displayName: 'test-fixture-components',
|
|
145
|
+
webPath: 'test-fixture-components',
|
|
146
|
+
environment: {},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function generateRandomName() {
|
|
150
|
+
return 'test-' + (0, crypto_1.randomUUID)();
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/test/helpers/fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TestServer = exports.getTestWebServer = exports.setupTestApp = exports.getTestComponentFolder = exports.createTestSandbox = exports.testComponentLogger = exports.testLogger = void 0;
|
|
7
|
+
const http_1 = __importDefault(require("http"));
|
|
8
|
+
const supertest_1 = __importDefault(require("supertest"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const os_1 = __importDefault(require("os"));
|
|
12
|
+
const runtime_sandbox_node_1 = require("@squiz/runtime-sandbox-node");
|
|
13
|
+
const dx_logger_lib_1 = require("@squiz/dx-logger-lib");
|
|
14
|
+
const webserver_1 = require("../../webserver");
|
|
15
|
+
const component_lib_1 = require("@squiz/component-lib");
|
|
16
|
+
const component_runner_1 = require("../../component-runner");
|
|
17
|
+
const PreviewComponentService_1 = require("../../PreviewComponentService");
|
|
18
|
+
const dx_common_lib_1 = require("@squiz/dx-common-lib");
|
|
19
|
+
const RenderInputService_1 = require("../../RenderInputService");
|
|
20
|
+
const component_logger_lib_1 = require("@squiz/component-logger-lib");
|
|
21
|
+
exports.testLogger = (0, dx_logger_lib_1.getLogger)({
|
|
22
|
+
name: 'render-runtime-lib-test',
|
|
23
|
+
meta: {
|
|
24
|
+
hostname: os_1.default.hostname(),
|
|
25
|
+
pid: process.pid,
|
|
26
|
+
},
|
|
27
|
+
silent: true,
|
|
28
|
+
});
|
|
29
|
+
exports.testComponentLogger = new component_logger_lib_1.ComponentLogger({
|
|
30
|
+
enabled: false,
|
|
31
|
+
tenantId: 'test-tenant-id',
|
|
32
|
+
logUrl: 'http://some.url',
|
|
33
|
+
key: 'some-key',
|
|
34
|
+
tags: 'tag-foo tag-foo2',
|
|
35
|
+
serviceName: 'some-service',
|
|
36
|
+
});
|
|
37
|
+
const createTestSandbox = () => new runtime_sandbox_node_1.NodeSandbox({
|
|
38
|
+
workerPool: {
|
|
39
|
+
shouldCacheResponses: false,
|
|
40
|
+
workerLimits: {
|
|
41
|
+
minWorkers: 2,
|
|
42
|
+
maxWorkers: 2,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
exports.createTestSandbox = createTestSandbox;
|
|
47
|
+
function getTestComponentFolder() {
|
|
48
|
+
const rootDir = (0, child_process_1.execSync)('git rev-parse --show-toplevel', { encoding: 'utf-8' }).replace(/\n$/, '');
|
|
49
|
+
return path_1.default.resolve(rootDir, 'test-components');
|
|
50
|
+
}
|
|
51
|
+
exports.getTestComponentFolder = getTestComponentFolder;
|
|
52
|
+
function setupTestApp(services = {}, config = {}) {
|
|
53
|
+
const dataMount = getTestComponentFolder();
|
|
54
|
+
// While the actual port is random, we want a stable URL for the tests
|
|
55
|
+
const componentRootUrlResolver = () => 'http://localhost:3000';
|
|
56
|
+
const apiKeyService = new dx_common_lib_1.DevelopmentApiKeyService();
|
|
57
|
+
const sandbox = services.sandbox || (0, exports.createTestSandbox)();
|
|
58
|
+
const componentRunnerService = new component_runner_1.ComponentRunnerServiceWithWorkers(sandbox, exports.testLogger, exports.testComponentLogger);
|
|
59
|
+
const componentFunctionService = new component_lib_1.ComponentFunctionService();
|
|
60
|
+
const componentSetService = new component_lib_1.ComponentSetServiceForLocalDev(exports.testLogger);
|
|
61
|
+
const manifestService = new component_lib_1.ManifestServiceForProduction(dataMount, exports.testLogger);
|
|
62
|
+
const contentItemService = undefined;
|
|
63
|
+
const renderInputService = new RenderInputService_1.RenderInputService(apiKeyService, componentSetService, manifestService, componentFunctionService, contentItemService, componentRootUrlResolver);
|
|
64
|
+
const app = (0, webserver_1.setupApp)({
|
|
65
|
+
componentFunctionService,
|
|
66
|
+
componentSetService,
|
|
67
|
+
manifestService,
|
|
68
|
+
componentRunnerService,
|
|
69
|
+
contentItemService,
|
|
70
|
+
renderInputService,
|
|
71
|
+
logger: exports.testLogger,
|
|
72
|
+
apiKeyService,
|
|
73
|
+
componentPreviewService: new PreviewComponentService_1.ComponentPreviewService(),
|
|
74
|
+
sandbox,
|
|
75
|
+
componentRootUrlResolver,
|
|
76
|
+
...services,
|
|
77
|
+
}, config);
|
|
78
|
+
return { server: http_1.default.createServer(app), app };
|
|
79
|
+
}
|
|
80
|
+
exports.setupTestApp = setupTestApp;
|
|
81
|
+
function getTestWebServer(services = {}) {
|
|
82
|
+
const { server, app } = setupTestApp(services);
|
|
83
|
+
const agent = (0, supertest_1.default)(server);
|
|
84
|
+
server.on('close', async () => {
|
|
85
|
+
for (const service of Object.values(app.request.services)) {
|
|
86
|
+
if (service && typeof service.stop === 'function') {
|
|
87
|
+
await service.stop();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return agent;
|
|
92
|
+
}
|
|
93
|
+
exports.getTestWebServer = getTestWebServer;
|
|
94
|
+
class TestServer {
|
|
95
|
+
constructor(services = {}, config = {}) {
|
|
96
|
+
const { server, app } = setupTestApp(services, config);
|
|
97
|
+
this.server = server;
|
|
98
|
+
this.server.on('close', async () => {
|
|
99
|
+
for (const service of Object.values(app.request.services)) {
|
|
100
|
+
if (service && typeof service.stop === 'function') {
|
|
101
|
+
await service.stop();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
this.app = app;
|
|
106
|
+
}
|
|
107
|
+
get request() {
|
|
108
|
+
if (!this.server.listening) {
|
|
109
|
+
throw new Error('Server not listening');
|
|
110
|
+
}
|
|
111
|
+
return (0, supertest_1.default)(this.server);
|
|
112
|
+
}
|
|
113
|
+
start() {
|
|
114
|
+
this.server.listen(0);
|
|
115
|
+
}
|
|
116
|
+
stop() {
|
|
117
|
+
this.server.close();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.TestServer = TestServer;
|
|
121
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/test/helpers/stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./helpers/stack"), exports);
|
|
18
|
+
__exportStar(require("./helpers/fixtures"), exports);
|
|
19
|
+
__exportStar(require("./mock-services/MockedComponentSetService"), exports);
|
|
20
|
+
__exportStar(require("./mock-services/MockedContentItemService"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,qDAAmC;AACnC,4EAA0D;AAC1D,2EAAyD"}
|