@eclipse-che/che-e2e 7.115.0 → 7.116.0-next-696218f
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/.claude/skills/e2e-test-developer/SKILL.md +3 -0
- package/CODE_STYLE.md +5 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +14 -3
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -1
- package/package.json +2 -3
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +16 -3
|
@@ -152,6 +152,7 @@ Classes must follow this order:
|
|
|
152
152
|
### Test File Conventions
|
|
153
153
|
|
|
154
154
|
1. **Naming**
|
|
155
|
+
|
|
155
156
|
- UI tests: `*.spec.ts` (e.g., `Factory.spec.ts`)
|
|
156
157
|
- API-only tests: `*API.spec.ts` (e.g., `EmptyWorkspaceAPI.spec.ts`)
|
|
157
158
|
|
|
@@ -216,10 +217,12 @@ async function doSomething(param, timeout) {
|
|
|
216
217
|
```
|
|
217
218
|
|
|
218
219
|
2. **Naming Conventions**
|
|
220
|
+
|
|
219
221
|
- Variables: camelCase or UPPER_CASE
|
|
220
222
|
- No leading/trailing underscores
|
|
221
223
|
|
|
222
224
|
3. **String Quotes**
|
|
225
|
+
|
|
223
226
|
- Use single quotes for strings
|
|
224
227
|
|
|
225
228
|
4. **Comments**
|
package/CODE_STYLE.md
CHANGED
|
@@ -28,6 +28,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
28
28
|
### Preferable code style
|
|
29
29
|
|
|
30
30
|
1. Page-object and util classes
|
|
31
|
+
|
|
31
32
|
1. ✔ Class declaration using dependency injection (inversify library)
|
|
32
33
|
|
|
33
34
|
```
|
|
@@ -37,6 +38,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
37
38
|
```
|
|
38
39
|
|
|
39
40
|
2. Public methods
|
|
41
|
+
|
|
40
42
|
- ✔ Declare public methods without "public "keyword
|
|
41
43
|
- ✔ Add Logger.debug() inside method to log its name (with optional message)
|
|
42
44
|
|
|
@@ -49,6 +51,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
49
51
|
```
|
|
50
52
|
|
|
51
53
|
3. Locators
|
|
54
|
+
|
|
52
55
|
- ✔ For static locators - private static readonly fields type of By
|
|
53
56
|
|
|
54
57
|
```
|
|
@@ -102,6 +105,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
102
105
|
```
|
|
103
106
|
|
|
104
107
|
2. Mocha framework
|
|
108
|
+
|
|
105
109
|
- ✔ TDD framework (`suite()`, `test()`)
|
|
106
110
|
- ✔ Inject class instances, declare all test data inside test `suit()` function to avoid unnecessary code execution if test suit will not be run
|
|
107
111
|
|
|
@@ -118,6 +122,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
118
122
|
- ✔ Use test [./constants](constants) to make test flexible
|
|
119
123
|
|
|
120
124
|
3. Packages
|
|
125
|
+
|
|
121
126
|
1. Add packages as dev dependencies
|
|
122
127
|
2. If any changes re-create package-lock.json before push
|
|
123
128
|
|
|
@@ -24,6 +24,10 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TES
|
|
|
24
24
|
let devWorkspaceConfigurationHelper;
|
|
25
25
|
let devfileContext;
|
|
26
26
|
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
27
|
+
// dev Spaces specific images
|
|
28
|
+
const majorMinorVersion = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION.split('.').slice(0, 2).join('.');
|
|
29
|
+
const devSpacesEditorImage = `quay.io/redhat-user-workloads/devspaces-tenant/devspaces/code-rhel9:${majorMinorVersion}`;
|
|
30
|
+
const devSpacesUdiImage = 'registry.redhat.io/devspaces/udi-rhel9:latest';
|
|
27
31
|
suiteSetup(function () {
|
|
28
32
|
// create a predefined namespace for user using shell script and login into user dashboard
|
|
29
33
|
Logger_1.Logger.debug('Test prerequisites:');
|
|
@@ -46,15 +50,14 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TES
|
|
|
46
50
|
// generate empty workspace DevFile and create it through oc client under a regular user
|
|
47
51
|
suiteSetup('Login', async function () {
|
|
48
52
|
const devfileContent = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
49
|
-
const majorMinorVersion = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION.split('.').slice(0, 2).join('.');
|
|
50
|
-
const devSpacesEditorImage = `quay.io/redhat-user-workloads/devspaces-tenant/devspaces/code-rhel9:${majorMinorVersion}`;
|
|
51
53
|
kubernetesCommandLineToolsExecutor.loginToOcp(userName);
|
|
52
54
|
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
53
55
|
devfileContent
|
|
54
56
|
});
|
|
55
57
|
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
56
|
-
// update
|
|
58
|
+
// update component images for Dev Spaces only
|
|
57
59
|
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME() === 'devspaces') {
|
|
60
|
+
// update che-code-injector image in devWorkspaceTemplates
|
|
58
61
|
devfileContext.devWorkspaceTemplates.forEach((template) => {
|
|
59
62
|
template.spec?.components?.forEach((component) => {
|
|
60
63
|
if (component.name === 'che-code-injector' && component.container?.image) {
|
|
@@ -62,6 +65,14 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TES
|
|
|
62
65
|
}
|
|
63
66
|
});
|
|
64
67
|
});
|
|
68
|
+
// update che-code-runtime-description (UDI) image in devWorkspaceTemplates
|
|
69
|
+
devfileContext.devWorkspaceTemplates.forEach((template) => {
|
|
70
|
+
template.spec?.components?.forEach((component) => {
|
|
71
|
+
if (component.name === 'che-code-runtime-description' && component.container?.image) {
|
|
72
|
+
component.container.image = devSpacesUdiImage;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
65
76
|
}
|
|
66
77
|
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
67
78
|
kubernetesCommandLineToolsExecutor.applyWithoutNamespace(devWorkspaceConfigurationYamlString);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PredefinedNamespace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/PredefinedNamespace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,+BAA8B;AAC9B,mEAAwD;AACxD,uFAAoF;AACpF,+CAA4C;AAG5C,6EAA0E;AAC1E,iGAA8F;AAG9F,KAAK,CAAC,4CAA4C,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACzF,MAAM,uBAAuB,GAAW,eAAe,CAAC;IACxD,MAAM,aAAa,GAAW,UAAU,CAAC;IACzC,MAAM,aAAa,GAAkB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAW,MAAM,CAAC;IAChC,IAAI,+BAAgE,CAAC;IACrE,IAAI,cAA8B,CAAC;IACnC,MAAM,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC9F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IAEF,UAAU,CAAC;QACV,0FAA0F;QAC1F,eAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpC,eAAM,CAAC,KAAK,CACX,kJAAkJ,CAClJ,CAAC;QACF,eAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,kCAAkC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,8BAA8B,GACnC,mBAAmB;YACnB,kBAAkB;YAClB,aAAa;YACb,WAAW,uBAAuB,IAAI;YACtC,aAAa;YACb,kDAAkD;YAClD,yDAAyD;YACzD,kBAAkB;YAClB,oCAAoC,CAAC;QACtC,kCAAkC,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;QACzF,MAAM,oBAAoB,GAAW,+CAA+C,uBAAuB,EAAE,CAAC;QAC9G,aAAa,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,wFAAwF;IACxF,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,cAAc,GAAW,wBAAwB,GAAG,aAAa,GAAG,WAAW,aAAa,IAAI,CAAC;QACvG,
|
|
1
|
+
{"version":3,"file":"PredefinedNamespace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/PredefinedNamespace.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.116.0-next-696218f",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -66,8 +66,7 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@eclipse-che/api": "latest",
|
|
68
68
|
"inversify": "6.0.1",
|
|
69
|
-
"reflect-metadata": "0.1.13"
|
|
70
|
-
"@eclipse-che/che-devworkspace-generator": "7.115.0"
|
|
69
|
+
"reflect-metadata": "0.1.13"
|
|
71
70
|
},
|
|
72
71
|
"resolutions": {
|
|
73
72
|
"minimist": "^1.2.5"
|
|
@@ -29,6 +29,11 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS.TEST_ENVIR
|
|
|
29
29
|
CLASSES.KubernetesCommandLineToolsExecutor
|
|
30
30
|
);
|
|
31
31
|
|
|
32
|
+
// dev Spaces specific images
|
|
33
|
+
const majorMinorVersion: string = BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION.split('.').slice(0, 2).join('.');
|
|
34
|
+
const devSpacesEditorImage: string = `quay.io/redhat-user-workloads/devspaces-tenant/devspaces/code-rhel9:${majorMinorVersion}`;
|
|
35
|
+
const devSpacesUdiImage: string = 'registry.redhat.io/devspaces/udi-rhel9:latest';
|
|
36
|
+
|
|
32
37
|
suiteSetup(function (): void {
|
|
33
38
|
// create a predefined namespace for user using shell script and login into user dashboard
|
|
34
39
|
Logger.debug('Test prerequisites:');
|
|
@@ -54,16 +59,15 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS.TEST_ENVIR
|
|
|
54
59
|
// generate empty workspace DevFile and create it through oc client under a regular user
|
|
55
60
|
suiteSetup('Login', async function (): Promise<void> {
|
|
56
61
|
const devfileContent: string = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
57
|
-
const majorMinorVersion: string = BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION.split('.').slice(0, 2).join('.');
|
|
58
|
-
const devSpacesEditorImage: string = `quay.io/redhat-user-workloads/devspaces-tenant/devspaces/code-rhel9:${majorMinorVersion}`;
|
|
59
62
|
kubernetesCommandLineToolsExecutor.loginToOcp(userName);
|
|
60
63
|
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({
|
|
61
64
|
devfileContent
|
|
62
65
|
});
|
|
63
66
|
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
64
67
|
|
|
65
|
-
// update
|
|
68
|
+
// update component images for Dev Spaces only
|
|
66
69
|
if (BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME() === 'devspaces') {
|
|
70
|
+
// update che-code-injector image in devWorkspaceTemplates
|
|
67
71
|
devfileContext.devWorkspaceTemplates.forEach((template): void => {
|
|
68
72
|
template.spec?.components?.forEach((component): void => {
|
|
69
73
|
if (component.name === 'che-code-injector' && component.container?.image) {
|
|
@@ -71,6 +75,15 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS.TEST_ENVIR
|
|
|
71
75
|
}
|
|
72
76
|
});
|
|
73
77
|
});
|
|
78
|
+
|
|
79
|
+
// update che-code-runtime-description (UDI) image in devWorkspaceTemplates
|
|
80
|
+
devfileContext.devWorkspaceTemplates.forEach((template): void => {
|
|
81
|
+
template.spec?.components?.forEach((component): void => {
|
|
82
|
+
if (component.name === 'che-code-runtime-description' && component.container?.image) {
|
|
83
|
+
component.container.image = devSpacesUdiImage;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
74
87
|
}
|
|
75
88
|
|
|
76
89
|
const devWorkspaceConfigurationYamlString: string =
|