@squiz/component-cli-lib 1.2.10 → 1.2.11
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/CHANGELOG.md +8 -0
- package/lib/component-dev-folder-structures.integration.spec.js +15 -0
- package/lib/component-dev-folder-structures.integration.spec.js.map +1 -1
- package/lib/component-dev.d.ts +1 -0
- package/lib/component-dev.integration.spec.js.map +1 -1
- package/lib/component-dev.js +4 -0
- package/lib/component-dev.js.map +1 -1
- package/lib/integration-tests/helper.d.ts +2 -2
- package/lib/integration-tests/helper.js.map +1 -1
- package/lib/integration-tests/upload-and-render-component.integration.spec.js +126 -118
- package/lib/integration-tests/upload-and-render-component.integration.spec.js.map +1 -1
- package/package.json +9 -8
- package/src/component-dev-folder-structures.integration.spec.ts +16 -0
- package/src/component-dev.integration.spec.ts +1 -0
- package/src/component-dev.ts +6 -1
- package/src/integration-tests/helper.ts +2 -2
- package/src/integration-tests/upload-and-render-component.integration.spec.ts +177 -168
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.2.11](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.2...v1.2.11) (2022-11-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @squiz/component-cli-lib
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [1.2.10](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.2...v1.2.10) (2022-11-09)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @squiz/component-cli-lib
|
|
@@ -54,5 +54,20 @@ describe('component-dev', () => {
|
|
|
54
54
|
expect(response.text).toEqual('hello');
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
+
describe('It should pass a simple test and not launch the browser if the -nb flag is present', () => {
|
|
58
|
+
let server;
|
|
59
|
+
let request;
|
|
60
|
+
beforeAll(async () => {
|
|
61
|
+
server = (0, component_dev_1.startDevelopmentRender)(render_runtime_lib_1.TestHelpers.getTestComponentFolder(), { port: 0, noBrowser: true });
|
|
62
|
+
request = (0, supertest_1.default)(server);
|
|
63
|
+
});
|
|
64
|
+
afterAll(async () => {
|
|
65
|
+
server.close();
|
|
66
|
+
});
|
|
67
|
+
it('should find the component', async () => {
|
|
68
|
+
const response = await request.get(`/r/set/unit-test-components/test-component/1.0.0?something=hello`);
|
|
69
|
+
expect(response.text).toEqual('<div>hello - {"something":"hello"}</div>');
|
|
70
|
+
});
|
|
71
|
+
});
|
|
57
72
|
});
|
|
58
73
|
//# sourceMappingURL=component-dev-folder-structures.integration.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-dev-folder-structures.integration.spec.js","sourceRoot":"","sources":["../src/component-dev-folder-structures.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component-dev-folder-structures.integration.spec.js","sourceRoot":"","sources":["../src/component-dev-folder-structures.integration.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/component-dev.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-dev.integration.spec.js","sourceRoot":"","sources":["../src/component-dev.integration.spec.ts"],"names":[],"mappings":";;;;;AAAA,kEAAoE;AACpE,mDAAyD;AACzD,0DAAkC;AAGlC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,MAAc,CAAC;QACnB,IAAI,OAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"component-dev.integration.spec.js","sourceRoot":"","sources":["../src/component-dev.integration.spec.ts"],"names":[],"mappings":";;;;;AAAA,kEAAoE;AACpE,mDAAyD;AACzD,0DAAkC;AAGlC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,MAAc,CAAC;QACnB,IAAI,OAA4C,CAAC;QAEjD,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,GAAG,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,6FAA6F,CAC9F,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC5B,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrD,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACjD,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,+BAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/component-dev.js
CHANGED
|
@@ -8,6 +8,7 @@ const render_runtime_lib_1 = require("@squiz/render-runtime-lib");
|
|
|
8
8
|
const dx_logger_lib_1 = require("@squiz/dx-logger-lib");
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const component_lib_1 = require("@squiz/component-lib");
|
|
11
|
+
const open_1 = __importDefault(require("open"));
|
|
11
12
|
/**
|
|
12
13
|
* startDevelopmentRender starts a dev-mode render stack for any
|
|
13
14
|
* local directory. This should start an express server on a random unused port
|
|
@@ -40,6 +41,9 @@ function startDevelopmentRender(componentPath, options) {
|
|
|
40
41
|
const server = webServer.listen(options.port, () => {
|
|
41
42
|
logger.info(`Component development webserver started on port ${options.port}`);
|
|
42
43
|
});
|
|
44
|
+
if ((options === null || options === void 0 ? void 0 : options.noBrowser) !== true) {
|
|
45
|
+
(0, open_1.default)(rootUrl);
|
|
46
|
+
}
|
|
43
47
|
server.on('close', async () => {
|
|
44
48
|
await componentRunnerService.stop();
|
|
45
49
|
});
|
package/lib/component-dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-dev.js","sourceRoot":"","sources":["../src/component-dev.ts"],"names":[],"mappings":";;;;;;AAAA,kEAImC;AACnC,wDAAgE;AAChE,gDAAwB;AACxB,wDAAuH;
|
|
1
|
+
{"version":3,"file":"component-dev.js","sourceRoot":"","sources":["../src/component-dev.ts"],"names":[],"mappings":";;;;;;AAAA,kEAImC;AACnC,wDAAgE;AAChE,gDAAwB;AACxB,wDAAuH;AACvH,gDAAwB;AAExB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,aAAqB,EACrB,OAAuF;IAEvF,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAElE,MAAM,sBAAsB,GAAG,IAAI,sDAAiC,CAClE;QACE,cAAc;QACd,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,IAAK;KACrB,EACD,MAAM,CACP,CAAC;IACF,MAAM,wBAAwB,GAAG,IAAI,wCAAwB,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAA,6CAAwB,EACxC;QACE,MAAM;QACN,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB,EAAE,IAAI,oDAA+B,CAAC,sBAAsB,EAAE,wBAAwB,EAAE;YAC7G,OAAO;SACR,CAAC;QACF,mBAAmB,EAAE,IAAI,8CAA8B,CAAC,MAAM,CAAC;QAC/D,eAAe,EAAE,IAAI,qCAAqB,CAAC,cAAc,EAAE,MAAM,CAAC;KACnE,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,mDAAmD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,IAAI,EAAE;QAC/B,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC;KACf;IAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AA5CD,wDA4CC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentSetWebModelForCreate } from '@squiz/component-lib';
|
|
2
2
|
import { ContentApi } from '@squiz/component-web-api-lib';
|
|
3
3
|
interface Config {
|
|
4
4
|
managementServiceUrl: string;
|
|
@@ -19,6 +19,6 @@ export declare function getTestComponents(): string[];
|
|
|
19
19
|
export declare function createFile(filePath: string, sizeInMB: number): Promise<void>;
|
|
20
20
|
export declare function removeFile(filePath: string): void;
|
|
21
21
|
export declare function deleteComponentSet(webPath: string): Promise<void>;
|
|
22
|
-
export declare function addComponentSet(componentSet:
|
|
22
|
+
export declare function addComponentSet(componentSet: ComponentSetWebModelForCreate): Promise<void>;
|
|
23
23
|
export declare function addContentItem(contentItem: ContentApi.ContentItemWebModel): Promise<void>;
|
|
24
24
|
export declare function deleteContentItem(contentItemId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/integration-tests/helper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AAExB,2DAA8B;AAC9B,mCAAqC;AAErC,wDAAyD;AAEzD,mCAAgC;AAEhC,IAAA,eAAM,GAAE,CAAC;AAUT,MAAM,SAAS,GAAW;IACxB,oBAAoB,EAAE,IAAA,iCAAiB,EAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/F,gBAAgB,EAAE,IAAA,iCAAiB,EAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACvF,iBAAiB,EAAE,IAAA,iCAAiB,EAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3E,eAAe,EAAE,IAAA,iCAAiB,EAAC,qBAAqB,CAAC;IACzD,cAAc,EAAE,IAAA,iCAAiB,EAAC,oBAAoB,CAAC;CACxD,CAAC;AAEF,kBAAe,SAAS,CAAC;AAEZ,QAAA,iBAAiB,GAAG,eAAK,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,SAAS,CAAC,oBAAoB,GAAG,KAAK;CAChD,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,eAAK,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,SAAS,CAAC,oBAAoB;CACxC,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,eAAK,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,SAAS,CAAC,gBAAgB;CACpC,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,eAAK,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,SAAS,CAAC,iBAAiB;CACrC,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;AAC5C,QAAA,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;AAEvD,SAAgB,iBAAiB;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;YACzD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,8CAWC;AACM,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAgB;IACjE,MAAM,OAAO,GAAG,IAAA,oBAAW,EAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IAChD,MAAM,kBAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAHD,gCAGC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,kBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC;AAFD,gCAEC;AAEM,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,IAAI;QACF,MAAM,yBAAiB,CAAC,MAAM,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;KAC7D;IAAC,OAAO,KAAK,EAAE;QACd,SAAS;KACV;AACH,CAAC;AAND,gDAMC;AAEM,KAAK,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/integration-tests/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,139 +37,147 @@ const crypto_1 = require("crypto");
|
|
|
37
37
|
const mockConsoleError = jest.fn();
|
|
38
38
|
const mockConsoleLog = jest.fn();
|
|
39
39
|
const orgConsoleError = console.error;
|
|
40
|
-
const webPath = 'set';
|
|
40
|
+
const webPath = 'set-' + (0, crypto_1.randomUUID)();
|
|
41
41
|
const contentItemId = (0, crypto_1.randomUUID)();
|
|
42
42
|
const testFilesDir = path_1.default.resolve(__dirname, 'test-files');
|
|
43
|
-
|
|
44
|
-
await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
|
|
45
|
-
await promises_1.default.mkdir(testFilesDir);
|
|
46
|
-
});
|
|
47
|
-
afterAll(async () => {
|
|
48
|
-
// clean up the component added by the test
|
|
49
|
-
await (0, helper_1.deleteComponentSet)(webPath);
|
|
50
|
-
await (0, helper_1.deleteContentItem)(contentItemId);
|
|
51
|
-
for (const componentName of (0, helper_1.getTestComponents)()) {
|
|
52
|
-
try {
|
|
53
|
-
await helper_1.managementService.delete(`/component/smoke-test-components/${componentName}`);
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
// no op
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// clean up the test componnet files
|
|
60
|
-
await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
|
|
61
|
-
});
|
|
62
|
-
describe('Test isolated test cases', () => {
|
|
63
|
-
beforeEach(() => {
|
|
64
|
-
jest.spyOn(upload_component_folder_1.logger, 'error').mockImplementation(mockConsoleError);
|
|
65
|
-
jest.spyOn(upload_component_folder_1.logger, 'info').mockImplementation(mockConsoleLog);
|
|
66
|
-
});
|
|
67
|
-
it('Should fail uploading a component without manifest.json', async () => {
|
|
68
|
-
mockConsoleError.mockClear();
|
|
69
|
-
const componentPath = path_1.default.join(__dirname, '/__components__/invalid-upload');
|
|
70
|
-
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
71
|
-
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('manifest could not be found'));
|
|
72
|
-
});
|
|
73
|
-
it('Should fail uploading a component that has invalid manifest.json', async () => {
|
|
74
|
-
mockConsoleError.mockClear();
|
|
75
|
-
const componentPath = path_1.default.join(__dirname, '/__components__/invalid-manifest');
|
|
76
|
-
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
77
|
-
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('failed validation: /name pattern must match pattern "^[a-zA-Z0-9_\\-]+$"'));
|
|
78
|
-
});
|
|
79
|
-
it('Should fail uploading the component that has size more than 100MB', async () => {
|
|
80
|
-
mockConsoleError.mockClear();
|
|
81
|
-
const componentPath = path_1.default.join(__dirname, '/__components__/big-package');
|
|
82
|
-
const filePath = `${componentPath}/105mb-file`;
|
|
83
|
-
await (0, helper_1.createFile)(filePath, 105); // Higher limit has been used because compression reduces the size if you use closer to 100MB
|
|
84
|
-
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
85
|
-
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red(['File size exceeds the maximum limit of 100MB'].join('')));
|
|
86
|
-
(0, helper_1.removeFile)(filePath);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
describe('Deploy basic component having a static file', () => {
|
|
90
|
-
// component to deploy for this test
|
|
91
|
-
const componentPath = path_1.default.join(__dirname, '/__components__/cmp-static-file-test');
|
|
43
|
+
describe('uploading a component', () => {
|
|
92
44
|
beforeAll(async () => {
|
|
45
|
+
await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
|
|
46
|
+
await promises_1.default.mkdir(testFilesDir);
|
|
47
|
+
});
|
|
48
|
+
afterAll(async () => {
|
|
49
|
+
// clean up the component added by the test
|
|
93
50
|
await (0, helper_1.deleteComponentSet)(webPath);
|
|
94
51
|
await (0, helper_1.deleteContentItem)(contentItemId);
|
|
95
52
|
for (const componentName of (0, helper_1.getTestComponents)()) {
|
|
96
53
|
try {
|
|
97
|
-
await helper_1.managementService.delete(`/component/${componentName}`);
|
|
54
|
+
await helper_1.managementService.delete(`/component/smoke-test-components/${componentName}`);
|
|
98
55
|
}
|
|
99
56
|
catch {
|
|
100
57
|
// no op
|
|
101
58
|
}
|
|
102
59
|
}
|
|
60
|
+
// clean up the test componnet files
|
|
61
|
+
await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
|
|
103
62
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
environmentVariables: {},
|
|
131
|
-
components: {
|
|
132
|
-
'smoke-test-components/cmp-static-file-test': [{ environmentVariables: {}, version: '1.0.0' }],
|
|
133
|
-
},
|
|
134
|
-
componentVersionRules: {},
|
|
135
|
-
};
|
|
136
|
-
await (0, helper_1.addComponentSet)(componentSet);
|
|
137
|
-
const response = await helper_1.renderService.get('/r/set/smoke-test-components/cmp-static-file-test/1.0.0/?something=hello');
|
|
138
|
-
expect(response.status).toEqual(200);
|
|
139
|
-
expect(response.data).toEqual([
|
|
140
|
-
'<div>Input: hello</div>',
|
|
141
|
-
'<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
|
|
142
|
-
`${helper_1.default.renderServiceUrl}/s/set/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
|
|
143
|
-
].join(''));
|
|
63
|
+
describe('Test isolated test cases', () => {
|
|
64
|
+
beforeEach(() => {
|
|
65
|
+
jest.spyOn(upload_component_folder_1.logger, 'error').mockImplementation(mockConsoleError);
|
|
66
|
+
jest.spyOn(upload_component_folder_1.logger, 'info').mockImplementation(mockConsoleLog);
|
|
67
|
+
});
|
|
68
|
+
it('Should fail uploading a component without manifest.json', async () => {
|
|
69
|
+
mockConsoleError.mockClear();
|
|
70
|
+
const componentPath = path_1.default.join(__dirname, '/__components__/invalid-upload');
|
|
71
|
+
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
72
|
+
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('manifest could not be found'));
|
|
73
|
+
});
|
|
74
|
+
it('Should fail uploading a component that has invalid manifest.json', async () => {
|
|
75
|
+
mockConsoleError.mockClear();
|
|
76
|
+
const componentPath = path_1.default.join(__dirname, '/__components__/invalid-manifest');
|
|
77
|
+
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
78
|
+
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('failed validation: /name pattern must match pattern "^[a-zA-Z0-9_\\-]+$"'));
|
|
79
|
+
});
|
|
80
|
+
it('Should fail uploading the component that has size more than 100MB', async () => {
|
|
81
|
+
mockConsoleError.mockClear();
|
|
82
|
+
const componentPath = path_1.default.join(__dirname, '/__components__/big-package');
|
|
83
|
+
const filePath = `${componentPath}/105mb-file`;
|
|
84
|
+
await (0, helper_1.createFile)(filePath, 105); // Higher limit has been used because compression reduces the size if you use closer to 100MB
|
|
85
|
+
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
86
|
+
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red(['File size exceeds the maximum limit of 100MB'].join('')));
|
|
87
|
+
(0, helper_1.removeFile)(filePath);
|
|
88
|
+
});
|
|
144
89
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
90
|
+
describe('Deploy basic component having a static file', () => {
|
|
91
|
+
// component to deploy for this test
|
|
92
|
+
const componentPath = path_1.default.join(__dirname, '/__components__/cmp-static-file-test');
|
|
93
|
+
beforeAll(async () => {
|
|
94
|
+
await (0, helper_1.deleteComponentSet)(webPath);
|
|
95
|
+
await (0, helper_1.deleteContentItem)(contentItemId);
|
|
96
|
+
for (const componentName of (0, helper_1.getTestComponents)()) {
|
|
97
|
+
try {
|
|
98
|
+
await helper_1.managementService.delete(`/component/${componentName}`);
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// no op
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
beforeEach(() => {
|
|
106
|
+
console.error = mockConsoleError;
|
|
107
|
+
console.log = mockConsoleLog;
|
|
108
|
+
});
|
|
109
|
+
afterEach(() => {
|
|
110
|
+
console.error = orgConsoleError;
|
|
111
|
+
});
|
|
112
|
+
it('Should upload the component and return a valid url to preview', async () => {
|
|
113
|
+
var _a;
|
|
114
|
+
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
115
|
+
const uploadedComponent = '<a href="/preview/smoke-test-components/cmp-static-file-test/1.0.0">1.0.0</a>';
|
|
116
|
+
const get = await (0, supertest_1.default)(helper_1.default.renderServiceUrl).get('/');
|
|
117
|
+
expect(get.status).toEqual(200);
|
|
118
|
+
expect((_a = get === null || get === void 0 ? void 0 : get.res) === null || _a === void 0 ? void 0 : _a.text).toContain(uploadedComponent);
|
|
119
|
+
});
|
|
120
|
+
it('Should fail upload the component with same version', async () => {
|
|
121
|
+
mockConsoleError.mockClear();
|
|
122
|
+
await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
|
|
123
|
+
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('Cannot upload component version, smoke-test-components/cmp-static-file-test 1.0.0 already exists'));
|
|
124
|
+
});
|
|
125
|
+
it('Should render component', async () => {
|
|
126
|
+
const componentSet = {
|
|
127
|
+
webPath,
|
|
128
|
+
displayName: 'some-display-name',
|
|
129
|
+
description: 'Set description',
|
|
130
|
+
headers: {},
|
|
131
|
+
environmentVariables: {},
|
|
132
|
+
components: {
|
|
133
|
+
'smoke-test-components/cmp-static-file-test': [
|
|
134
|
+
{
|
|
135
|
+
environmentVariables: {},
|
|
136
|
+
version: '1.0.0',
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
componentVersionRules: {},
|
|
141
|
+
};
|
|
142
|
+
await (0, helper_1.addComponentSet)(componentSet);
|
|
143
|
+
const response = await helper_1.renderService.get(`/r/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/?something=hello`);
|
|
144
|
+
expect(response.status).toEqual(200);
|
|
145
|
+
expect(response.data).toEqual([
|
|
146
|
+
'<div>Input: hello</div>',
|
|
147
|
+
'<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
|
|
148
|
+
`${helper_1.default.renderServiceUrl}/s/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
|
|
149
|
+
].join(''));
|
|
150
|
+
});
|
|
151
|
+
it('Should render component with content item ID input', async () => {
|
|
152
|
+
const componentSet = {
|
|
153
|
+
webPath,
|
|
154
|
+
displayName: 'some-display-name',
|
|
155
|
+
description: 'Set description',
|
|
156
|
+
headers: {},
|
|
157
|
+
environmentVariables: {},
|
|
158
|
+
components: {
|
|
159
|
+
'smoke-test-components/cmp-static-file-test': [{ environmentVariables: {}, version: '1.0.0' }],
|
|
160
|
+
},
|
|
161
|
+
componentVersionRules: {},
|
|
162
|
+
};
|
|
163
|
+
await (0, helper_1.addComponentSet)(componentSet);
|
|
164
|
+
// add a component item for the test
|
|
165
|
+
await (0, helper_1.addContentItem)({
|
|
166
|
+
id: contentItemId,
|
|
167
|
+
schemaName: 'smoke-test-components/cmp-static-file-test/1.0.0/main',
|
|
168
|
+
content: {
|
|
169
|
+
something: 'from-content-item-service',
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
console.log(`/r/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/?_contentItemId=` + contentItemId);
|
|
173
|
+
const response = await helper_1.renderService.get(`/r/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/?_contentItemId=` + contentItemId);
|
|
174
|
+
expect(response.status).toEqual(200);
|
|
175
|
+
expect(response.data).toEqual([
|
|
176
|
+
'<div>Input: from-content-item-service</div>',
|
|
177
|
+
'<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
|
|
178
|
+
`${helper_1.default.renderServiceUrl}/s/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
|
|
179
|
+
].join(''));
|
|
165
180
|
});
|
|
166
|
-
const response = await helper_1.renderService.get('/r/set/smoke-test-components/cmp-static-file-test/1.0.0/?_contentItemId=' + contentItemId);
|
|
167
|
-
expect(response.status).toEqual(200);
|
|
168
|
-
expect(response.data).toEqual([
|
|
169
|
-
'<div>Input: from-content-item-service</div>',
|
|
170
|
-
'<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
|
|
171
|
-
`${helper_1.default.renderServiceUrl}/s/set/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
|
|
172
|
-
].join(''));
|
|
173
181
|
});
|
|
174
182
|
});
|
|
175
183
|
//# sourceMappingURL=upload-and-render-component.integration.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-and-render-component.integration.spec.js","sourceRoot":"","sources":["../../src/integration-tests/upload-and-render-component.integration.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAiD;AACjD,mDAUkB;AAClB,0DAA8B;AAC9B,gDAAwB;AACxB,0DAAkC;AAClC,wEAAoD;AAEpD,2DAA8B;AAC9B,mCAAoC;AAEpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEjC,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;AACtC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"upload-and-render-component.integration.spec.js","sourceRoot":"","sources":["../../src/integration-tests/upload-and-render-component.integration.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@squiz/component-cli-lib",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.11",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,16 +27,17 @@
|
|
|
27
27
|
"typescript": "4.7.4"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@squiz/component-lib": "1.2.
|
|
31
|
-
"@squiz/component-web-api-lib": "1.2.
|
|
32
|
-
"@squiz/dx-common-lib": "1.2.
|
|
33
|
-
"@squiz/dx-logger-lib": "1.2.
|
|
34
|
-
"@squiz/render-runtime-lib": "1.2.
|
|
35
|
-
"@squiz/virus-scanner-lib": "
|
|
30
|
+
"@squiz/component-lib": "1.2.11",
|
|
31
|
+
"@squiz/component-web-api-lib": "1.2.11",
|
|
32
|
+
"@squiz/dx-common-lib": "1.2.11",
|
|
33
|
+
"@squiz/dx-logger-lib": "1.2.11",
|
|
34
|
+
"@squiz/render-runtime-lib": "1.2.11",
|
|
35
|
+
"@squiz/virus-scanner-lib": "1.2.11",
|
|
36
36
|
"archiver": "5.3.1",
|
|
37
37
|
"axios": "0.27.2",
|
|
38
38
|
"cli-color": "^2.0.2",
|
|
39
|
+
"open": "^8.4.0",
|
|
39
40
|
"supertest": "^6.2.3"
|
|
40
41
|
},
|
|
41
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "518ba2388f1f52bb5e457d54885b61feee0b4744"
|
|
42
43
|
}
|
|
@@ -66,4 +66,20 @@ describe('component-dev', () => {
|
|
|
66
66
|
expect(response.text).toEqual('hello');
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
|
+
|
|
70
|
+
describe('It should pass a simple test and not launch the browser if the -nb flag is present', () => {
|
|
71
|
+
let server: Server;
|
|
72
|
+
let request: supertest.SuperTest<supertest.Test>;
|
|
73
|
+
beforeAll(async () => {
|
|
74
|
+
server = startDevelopmentRender(TestHelpers.getTestComponentFolder(), { port: 0, noBrowser: true });
|
|
75
|
+
request = supertest(server);
|
|
76
|
+
});
|
|
77
|
+
afterAll(async () => {
|
|
78
|
+
server.close();
|
|
79
|
+
});
|
|
80
|
+
it('should find the component', async () => {
|
|
81
|
+
const response = await request.get(`/r/set/unit-test-components/test-component/1.0.0?something=hello`);
|
|
82
|
+
expect(response.text).toEqual('<div>hello - {"something":"hello"}</div>');
|
|
83
|
+
});
|
|
84
|
+
});
|
|
69
85
|
});
|
|
@@ -9,6 +9,7 @@ describe('component-dev', () => {
|
|
|
9
9
|
describe('accessing local dev routes', () => {
|
|
10
10
|
let server: Server;
|
|
11
11
|
let request: supertest.SuperTest<supertest.Test>;
|
|
12
|
+
|
|
12
13
|
beforeAll(async () => {
|
|
13
14
|
server = startDevelopmentRender(TestHelpers.getTestComponentFolder(), { port: 0 });
|
|
14
15
|
request = supertest(server);
|
package/src/component-dev.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
import { getLogger, LoggerOptions } from '@squiz/dx-logger-lib';
|
|
7
7
|
import path from 'path';
|
|
8
8
|
import { ComponentFunctionService, ComponentSetServiceForLocalDev, ManifestServiceForDev } from '@squiz/component-lib';
|
|
9
|
+
import open from 'open';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* startDevelopmentRender starts a dev-mode render stack for any
|
|
@@ -18,7 +19,7 @@ import { ComponentFunctionService, ComponentSetServiceForLocalDev, ManifestServi
|
|
|
18
19
|
*/
|
|
19
20
|
export function startDevelopmentRender(
|
|
20
21
|
componentPath: string,
|
|
21
|
-
options: { port: number; loggingFormat?: LoggerOptions['format'] },
|
|
22
|
+
options: { port: number; loggingFormat?: LoggerOptions['format']; noBrowser?: boolean },
|
|
22
23
|
) {
|
|
23
24
|
const logger = getLogger({ name: 'component-dev', format: options.loggingFormat || 'human' });
|
|
24
25
|
const rootUrl = `http://localhost:${options.port}`;
|
|
@@ -51,6 +52,10 @@ export function startDevelopmentRender(
|
|
|
51
52
|
logger.info(`Component development webserver started on port ${options.port}`);
|
|
52
53
|
});
|
|
53
54
|
|
|
55
|
+
if (options?.noBrowser !== true) {
|
|
56
|
+
open(rootUrl);
|
|
57
|
+
}
|
|
58
|
+
|
|
54
59
|
server.on('close', async () => {
|
|
55
60
|
await componentRunnerService.stop();
|
|
56
61
|
});
|
|
@@ -4,7 +4,7 @@ import path from 'path';
|
|
|
4
4
|
|
|
5
5
|
import fsp from 'fs/promises';
|
|
6
6
|
import { randomBytes } from 'crypto';
|
|
7
|
-
import {
|
|
7
|
+
import { ComponentSetWebModelForCreate } from '@squiz/component-lib';
|
|
8
8
|
import { parseEnvVarForVar } from '@squiz/dx-common-lib';
|
|
9
9
|
import { ContentApi } from '@squiz/component-web-api-lib';
|
|
10
10
|
import { config } from 'dotenv';
|
|
@@ -77,7 +77,7 @@ export async function deleteComponentSet(webPath: string) {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
export async function addComponentSet(componentSet:
|
|
80
|
+
export async function addComponentSet(componentSet: ComponentSetWebModelForCreate) {
|
|
81
81
|
try {
|
|
82
82
|
await managementService.post(`/component-set`, componentSet);
|
|
83
83
|
} catch (error) {
|