@eclipse-che/che-e2e 7.46.1-dev-409a251 → 7.46.1-dev-7eff412

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.
Files changed (106) hide show
  1. package/TestConstants.ts +6 -1
  2. package/dist/TestConstants.js +5 -1
  3. package/dist/TestConstants.js.map +1 -1
  4. package/dist/driver/CheReporter.js +6 -2
  5. package/dist/driver/CheReporter.js.map +1 -1
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/inversify.config.js +2 -0
  9. package/dist/inversify.config.js.map +1 -1
  10. package/dist/inversify.types.js +2 -1
  11. package/dist/inversify.types.js.map +1 -1
  12. package/dist/pageobjects/dashboard/Dashboard.js +1 -1
  13. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
  14. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
  15. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -1
  16. package/dist/tests/devfiles/CSlashCPlusPlus.spec.js +7 -0
  17. package/dist/tests/devfiles/CSlashCPlusPlus.spec.js.map +1 -1
  18. package/dist/tests/devfiles/DevfileSmoke.spec.js +7 -0
  19. package/dist/tests/devfiles/DevfileSmoke.spec.js.map +1 -1
  20. package/dist/tests/devfiles/DotNetCore.spec.js +7 -0
  21. package/dist/tests/devfiles/DotNetCore.spec.js.map +1 -1
  22. package/dist/tests/devfiles/Go.spec.js +7 -0
  23. package/dist/tests/devfiles/Go.spec.js.map +1 -1
  24. package/dist/tests/devfiles/JavaMaven.spec.js +7 -0
  25. package/dist/tests/devfiles/JavaMaven.spec.js.map +1 -1
  26. package/dist/tests/devfiles/JavaSpringBoot.spec.js +7 -0
  27. package/dist/tests/devfiles/JavaSpringBoot.spec.js.map +1 -1
  28. package/dist/tests/devfiles/JavaVertx.spec.js +7 -0
  29. package/dist/tests/devfiles/JavaVertx.spec.js.map +1 -1
  30. package/dist/tests/devfiles/NodeJS.spec.js +7 -0
  31. package/dist/tests/devfiles/NodeJS.spec.js.map +1 -1
  32. package/dist/tests/devfiles/PHPSimple.spec.js +7 -0
  33. package/dist/tests/devfiles/PHPSimple.spec.js.map +1 -1
  34. package/dist/tests/devfiles/Python.spec.js +7 -0
  35. package/dist/tests/devfiles/Python.spec.js.map +1 -1
  36. package/dist/tests/devfiles/PythonDjango.spec.js +7 -0
  37. package/dist/tests/devfiles/PythonDjango.spec.js.map +1 -1
  38. package/dist/tests/devfiles/Quarkus.spec.js +7 -0
  39. package/dist/tests/devfiles/Quarkus.spec.js.map +1 -1
  40. package/dist/tests/devfiles/Scala.spec.js +7 -0
  41. package/dist/tests/devfiles/Scala.spec.js.map +1 -1
  42. package/dist/tests/e2e/GitPublishBranch.spec.js +5 -0
  43. package/dist/tests/e2e/GitPublishBranch.spec.js.map +1 -1
  44. package/dist/tests/e2e/GitSelfSignCert.spec.js +5 -0
  45. package/dist/tests/e2e/GitSelfSignCert.spec.js.map +1 -1
  46. package/dist/tests/e2e/GitSsh.spec.js +6 -0
  47. package/dist/tests/e2e/GitSsh.spec.js.map +1 -1
  48. package/dist/tests/e2e/OpenshiftConnector.spec.js +5 -0
  49. package/dist/tests/e2e/OpenshiftConnector.spec.js.map +1 -1
  50. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js +2 -0
  51. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js.map +1 -1
  52. package/dist/tests/e2e_happy_path/HappyPath.spec.js +5 -0
  53. package/dist/tests/e2e_happy_path/HappyPath.spec.js.map +1 -1
  54. package/dist/tests/plugins/VscodeXmlPlugin.spec.js +6 -11
  55. package/dist/tests/plugins/VscodeXmlPlugin.spec.js.map +1 -1
  56. package/dist/tests/plugins/VscodeYamlPlugin.spec.js +5 -10
  57. package/dist/tests/plugins/VscodeYamlPlugin.spec.js.map +1 -1
  58. package/dist/testsLibrary/CodeExecutionTests.js.map +1 -1
  59. package/dist/testsLibrary/WorkspaceHandlingTests.js +13 -5
  60. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -1
  61. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -1
  62. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +17 -2
  63. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -1
  64. package/dist/utils/workspace/ApiUrlResolver.js +67 -0
  65. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
  66. package/dist/utils/workspace/TestWorkspaceUtil.js +60 -30
  67. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
  68. package/dist/utils/workspace/WorkspaceStatus.js.map +1 -1
  69. package/driver/CheReporter.ts +8 -2
  70. package/index.ts +1 -0
  71. package/inversify.config.ts +4 -2
  72. package/inversify.types.ts +2 -1
  73. package/mocha-all-plugins.json +2 -1
  74. package/package.json +1 -1
  75. package/pageobjects/dashboard/Dashboard.ts +10 -11
  76. package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +2 -2
  77. package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +3 -3
  78. package/tests/devfiles/CSlashCPlusPlus.spec.ts +4 -0
  79. package/tests/devfiles/DevfileSmoke.spec.ts +4 -0
  80. package/tests/devfiles/DotNetCore.spec.ts +4 -0
  81. package/tests/devfiles/Go.spec.ts +4 -0
  82. package/tests/devfiles/JavaMaven.spec.ts +4 -0
  83. package/tests/devfiles/JavaSpringBoot.spec.ts +4 -0
  84. package/tests/devfiles/JavaVertx.spec.ts +4 -0
  85. package/tests/devfiles/NodeJS.spec.ts +4 -0
  86. package/tests/devfiles/PHPSimple.spec.ts +4 -0
  87. package/tests/devfiles/Python.spec.ts +4 -0
  88. package/tests/devfiles/PythonDjango.spec.ts +4 -0
  89. package/tests/devfiles/Quarkus.spec.ts +4 -0
  90. package/tests/devfiles/Scala.spec.ts +4 -0
  91. package/tests/e2e/GitPublishBranch.spec.ts +4 -2
  92. package/tests/e2e/GitSelfSignCert.spec.ts +4 -2
  93. package/tests/e2e/GitSsh.spec.ts +5 -2
  94. package/tests/e2e/OpenshiftConnector.spec.ts +4 -2
  95. package/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.ts +2 -0
  96. package/tests/e2e_happy_path/HappyPath.spec.ts +2 -0
  97. package/tests/plugins/VscodeXmlPlugin.spec.ts +6 -13
  98. package/tests/plugins/VscodeYamlPlugin.spec.ts +6 -11
  99. package/testsLibrary/CodeExecutionTests.ts +1 -3
  100. package/testsLibrary/WorkspaceHandlingTests.ts +10 -4
  101. package/utils/requestHandlers/CheApiRequestHandler.ts +1 -1
  102. package/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +17 -2
  103. package/utils/workspace/ApiUrlResolver.ts +50 -0
  104. package/utils/workspace/ITestWorkspaceUtil.ts +73 -1
  105. package/utils/workspace/TestWorkspaceUtil.ts +65 -33
  106. package/utils/workspace/WorkspaceStatus.ts +1 -1
@@ -23,33 +23,33 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
23
23
  var __importDefault = (this && this.__importDefault) || function (mod) {
24
24
  return (mod && mod.__esModule) ? mod : { "default": mod };
25
25
  };
26
- var TestWorkspaceUtil_1;
27
26
  Object.defineProperty(exports, "__esModule", { value: true });
28
27
  exports.TestWorkspaceUtil = void 0;
28
+ require("reflect-metadata");
29
29
  const TestConstants_1 = require("../../TestConstants");
30
30
  const inversify_1 = require("inversify");
31
31
  const DriverHelper_1 = require("../DriverHelper");
32
- require("reflect-metadata");
33
32
  const WorkspaceStatus_1 = require("./WorkspaceStatus");
34
33
  const selenium_webdriver_1 = require("selenium-webdriver");
35
34
  const CheApiRequestHandler_1 = require("../requestHandlers/CheApiRequestHandler");
36
35
  const inversify_types_1 = require("../../inversify.types");
37
36
  const Logger_1 = require("../Logger");
38
37
  const axios_1 = __importDefault(require("axios"));
39
- let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
40
- constructor(driverHelper, processRequestHandler) {
38
+ const ApiUrlResolver_1 = require("./ApiUrlResolver");
39
+ let TestWorkspaceUtil = class TestWorkspaceUtil {
40
+ constructor(driverHelper, processRequestHandler, apiUrlResolver) {
41
41
  this.driverHelper = driverHelper;
42
42
  this.processRequestHandler = processRequestHandler;
43
+ this.apiUrlResolver = apiUrlResolver;
43
44
  this.attempts = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS;
44
45
  this.polling = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_POLLING;
45
46
  }
46
- async waitWorkspaceStatus(namespace, workspaceName, expectedWorkspaceStatus) {
47
+ async waitWorkspaceStatus(workspaceName, expectedWorkspaceStatus) {
47
48
  Logger_1.Logger.debug('TestWorkspaceUtil.waitWorkspaceStatus');
48
- const workspaceStatusApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
49
49
  let workspaceStatus = '';
50
50
  let expectedStatus = false;
51
51
  for (let i = 0; i < this.attempts; i++) {
52
- const response = await this.processRequestHandler.get(workspaceStatusApiUrl);
52
+ const response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspaceApiUrl(workspaceName));
53
53
  if (response.status !== 200) {
54
54
  throw new Error(`Can not get status of a workspace. Code: ${response.status} Data: ${response.data}`);
55
55
  }
@@ -65,9 +65,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
65
65
  throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Currnet status is: ${workspaceStatus}`);
66
66
  }
67
67
  }
68
- async stopWorkspaceByName(namespace, workspaceName) {
68
+ async stopWorkspaceByName(workspaceName) {
69
69
  Logger_1.Logger.debug('TestWorkspaceUtil.stopWorkspaceByName');
70
- const stopWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
70
+ const stopWorkspaceApiUrl = await this.apiUrlResolver.getWorkspaceApiUrl(workspaceName);
71
71
  let stopWorkspaceResponse;
72
72
  try {
73
73
  stopWorkspaceResponse = await this.processRequestHandler.patch(stopWorkspaceApiUrl, [{ 'op': 'replace', 'path': '/spec/started', 'value': false }]);
@@ -79,13 +79,13 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
79
79
  if (stopWorkspaceResponse.status !== 200) {
80
80
  throw new Error(`Cannot stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
81
81
  }
82
- await this.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus_1.WorkspaceStatus.STOPPED);
82
+ await this.waitWorkspaceStatus(workspaceName, WorkspaceStatus_1.WorkspaceStatus.STOPPED);
83
83
  }
84
84
  // delete a worksapce without stopping phase (similar with force deleting)
85
- async deleteWorkspaceByName(namespace, workspaceName) {
85
+ async deleteWorkspaceByName(workspaceName) {
86
86
  var _a, _b;
87
- Logger_1.Logger.debug('TestWorkspaceUtil.deleteWorkspaceByName');
88
- const deleteWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
87
+ Logger_1.Logger.debug(`TestWorkspaceUtil.deleteWorkspaceByName ${workspaceName}`);
88
+ const deleteWorkspaceApiUrl = await this.apiUrlResolver.getWorkspaceApiUrl(workspaceName);
89
89
  let deleteWorkspaceResponse;
90
90
  let deleteWorkspaceStatus = false;
91
91
  try {
@@ -96,11 +96,11 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
96
96
  Logger_1.Logger.error(`The workspace :${workspaceName} not found`);
97
97
  throw error;
98
98
  }
99
- Logger_1.Logger.error(`Stop workspace call failed. URL used: ${deleteWorkspaceStatus}`);
99
+ Logger_1.Logger.error(`Delete workspace call failed. URL used: ${deleteWorkspaceStatus}`);
100
100
  throw error;
101
101
  }
102
102
  if (deleteWorkspaceResponse.status !== 204) {
103
- throw new Error(`Can not stop workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
103
+ throw new Error(`Can not delete workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
104
104
  }
105
105
  for (let i = 0; i < this.attempts; i++) {
106
106
  try {
@@ -119,17 +119,46 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
119
119
  }
120
120
  }
121
121
  // stop workspace before deleting with checking stopping phase
122
- async stopAndDeleteWorkspaceByName(namespace, workspaceName) {
122
+ async stopAndDeleteWorkspaceByName(workspaceName) {
123
123
  Logger_1.Logger.debug('TestWorkspaceUtil.stopAndDeleteWorkspaceByName');
124
- await this.stopWorkspaceByName(namespace, workspaceName);
125
- await this.deleteWorkspaceByName(namespace, workspaceName);
124
+ await this.stopWorkspaceByName(workspaceName);
125
+ await this.deleteWorkspaceByName(workspaceName);
126
+ }
127
+ // stop all run workspaces in the namespace
128
+ async stopAllRunningWorkspaces(namespace) {
129
+ Logger_1.Logger.debug('TestWorkspaceUtil.stopAllRunProjects');
130
+ let response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
131
+ for (let i = 0; i < response.data.items.length; i++) {
132
+ Logger_1.Logger.info('The project is being stopped: ' + response.data.items[i].metadata.name);
133
+ await this.stopWorkspaceByName(response.data.items[i].metadata.name);
134
+ }
135
+ }
136
+ // stop all run workspaces, check statused and remove the workspaces
137
+ async stopAndDeleteAllRunningWorkspaces(namespace) {
138
+ Logger_1.Logger.debug('TestWorkspaceUtil.stopAndDeleteAllRunProjects');
139
+ let response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
140
+ await this.stopAllRunningWorkspaces(namespace);
141
+ for (let i = 0; i < response.data.items.length; i++) {
142
+ Logger_1.Logger.info('The project is being deleted: ' + response.data.items[i].metadata.name);
143
+ await this.deleteWorkspaceByName(response.data.items[i].metadata.name);
144
+ }
145
+ }
146
+ // stop all run workspaces without stopping and waiting for of 'Stopped' phase
147
+ // similar with 'force' deleting
148
+ async deleteAllWorkspaces(namespace) {
149
+ Logger_1.Logger.debug('TestWorkspaceUtil.deleteAllRunProjects');
150
+ let response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
151
+ for (let i = 0; i < response.data.items.length; i++) {
152
+ Logger_1.Logger.info('The project is being deleted .......: ' + response.data.items[i].metadata.name);
153
+ await this.deleteWorkspaceByName(response.data.items[i].metadata.name);
154
+ }
126
155
  }
127
156
  /**
128
157
  * @deprecated Method deprecated. Works with CHE server only
129
158
  */
130
159
  async waitPluginAdding(namespace, workspaceName, pluginName) {
131
160
  Logger_1.Logger.debug('TestWorkspaceUtil.waitPluginAdding');
132
- const workspaceStatusApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}:${workspaceName}`;
161
+ const workspaceStatusApiUrl = `${await this.apiUrlResolver.getWorkspacesApiUrl()}/${namespace}:${workspaceName}`;
133
162
  const attempts = TestConstants_1.TestConstants.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS;
134
163
  const polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING;
135
164
  for (let i = 0; i < attempts; i++) {
@@ -154,7 +183,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
154
183
  */
155
184
  async getListOfWorkspaceId() {
156
185
  Logger_1.Logger.debug('TestWorkspaceUtil.getListOfWorkspaceId');
157
- const getAllWorkspacesResponse = await this.processRequestHandler.get(TestWorkspaceUtil_1.WORKSPACE_API_URL);
186
+ const getAllWorkspacesResponse = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
158
187
  let stringified = JSON.stringify(getAllWorkspacesResponse.data);
159
188
  let arrayOfWorkspaces = JSON.parse(stringified);
160
189
  let wsList = [];
@@ -168,7 +197,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
168
197
  */
169
198
  async getIdOfRunningWorkspace(wsName) {
170
199
  Logger_1.Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspace');
171
- const getWorkspacesByNameResponse = await this.processRequestHandler.get(`${TestWorkspaceUtil_1.WORKSPACE_API_URL}/:${wsName}`);
200
+ const getWorkspacesByNameResponse = await this.processRequestHandler.get(`${await this.apiUrlResolver.getWorkspacesApiUrl()}/:${wsName}`);
172
201
  return getWorkspacesByNameResponse.data.id;
173
202
  }
174
203
  /**
@@ -177,7 +206,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
177
206
  async getIdOfRunningWorkspaces() {
178
207
  Logger_1.Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspaces');
179
208
  try {
180
- const getAllWorkspacesResponse = await this.processRequestHandler.get(TestWorkspaceUtil_1.WORKSPACE_API_URL);
209
+ const getAllWorkspacesResponse = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
181
210
  let stringified = JSON.stringify(getAllWorkspacesResponse.data);
182
211
  let arrayOfWorkspaces = JSON.parse(stringified);
183
212
  let idOfRunningWorkspace = new Array();
@@ -189,7 +218,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
189
218
  return idOfRunningWorkspace;
190
219
  }
191
220
  catch (err) {
192
- console.log(`Getting id of running workspaces failed. URL used: ${TestWorkspaceUtil_1.WORKSPACE_API_URL}`);
221
+ console.log(`Getting id of running workspaces failed. URL used: ${await this.apiUrlResolver.getWorkspacesApiUrl()}`);
193
222
  throw err;
194
223
  }
195
224
  }
@@ -198,7 +227,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
198
227
  */
199
228
  async removeWorkspaceById(id) {
200
229
  Logger_1.Logger.debug('TestWorkspaceUtil.removeWorkspaceById');
201
- const workspaceIdUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${id}`;
230
+ const workspaceIdUrl = `${await this.apiUrlResolver.getWorkspacesApiUrl()}/${id}`;
202
231
  try {
203
232
  const deleteWorkspaceResponse = await this.processRequestHandler.delete(workspaceIdUrl);
204
233
  if (deleteWorkspaceResponse.status !== 204) {
@@ -215,7 +244,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
215
244
  */
216
245
  async stopWorkspaceById(id) {
217
246
  Logger_1.Logger.debug('TestWorkspaceUtil.stopWorkspaceById');
218
- const stopWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${id}`;
247
+ const stopWorkspaceApiUrl = `${await this.apiUrlResolver.getWorkspacesApiUrl()}/${id}`;
219
248
  let stopWorkspaceResponse;
220
249
  try {
221
250
  stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}`);
@@ -281,7 +310,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
281
310
  async createWsFromDevFile(customTemplate) {
282
311
  Logger_1.Logger.debug('TestWorkspaceUtil.createWsFromDevFile');
283
312
  try {
284
- await this.processRequestHandler.post(TestWorkspaceUtil_1.WORKSPACE_API_URL + '/devfile', customTemplate);
313
+ await this.processRequestHandler.post(await this.apiUrlResolver.getWorkspacesApiUrl() + '/devfile', customTemplate);
285
314
  }
286
315
  catch (error) {
287
316
  console.error(error);
@@ -307,7 +336,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
307
336
  async startWorkspace(workspaceId) {
308
337
  Logger_1.Logger.debug('TestWorkspaceUtil.startWorkspace');
309
338
  try {
310
- await this.processRequestHandler.post(`${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${workspaceId}/runtime`);
339
+ await this.processRequestHandler.post(`${await this.apiUrlResolver.getWorkspacesApiUrl()}/${workspaceId}/runtime`);
311
340
  }
312
341
  catch (error) {
313
342
  console.error(error);
@@ -315,13 +344,14 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
315
344
  }
316
345
  }
317
346
  };
318
- TestWorkspaceUtil.WORKSPACE_API_URL = 'dashboard/api/namespace';
319
- TestWorkspaceUtil = TestWorkspaceUtil_1 = __decorate([
347
+ TestWorkspaceUtil = __decorate([
320
348
  inversify_1.injectable(),
321
349
  __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
322
350
  __param(1, inversify_1.inject(inversify_types_1.CLASSES.CheApiRequestHandler)),
351
+ __param(2, inversify_1.inject(inversify_types_1.CLASSES.ApiUrlResolver)),
323
352
  __metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
324
- CheApiRequestHandler_1.CheApiRequestHandler])
353
+ CheApiRequestHandler_1.CheApiRequestHandler,
354
+ ApiUrlResolver_1.ApiUrlResolver])
325
355
  ], TestWorkspaceUtil);
326
356
  exports.TestWorkspaceUtil = TestWorkspaceUtil;
327
357
  //# sourceMappingURL=TestWorkspaceUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceStatus.js","sourceRoot":"","sources":["../../../utils/workspace/WorkspaceStatus.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAEvE,IAAY,eAIZ;AAJA,WAAY,eAAe;IACxB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACzB,CAAC,EAJY,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI3B"}
1
+ {"version":3,"file":"WorkspaceStatus.js","sourceRoot":"","sources":["../../../utils/workspace/WorkspaceStatus.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACzB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
@@ -23,7 +23,6 @@ import { CheApiRequestHandler } from '../utils/requestHandlers/CheApiRequestHand
23
23
  import { TimeoutConstants } from '../TimeoutConstants';
24
24
  import { Logger } from '../utils/Logger';
25
25
  import { Sanitizer } from '../utils/Sanitizer';
26
- import { WorkspaceHandlingTests } from '../testsLibrary/WorkspaceHandlingTests';
27
26
 
28
27
  const e2eContainer = inversifyConfig.e2eContainer;
29
28
  const driver: IDriver = e2eContainer.get(TYPES.Driver);
@@ -37,6 +36,13 @@ let testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil
37
36
 
38
37
  class CheReporter extends mocha.reporters.Spec {
39
38
 
39
+ private static latestWorkspace: string = '';
40
+
41
+ public static registerRunningWorkspace(workspaceName: string) {
42
+ Logger.debug(`CheReporter.registerRunningWorkspace {${workspaceName}}`);
43
+ CheReporter.latestWorkspace = workspaceName;
44
+ }
45
+
40
46
  constructor(runner: mocha.Runner, options: mocha.MochaOptions) {
41
47
  super(runner, options);
42
48
 
@@ -186,7 +192,7 @@ class CheReporter extends mocha.reporters.Spec {
186
192
  // stop and remove running workspace
187
193
  if (TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST) {
188
194
  Logger.warn('Property DELETE_WORKSPACE_ON_FAILED_TEST se to true - trying to stop and delete running workspace.');
189
- await testWorkspaceUtil.cleanUpRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
195
+ await testWorkspaceUtil.stopAndDeleteWorkspaceByName(CheReporter.latestWorkspace);
190
196
  }
191
197
 
192
198
  });
package/index.ts CHANGED
@@ -20,6 +20,7 @@ export * from './utils/Sanitizer';
20
20
  export * from './utils/ScreenCatcher';
21
21
  export * from './utils/VCS/CheGitApi';
22
22
  export * from './utils/VCS/github/GitHubUtil';
23
+ export * from './utils/workspace/ApiUrlResolver';
23
24
  export * from './utils/workspace/ITestWorkspaceUtil';
24
25
  export * from './utils/WorkspaceNameHandler';
25
26
  export * from './utils/workspace/TestWorkspaceUtil';
@@ -12,7 +12,6 @@ import { Container } from 'inversify';
12
12
  import { IDriver } from './driver/IDriver';
13
13
  import { ChromeDriver } from './driver/ChromeDriver';
14
14
  import { TYPES, CLASSES } from './inversify.types';
15
- import { ITestWorkspaceUtil } from './utils/workspace/ITestWorkspaceUtil';
16
15
  import { TestWorkspaceUtil } from './utils/workspace/TestWorkspaceUtil';
17
16
  import { IOcpLoginPage } from './pageobjects/login/IOcpLoginPage';
18
17
  import { OcpUserLoginPage } from './pageobjects/login/OcpUserLoginPage';
@@ -70,13 +69,15 @@ import { AnimationChecker } from './utils/AnimationChecker';
70
69
  import { WorkspaceNameHandler } from './utils/WorkspaceNameHandler';
71
70
  import { Sanitizer } from './utils/Sanitizer';
72
71
  import { NavigationBar } from './pageobjects/ide/NavigationBar';
72
+ import { ApiUrlResolver } from './utils/workspace/ApiUrlResolver';
73
+ import { ITestWorkspaceUtil } from './utils/workspace/ITestWorkspaceUtil';
74
+
73
75
 
74
76
  const e2eContainer: Container = new Container({ defaultScope: 'Transient' });
75
77
 
76
78
  e2eContainer.bind<IDriver>(TYPES.Driver).to(ChromeDriver).inSingletonScope();
77
79
  e2eContainer.bind<ITestWorkspaceUtil>(TYPES.WorkspaceUtil).to(TestWorkspaceUtil);
78
80
  e2eContainer.bind<IOcpLoginPage>(TYPES.OcpLogin).to(OcpUserLoginPage);
79
-
80
81
  e2eContainer.bind<IAuthorizationHeaderHandler>(TYPES.IAuthorizationHeaderHandler).to(CheMultiuserAuthorizationHeaderHandler);
81
82
  e2eContainer.bind<ITokenHandler>(TYPES.ITokenHandler).to(CheMultiuserTokenHandler);
82
83
 
@@ -132,5 +133,6 @@ e2eContainer.bind<GitOauthAppsSettings>(CLASSES.GitOauthAppsSettings).to(GitOaut
132
133
  e2eContainer.bind<AnimationChecker>(CLASSES.AnimationChecker).to(AnimationChecker);
133
134
  e2eContainer.bind<Sanitizer>(CLASSES.Sanitizer).to(Sanitizer);
134
135
  e2eContainer.bind<NavigationBar>(CLASSES.NavigationBar).to(NavigationBar);
136
+ e2eContainer.bind<ApiUrlResolver>(CLASSES.ApiUrlResolver).to(ApiUrlResolver);
135
137
 
136
138
  export { e2eContainer };
@@ -66,7 +66,8 @@ const CLASSES = {
66
66
  GitOauthAppsSettings: 'GitOauthAppsSettings',
67
67
  AnimationChecker: 'AnimationChecker',
68
68
  Sanitizer: 'Sanitizer',
69
- NavigationBar: 'NavigationBar'
69
+ NavigationBar: 'NavigationBar',
70
+ ApiUrlResolver: 'ApiUrlResolver'
70
71
  };
71
72
 
72
73
  export { TYPES, CLASSES };
@@ -6,6 +6,7 @@
6
6
  "require": "source-map-support/register",
7
7
  "spec": [
8
8
  "dist/tests/login/Login.spec.js",
9
- "dist/tests/plugins/*.spec.js"
9
+ "dist/tests/plugins/VscodeXmlPlugin.spec.js",
10
+ "dist/tests/plugins/VscodeYamlPlugin.spec.js"
10
11
  ]
11
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-e2e",
3
- "version": "7.46.1-dev-409a251",
3
+ "version": "7.46.1-dev-7eff412",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -27,7 +27,7 @@ export class Dashboard {
27
27
 
28
28
  constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
29
29
  @inject(CLASSES.Workspaces) private readonly workspaces: Workspaces,
30
- @inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil,
30
+ @inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil
31
31
  ) { }
32
32
 
33
33
  async stopWorkspaceByUI(workspaceName: string) {
@@ -61,9 +61,9 @@ export class Dashboard {
61
61
  await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
62
62
  }
63
63
 
64
- async stopAndRemoveWorkspaceWithSelectingTab(workspaceName: string) {
64
+ async stopAndRemoveWorkspaceWithSelectingTab(workspaceName: string) {
65
65
  Logger.debug(`Dashboard.stopAndRemoveWorkspaceWithSelectingTab "${workspaceName}"`);
66
- await this.switchToDashboardTab()
66
+ await this.switchToDashboardTab();
67
67
  await this.stopWorkspaceByUI(workspaceName);
68
68
  await this.workspaces.deleteWorkspaceByActionsButton(workspaceName);
69
69
  await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
@@ -71,9 +71,9 @@ export class Dashboard {
71
71
 
72
72
  async openDashboard() {
73
73
  Logger.debug('Dashboard.openDashboard');
74
- //sometimes we can have opened files. In this case we get Alert dialog. We should perform it.
74
+ // sometimes we can have opened files. In this case we get Alert dialog. We should perform it.
75
75
  await this.driverHelper.getDriver().navigate().to(TestConstants.TS_SELENIUM_BASE_URL);
76
-
76
+
77
77
  try {
78
78
  await this.waitPage();
79
79
  } catch (err) {
@@ -90,7 +90,7 @@ export class Dashboard {
90
90
  // click on the Browser tab which has been registered in the WorkspaceHandlingTests class
91
91
  async switchToDashboardTab() {
92
92
  Logger.debug('Dashboard.openDashboardTab');
93
-
93
+
94
94
  await this.findAndClickDashboardTab();
95
95
  await this.waitPage();
96
96
  }
@@ -159,14 +159,13 @@ export class Dashboard {
159
159
  await this.browserTabsUtil.switchToWindow(windowHandle);
160
160
  try {
161
161
  this.driverHelper.waitVisibility(By.xpath(Dashboard.CREATE_WORKSPACE_BUTTON_XPATH));
162
- Logger.info('Dashboard tab has been selected')
162
+ Logger.info('Dashboard tab has been selected');
163
163
  return;
164
- }
165
- catch {
166
- Logger.warn('The Dashboard Tab is not found in the window: ' + this.browserTabsUtil.getCurrentWindowHandle())
164
+ } catch {
165
+ Logger.warn('The Dashboard Tab is not found in the window: ' + this.browserTabsUtil.getCurrentWindowHandle());
167
166
  }
168
167
  });
169
- Logger.warn('The Dashboard Tab is not opened')
168
+ Logger.warn('The Dashboard Tab is not opened');
170
169
  }
171
170
 
172
171
  }
@@ -14,10 +14,10 @@ import 'reflect-metadata';
14
14
  import { TestConstants } from '../../../TestConstants';
15
15
  import { By } from 'selenium-webdriver';
16
16
  import { Ide } from '../../ide/Ide';
17
- import { ITestWorkspaceUtil } from '../../../utils/workspace/ITestWorkspaceUtil';
18
17
  import { WorkspaceStatus } from '../../../utils/workspace/WorkspaceStatus';
19
18
  import { Logger } from '../../../utils/Logger';
20
19
  import { TimeoutConstants } from '../../../TimeoutConstants';
20
+ import { ITestWorkspaceUtil } from '../../../utils/workspace/ITestWorkspaceUtil';
21
21
 
22
22
 
23
23
  @injectable()
@@ -29,7 +29,7 @@ export class WorkspaceDetails {
29
29
  private static readonly WORKSPACE_DETAILS_LOADER_CSS: string = 'workspace-details-overview md-progress-linear';
30
30
 
31
31
  constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
32
- @inject(TYPES.WorkspaceUtil) private readonly testWorkspaceUtil: ITestWorkspaceUtil) { }
32
+ @inject(TYPES.WorkspaceUtil) private readonly testWorkspaceUtil: ITestWorkspaceUtil) { }
33
33
 
34
34
  async waitLoaderDisappearance(attempts: number = TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS, polling: number = TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
35
35
  Logger.debug('WorkspaceDetails.waitLoaderDisappearance');
@@ -13,17 +13,17 @@ import 'reflect-metadata';
13
13
  import { CLASSES, TYPES } from '../../../inversify.types';
14
14
  import { By } from 'selenium-webdriver';
15
15
  import { WorkspaceDetails } from './WorkspaceDetails';
16
- import { ITestWorkspaceUtil } from '../../../utils/workspace/ITestWorkspaceUtil';
17
16
  import { WorkspaceStatus } from '../../../utils/workspace/WorkspaceStatus';
18
17
  import { Logger } from '../../../utils/Logger';
19
18
  import { TimeoutConstants } from '../../../TimeoutConstants';
19
+ import { ITestWorkspaceUtil } from '../../../utils/workspace/ITestWorkspaceUtil';
20
20
 
21
21
 
22
22
  @injectable()
23
23
  export class WorkspaceDetailsPlugins {
24
24
  constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
25
- @inject(CLASSES.WorkspaceDetails) private readonly workspaceDetails: WorkspaceDetails,
26
- @inject(TYPES.WorkspaceUtil) private readonly testWorkspaceUtil: ITestWorkspaceUtil) { }
25
+ @inject(CLASSES.WorkspaceDetails) private readonly workspaceDetails: WorkspaceDetails,
26
+ @inject(TYPES.WorkspaceUtil) private readonly testWorkspaceUtil: ITestWorkspaceUtil) { }
27
27
 
28
28
  async waitPluginListItem(pluginName: string) {
29
29
  Logger.debug(`WorkspaceDetailsPlugins.waitPluginListItem ${pluginName}`);
@@ -15,6 +15,7 @@ import { LanguageServerTests } from '../../testsLibrary/LanguageServerTests';
15
15
  import { CodeExecutionTests } from '../../testsLibrary/CodeExecutionTests';
16
16
  import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
17
17
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
18
+ import CheReporter from '../../driver/CheReporter';
18
19
 
19
20
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
20
21
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -33,6 +34,9 @@ suite(`${stack} test`, async () => {
33
34
  suite(`Create ${stack} workspace`, async () => {
34
35
  workspaceHandlingTests.createAndOpenWorkspace(stack);
35
36
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
37
+ test('Register running workspace', async () => {
38
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
39
+ });
36
40
  projectAndFileTests.waitWorkspaceReadinessNoSubfolder(workspaceSampleName, false);
37
41
  });
38
42
 
@@ -15,6 +15,7 @@ import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
15
15
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
16
16
  import { NavigationBar } from '../../pageobjects/ide/NavigationBar';
17
17
  import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
18
+ import CheReporter from '../../driver/CheReporter';
18
19
 
19
20
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
20
21
  const preferencesHandler: PreferencesHandler = e2eContainer.get(CLASSES.PreferencesHandler);
@@ -30,6 +31,9 @@ suite(`${stack} test`, async () => {
30
31
  suite (`Create ${stack} workspace`, async () => {
31
32
  workspaceHandlingTests.createAndOpenWorkspace(stack);
32
33
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
34
+ test('Register running workspace', async () => {
35
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
36
+ });
33
37
  projectAndFileTests.waitWorkspaceReadiness(workspaceSampleName, workspaceRootFolderName, false);
34
38
 
35
39
  test('Set application.confirmExit user preferences to "never"', async () => {
@@ -15,6 +15,7 @@ import { LanguageServerTests } from '../../testsLibrary/LanguageServerTests';
15
15
  import { CodeExecutionTests } from '../../testsLibrary/CodeExecutionTests';
16
16
  import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
17
17
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
18
+ import CheReporter from '../../driver/CheReporter';
18
19
 
19
20
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
20
21
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -36,6 +37,9 @@ suite(`Test ${stack}`, async () => {
36
37
  suite (`Create ${stack} workspace`, async () => {
37
38
  workspaceHandlingTests.createAndOpenWorkspace(stack);
38
39
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
40
+ test('Register running workspace', async () => {
41
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
42
+ });
39
43
  projectAndFileTests.waitWorkspaceReadinessNoSubfolder(workspaceSampleName, false);
40
44
  });
41
45
 
@@ -16,6 +16,7 @@ import { LanguageServerTests } from '../../testsLibrary/LanguageServerTests';
16
16
  import { CodeExecutionTests } from '../../testsLibrary/CodeExecutionTests';
17
17
  import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
18
18
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
19
+ import CheReporter from '../../driver/CheReporter';
19
20
 
20
21
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
21
22
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -39,6 +40,9 @@ suite(`${workspaceStack} test`, async () => {
39
40
  suite(`Create ${workspaceStack} workspace`, async () => {
40
41
  workspaceHandlingTests.createAndOpenWorkspace(workspaceStack);
41
42
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
43
+ test('Register running workspace', async () => {
44
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
45
+ });
42
46
  projectAndFileTests.waitWorkspaceReadiness(workspaceSampleName, workspaceSubfolderName, false);
43
47
  test('Workaround for issue #16113', async () => {
44
48
  Logger.warn(`Manually setting a preference for golang devFile LS based on issue: https://github.com/eclipse/che/issues/16113`);
@@ -14,6 +14,7 @@ import { e2eContainer } from '../../inversify.config';
14
14
  import { CodeExecutionTests } from '../../testsLibrary/CodeExecutionTests';
15
15
  import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
16
16
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
17
+ import CheReporter from '../../driver/CheReporter';
17
18
 
18
19
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
19
20
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -32,6 +33,9 @@ suite(`${stack} test`, async () => {
32
33
  suite (`Create ${stack} workspace`, async () => {
33
34
  workspaceHandlingTests.createAndOpenWorkspace(stack);
34
35
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
36
+ test('Register running workspace', async () => {
37
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
38
+ });
35
39
  projectAndFileTests.waitWorkspaceReadiness(workspaceSampleName, workspaceRootFolderName, false);
36
40
  });
37
41
 
@@ -14,6 +14,7 @@ import { e2eContainer } from '../../inversify.config';
14
14
  import { CodeExecutionTests } from '../../testsLibrary/CodeExecutionTests';
15
15
  import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
16
16
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
17
+ import CheReporter from '../../driver/CheReporter';
17
18
 
18
19
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
19
20
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -34,6 +35,9 @@ suite(`${stack} test`, async () => {
34
35
  suite(`Create ${stack} workspace`, async () => {
35
36
  workspaceHandlingTests.createAndOpenWorkspace(stack);
36
37
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
38
+ test('Register running workspace', async () => {
39
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
40
+ });
37
41
  projectAndFileTests.waitWorkspaceReadiness(workspaceSampleName, workspaceRootFolderName, false);
38
42
  });
39
43
 
@@ -14,6 +14,7 @@ import { e2eContainer } from '../../inversify.config';
14
14
  import { CodeExecutionTests } from '../../testsLibrary/CodeExecutionTests';
15
15
  import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
16
16
  import { WorkspaceHandlingTests } from '../../testsLibrary/WorkspaceHandlingTests';
17
+ import CheReporter from '../../driver/CheReporter';
17
18
 
18
19
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
19
20
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -32,6 +33,9 @@ suite(`${stack} test`, async () => {
32
33
  suite (`Create ${stack} workspace`, async () => {
33
34
  workspaceHandlingTests.createAndOpenWorkspace(stack);
34
35
  workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
36
+ test('Register running workspace', async () => {
37
+ CheReporter.registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
38
+ });
35
39
  projectAndFileTests.waitWorkspaceReadiness(workspaceSampleName, workspaceRootFolderName, false);
36
40
  });
37
41