@eclipse-che/che-e2e 7.49.0 → 7.50.0-dev-c304e3a

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.
@@ -110,6 +110,9 @@ let CheApiRequestHandler = class CheApiRequestHandler {
110
110
  async delete(relativeUrl) {
111
111
  return await axios_1.default.delete(this.assembleUrl(relativeUrl), await this.headerHandler.get());
112
112
  }
113
+ async patch(relativeUrl, patchParams) {
114
+ return await axios_1.default.patch(this.assembleUrl(relativeUrl), patchParams, await this.headerHandler.get());
115
+ }
113
116
  assembleUrl(relativeUrl) {
114
117
  return `${TestConstants_1.TestConstants.TS_SELENIUM_BASE_URL}/${relativeUrl}`;
115
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CheApiRequestHandler.js","sourceRoot":"","sources":["../../../utils/requestHandlers/CheApiRequestHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheApiRequestHandler.js","sourceRoot":"","sources":["../../../utils/requestHandlers/CheApiRequestHandler.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
20
20
  var __param = (this && this.__param) || function (paramIndex, decorator) {
21
21
  return function (target, key) { decorator(target, key, paramIndex); }
22
22
  };
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
23
26
  var TestWorkspaceUtil_1;
24
27
  Object.defineProperty(exports, "__esModule", { value: true });
25
28
  exports.TestWorkspaceUtil = void 0;
@@ -27,35 +30,103 @@ const TestConstants_1 = require("../../TestConstants");
27
30
  const inversify_1 = require("inversify");
28
31
  const DriverHelper_1 = require("../DriverHelper");
29
32
  require("reflect-metadata");
33
+ const WorkspaceStatus_1 = require("./WorkspaceStatus");
30
34
  const selenium_webdriver_1 = require("selenium-webdriver");
31
35
  const CheApiRequestHandler_1 = require("../requestHandlers/CheApiRequestHandler");
32
36
  const inversify_types_1 = require("../../inversify.types");
33
37
  const Logger_1 = require("../Logger");
38
+ const axios_1 = __importDefault(require("axios"));
34
39
  let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
35
40
  constructor(driverHelper, processRequestHandler) {
36
41
  this.driverHelper = driverHelper;
37
42
  this.processRequestHandler = processRequestHandler;
43
+ this.attempts = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS;
44
+ this.polling = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_POLLING;
38
45
  }
39
46
  async waitWorkspaceStatus(namespace, workspaceName, expectedWorkspaceStatus) {
40
47
  Logger_1.Logger.debug('TestWorkspaceUtil.waitWorkspaceStatus');
41
- const workspaceStatusApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}:${workspaceName}`;
42
- const attempts = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS;
43
- const polling = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_POLLING;
48
+ const workspaceStatusApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
44
49
  let workspaceStatus = '';
45
- for (let i = 0; i < attempts; i++) {
50
+ let expectedStatus = false;
51
+ for (let i = 0; i < this.attempts; i++) {
46
52
  const response = await this.processRequestHandler.get(workspaceStatusApiUrl);
47
53
  if (response.status !== 200) {
48
- await this.driverHelper.wait(polling);
49
- continue;
54
+ throw new Error(`Can not get status of a workspace. Code: ${response.status} Data: ${response.data}`);
50
55
  }
51
- workspaceStatus = await response.data.status;
56
+ workspaceStatus = await response.data.status.phase;
52
57
  if (workspaceStatus === expectedWorkspaceStatus) {
53
- return;
58
+ expectedStatus = true;
59
+ break;
54
60
  }
55
- await this.driverHelper.wait(polling);
61
+ await this.driverHelper.wait(this.polling);
62
+ }
63
+ if (!expectedStatus) {
64
+ let waitTime = this.attempts * this.polling;
65
+ throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Currnet status is: ${workspaceStatus}`);
66
+ }
67
+ }
68
+ async stopWorkspaceByName(namespace, workspaceName) {
69
+ Logger_1.Logger.debug('TestWorkspaceUtil.stopWorkspaceByName');
70
+ const stopWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
71
+ let stopWorkspaceResponse;
72
+ try {
73
+ stopWorkspaceResponse = await this.processRequestHandler.patch(stopWorkspaceApiUrl, [{ 'op': 'replace', 'path': '/spec/started', 'value': false }]);
74
+ }
75
+ catch (err) {
76
+ console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
77
+ throw err;
78
+ }
79
+ if (stopWorkspaceResponse.status !== 200) {
80
+ throw new Error(`Cannot stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
56
81
  }
57
- throw new selenium_webdriver_1.error.TimeoutError(`Exceeded the maximum number of checking attempts, workspace status is: '${workspaceStatus}' different to '${expectedWorkspaceStatus}'`);
82
+ await this.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus_1.WorkspaceStatus.STOPPED);
58
83
  }
84
+ // delete a worksapce without stopping phase (similar with force deleting)
85
+ async deleteWorkspaceByName(namespace, workspaceName) {
86
+ var _a, _b;
87
+ Logger_1.Logger.debug('TestWorkspaceUtil.deleteWorkspaceByName');
88
+ const deleteWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
89
+ let deleteWorkspaceResponse;
90
+ let deleteWorkspaceStatus = false;
91
+ try {
92
+ deleteWorkspaceResponse = await this.processRequestHandler.delete(deleteWorkspaceApiUrl);
93
+ }
94
+ catch (error) {
95
+ if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
96
+ Logger_1.Logger.error(`The workspace :${workspaceName} not found`);
97
+ throw error;
98
+ }
99
+ Logger_1.Logger.error(`Stop workspace call failed. URL used: ${deleteWorkspaceStatus}`);
100
+ throw error;
101
+ }
102
+ if (deleteWorkspaceResponse.status !== 204) {
103
+ throw new Error(`Can not stop workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
104
+ }
105
+ for (let i = 0; i < this.attempts; i++) {
106
+ try {
107
+ deleteWorkspaceResponse = await this.processRequestHandler.get(deleteWorkspaceApiUrl);
108
+ }
109
+ catch (error) {
110
+ if (axios_1.default.isAxiosError(error) && ((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {
111
+ deleteWorkspaceStatus = true;
112
+ break;
113
+ }
114
+ }
115
+ }
116
+ if (!deleteWorkspaceStatus) {
117
+ let waitTime = this.attempts * this.polling;
118
+ throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms.`);
119
+ }
120
+ }
121
+ // stop workspace before deleting with checking stopping phase
122
+ async stopAndDeleteWorkspaceByName(namespace, workspaceName) {
123
+ Logger_1.Logger.debug('TestWorkspaceUtil.stopAndDeleteWorkspaceByName');
124
+ await this.stopWorkspaceByName(namespace, workspaceName);
125
+ await this.deleteWorkspaceByName(namespace, workspaceName);
126
+ }
127
+ /**
128
+ * @deprecated Method deprecated. Works with CHE server only
129
+ */
59
130
  async waitPluginAdding(namespace, workspaceName, pluginName) {
60
131
  Logger_1.Logger.debug('TestWorkspaceUtil.waitPluginAdding');
61
132
  const workspaceStatusApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}:${workspaceName}`;
@@ -78,6 +149,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
78
149
  await this.driverHelper.wait(polling);
79
150
  }
80
151
  }
152
+ /**
153
+ * @deprecated Method deprecated. Works with CHE server only
154
+ */
81
155
  async getListOfWorkspaceId() {
82
156
  Logger_1.Logger.debug('TestWorkspaceUtil.getListOfWorkspaceId');
83
157
  const getAllWorkspacesResponse = await this.processRequestHandler.get(TestWorkspaceUtil_1.WORKSPACE_API_URL);
@@ -89,11 +163,17 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
89
163
  }
90
164
  return wsList;
91
165
  }
166
+ /**
167
+ * @deprecated Method deprecated. Works with CHE server only
168
+ */
92
169
  async getIdOfRunningWorkspace(wsName) {
93
170
  Logger_1.Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspace');
94
171
  const getWorkspacesByNameResponse = await this.processRequestHandler.get(`${TestWorkspaceUtil_1.WORKSPACE_API_URL}/:${wsName}`);
95
172
  return getWorkspacesByNameResponse.data.id;
96
173
  }
174
+ /**
175
+ * @deprecated Method deprecated. Works with CHE server only
176
+ */
97
177
  async getIdOfRunningWorkspaces() {
98
178
  Logger_1.Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspaces');
99
179
  try {
@@ -113,12 +193,14 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
113
193
  throw err;
114
194
  }
115
195
  }
196
+ /**
197
+ * @deprecated Method deprecated. Works with CHE server only
198
+ */
116
199
  async removeWorkspaceById(id) {
117
200
  Logger_1.Logger.debug('TestWorkspaceUtil.removeWorkspaceById');
118
201
  const workspaceIdUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${id}`;
119
202
  try {
120
203
  const deleteWorkspaceResponse = await this.processRequestHandler.delete(workspaceIdUrl);
121
- // response code 204: "No Content" expected
122
204
  if (deleteWorkspaceResponse.status !== 204) {
123
205
  throw new Error(`Can not remove workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
124
206
  }
@@ -128,31 +210,28 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
128
210
  throw err;
129
211
  }
130
212
  }
213
+ /**
214
+ * @deprecated Method deprecated. Works with CHE server only
215
+ */
131
216
  async stopWorkspaceById(id) {
132
217
  Logger_1.Logger.debug('TestWorkspaceUtil.stopWorkspaceById');
133
218
  const stopWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${id}`;
134
219
  let stopWorkspaceResponse;
135
220
  try {
136
- stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}/runtime`);
221
+ stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}`);
137
222
  }
138
223
  catch (err) {
139
- console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}/runtime`);
224
+ console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
140
225
  throw err;
141
226
  }
142
- // if workspace is already stopped, it will return 409: "Conflict"
143
- if (stopWorkspaceResponse.status === 409) {
144
- Logger_1.Logger.warn(`TestWorkspaceUtil.stopWorkspaceById Workspace {${id}} is already STOPPED`);
145
- return;
146
- }
147
- // response code 204: "No Content" expected
148
- if (stopWorkspaceResponse.status !== 204) {
227
+ if (stopWorkspaceResponse.status !== 200) {
149
228
  throw new Error(`Can not stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
150
229
  }
151
230
  let stopped = false;
152
231
  let wsStatus = await this.processRequestHandler.get(stopWorkspaceApiUrl);
153
232
  for (let i = 0; i < TestConstants_1.TestConstants.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS; i++) {
154
233
  wsStatus = await this.processRequestHandler.get(stopWorkspaceApiUrl);
155
- if (wsStatus.data.status === 'STOPPED') {
234
+ if (wsStatus.data.status === WorkspaceStatus_1.WorkspaceStatus.STOPPED) {
156
235
  stopped = true;
157
236
  break;
158
237
  }
@@ -163,6 +242,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
163
242
  throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Currnet status is: ${wsStatus.data.status}`);
164
243
  }
165
244
  }
245
+ /**
246
+ * @deprecated Method deprecated. Works with CHE server only
247
+ */
166
248
  async cleanUpAllWorkspaces() {
167
249
  Logger_1.Logger.debug('TestWorkspaceUtil.cleanUpAllWorkspaces');
168
250
  let listOfRunningWorkspaces = await this.getIdOfRunningWorkspaces();
@@ -174,6 +256,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
174
256
  await this.removeWorkspaceById(entry);
175
257
  }
176
258
  }
259
+ /**
260
+ * @deprecated Method deprecated. Works with CHE server only
261
+ */
177
262
  async cleanUpRunningWorkspace(workspaceName) {
178
263
  if (workspaceName === undefined || workspaceName.length === 0) {
179
264
  Logger_1.Logger.warn(`Could nod delete workspace because workspaceName is undefined or empty`);
@@ -190,6 +275,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
190
275
  Logger_1.Logger.trace(`TestWorkspaceUtil.cleanUpRunningWorkspace Deleting workspace ${workspaceName}`);
191
276
  await this.removeWorkspaceById(workspaceID);
192
277
  }
278
+ /**
279
+ * @deprecated Method deprecated. Works with CHE server only
280
+ */
193
281
  async createWsFromDevFile(customTemplate) {
194
282
  Logger_1.Logger.debug('TestWorkspaceUtil.createWsFromDevFile');
195
283
  try {
@@ -200,6 +288,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
200
288
  throw error;
201
289
  }
202
290
  }
291
+ /**
292
+ * @deprecated Method deprecated. Works with CHE server only
293
+ */
203
294
  async getBaseDevfile() {
204
295
  Logger_1.Logger.debug('TestWorkspaceUtil.getBaseDevfile');
205
296
  const baseDevfile = {
@@ -210,6 +301,9 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
210
301
  };
211
302
  return baseDevfile;
212
303
  }
304
+ /**
305
+ * @deprecated Method deprecated. Works with CHE server only
306
+ */
213
307
  async startWorkspace(workspaceId) {
214
308
  Logger_1.Logger.debug('TestWorkspaceUtil.startWorkspace');
215
309
  try {
@@ -221,7 +315,7 @@ let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
221
315
  }
222
316
  }
223
317
  };
224
- TestWorkspaceUtil.WORKSPACE_API_URL = 'api/workspace';
318
+ TestWorkspaceUtil.WORKSPACE_API_URL = 'dashboard/api/namespace';
225
319
  TestWorkspaceUtil = TestWorkspaceUtil_1 = __decorate([
226
320
  inversify_1.injectable(),
227
321
  __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
@@ -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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"}
@@ -12,8 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.WorkspaceStatus = void 0;
13
13
  var WorkspaceStatus;
14
14
  (function (WorkspaceStatus) {
15
- WorkspaceStatus["RUNNING"] = "RUNNING";
16
- WorkspaceStatus["STOPPED"] = "STOPPED";
17
- WorkspaceStatus["STARTING"] = "STARTING";
15
+ WorkspaceStatus["RUNNING"] = "Running";
16
+ WorkspaceStatus["STOPPED"] = "Stopped";
17
+ WorkspaceStatus["STARTING"] = "Starting";
18
18
  })(WorkspaceStatus = exports.WorkspaceStatus || (exports.WorkspaceStatus = {}));
19
19
  //# sourceMappingURL=WorkspaceStatus.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-e2e",
3
- "version": "7.49.0",
3
+ "version": "7.50.0-dev-c304e3a",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -99,6 +99,10 @@ export class CheApiRequestHandler {
99
99
  return await axios.delete(this.assembleUrl(relativeUrl), await this.headerHandler.get());
100
100
  }
101
101
 
102
+ async patch(relativeUrl: string, patchParams: object): Promise<AxiosResponse> {
103
+ return await axios.patch(this.assembleUrl(relativeUrl), patchParams, await this.headerHandler.get());
104
+ }
105
+
102
106
  private assembleUrl(relativeUrl: string): string {
103
107
  return `${TestConstants.TS_SELENIUM_BASE_URL}/${relativeUrl}`;
104
108
  }
@@ -19,12 +19,14 @@ import { error } from 'selenium-webdriver';
19
19
  import { CheApiRequestHandler } from '../requestHandlers/CheApiRequestHandler';
20
20
  import { CLASSES } from '../../inversify.types';
21
21
  import { Logger } from '../Logger';
22
+ import axios from 'axios';
22
23
 
23
24
  @injectable()
24
25
  export class TestWorkspaceUtil implements ITestWorkspaceUtil {
25
26
 
26
- static readonly WORKSPACE_API_URL: string = 'api/workspace';
27
-
27
+ static readonly WORKSPACE_API_URL: string = 'dashboard/api/namespace';
28
+ readonly attempts: number = TestConstants.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS;
29
+ readonly polling: number = TestConstants.TS_SELENIUM_WORKSPACE_STATUS_POLLING;
28
30
  constructor(
29
31
  @inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
30
32
  @inject(CLASSES.CheApiRequestHandler) private readonly processRequestHandler: CheApiRequestHandler
@@ -33,31 +35,103 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
33
35
  public async waitWorkspaceStatus(namespace: string, workspaceName: string, expectedWorkspaceStatus: WorkspaceStatus) {
34
36
  Logger.debug('TestWorkspaceUtil.waitWorkspaceStatus');
35
37
 
36
- const workspaceStatusApiUrl: string = `${TestWorkspaceUtil.WORKSPACE_API_URL}/${namespace}:${workspaceName}`;
37
- const attempts: number = TestConstants.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS;
38
- const polling: number = TestConstants.TS_SELENIUM_WORKSPACE_STATUS_POLLING;
38
+ const workspaceStatusApiUrl: string = `${TestWorkspaceUtil.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
39
39
  let workspaceStatus: string = '';
40
-
41
- for (let i = 0; i < attempts; i++) {
40
+ let expectedStatus: boolean = false;
41
+ for (let i = 0; i < this.attempts; i++) {
42
42
  const response = await this.processRequestHandler.get(workspaceStatusApiUrl);
43
43
 
44
44
  if (response.status !== 200) {
45
- await this.driverHelper.wait(polling);
46
- continue;
45
+ throw new Error(`Can not get status of a workspace. Code: ${response.status} Data: ${response.data}`);
47
46
  }
48
47
 
49
- workspaceStatus = await response.data.status;
48
+ workspaceStatus = await response.data.status.phase;
50
49
 
51
50
  if (workspaceStatus === expectedWorkspaceStatus) {
52
- return;
51
+ expectedStatus = true;
52
+ break;
53
53
  }
54
54
 
55
- await this.driverHelper.wait(polling);
55
+ await this.driverHelper.wait(this.polling);
56
+ }
57
+
58
+ if (!expectedStatus) {
59
+ let waitTime = this.attempts * this.polling;
60
+ throw new error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Currnet status is: ${workspaceStatus}`);
61
+ }
62
+ }
63
+
64
+ public async stopWorkspaceByName(namespace: string, workspaceName: string) {
65
+ Logger.debug('TestWorkspaceUtil.stopWorkspaceByName');
66
+
67
+ const stopWorkspaceApiUrl: string = `${TestWorkspaceUtil.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
68
+ let stopWorkspaceResponse;
69
+
70
+ try {
71
+ stopWorkspaceResponse = await this.processRequestHandler.patch(stopWorkspaceApiUrl, [{'op': 'replace', 'path': '/spec/started', 'value': false}]);
72
+ } catch (err) {
73
+ console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
74
+ throw err;
56
75
  }
57
76
 
58
- throw new error.TimeoutError(`Exceeded the maximum number of checking attempts, workspace status is: '${workspaceStatus}' different to '${expectedWorkspaceStatus}'`);
77
+ if (stopWorkspaceResponse.status !== 200) {
78
+ throw new Error(`Cannot stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
79
+ }
80
+
81
+ await this.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus.STOPPED);
59
82
  }
60
83
 
84
+ // delete a worksapce without stopping phase (similar with force deleting)
85
+ public async deleteWorkspaceByName(namespace: string, workspaceName: string) {
86
+ Logger.debug('TestWorkspaceUtil.deleteWorkspaceByName');
87
+
88
+ const deleteWorkspaceApiUrl: string = `${TestWorkspaceUtil.WORKSPACE_API_URL}/${namespace}-che/devworkspaces/${workspaceName}`;
89
+ let deleteWorkspaceResponse;
90
+ let deleteWorkspaceStatus: boolean = false;
91
+ try {
92
+ deleteWorkspaceResponse = await this.processRequestHandler.delete(deleteWorkspaceApiUrl);
93
+ } catch (error) {
94
+ if (axios.isAxiosError(error) && error.response?.status === 404) {
95
+ Logger.error(`The workspace :${workspaceName} not found`);
96
+ throw error;
97
+ }
98
+ Logger.error(`Stop workspace call failed. URL used: ${deleteWorkspaceStatus}`);
99
+ throw error;
100
+ }
101
+
102
+ if (deleteWorkspaceResponse.status !== 204) {
103
+ throw new Error(`Can not stop workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
104
+ }
105
+
106
+ for (let i = 0; i < this.attempts; i++) {
107
+
108
+ try {
109
+ deleteWorkspaceResponse = await this.processRequestHandler.get(deleteWorkspaceApiUrl);
110
+ } catch (error) {
111
+ if (axios.isAxiosError(error) && error.response?.status === 404) {
112
+ deleteWorkspaceStatus = true;
113
+ break;
114
+ }
115
+ }
116
+ }
117
+
118
+ if (!deleteWorkspaceStatus) {
119
+ let waitTime = this.attempts * this.polling;
120
+ throw new error.TimeoutError(`The workspace was not stopped in ${waitTime} ms.`);
121
+ }
122
+ }
123
+
124
+ // stop workspace before deleting with checking stopping phase
125
+ public async stopAndDeleteWorkspaceByName(namespace: string, workspaceName: string) {
126
+ Logger.debug('TestWorkspaceUtil.stopAndDeleteWorkspaceByName');
127
+
128
+ await this.stopWorkspaceByName(namespace, workspaceName);
129
+ await this.deleteWorkspaceByName(namespace, workspaceName);
130
+ }
131
+
132
+ /**
133
+ * @deprecated Method deprecated. Works with CHE server only
134
+ */
61
135
  public async waitPluginAdding(namespace: string, workspaceName: string, pluginName: string) {
62
136
  Logger.debug('TestWorkspaceUtil.waitPluginAdding');
63
137
 
@@ -88,6 +162,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
88
162
  }
89
163
  }
90
164
 
165
+ /**
166
+ * @deprecated Method deprecated. Works with CHE server only
167
+ */
91
168
  public async getListOfWorkspaceId(): Promise<string[]> {
92
169
  Logger.debug('TestWorkspaceUtil.getListOfWorkspaceId');
93
170
 
@@ -109,6 +186,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
109
186
  return wsList;
110
187
  }
111
188
 
189
+ /**
190
+ * @deprecated Method deprecated. Works with CHE server only
191
+ */
112
192
  public async getIdOfRunningWorkspace(wsName: string): Promise<string> {
113
193
  Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspace');
114
194
 
@@ -117,6 +197,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
117
197
 
118
198
  }
119
199
 
200
+ /**
201
+ * @deprecated Method deprecated. Works with CHE server only
202
+ */
120
203
  public async getIdOfRunningWorkspaces(): Promise<Array<string>> {
121
204
  Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspaces');
122
205
 
@@ -144,13 +227,15 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
144
227
  }
145
228
  }
146
229
 
230
+ /**
231
+ * @deprecated Method deprecated. Works with CHE server only
232
+ */
147
233
  public async removeWorkspaceById(id: string) {
148
234
  Logger.debug('TestWorkspaceUtil.removeWorkspaceById');
149
235
 
150
236
  const workspaceIdUrl: string = `${TestWorkspaceUtil.WORKSPACE_API_URL}/${id}`;
151
237
  try {
152
238
  const deleteWorkspaceResponse = await this.processRequestHandler.delete(workspaceIdUrl);
153
- // response code 204: "No Content" expected
154
239
  if (deleteWorkspaceResponse.status !== 204) {
155
240
  throw new Error(`Can not remove workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
156
241
  }
@@ -160,6 +245,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
160
245
  }
161
246
  }
162
247
 
248
+ /**
249
+ * @deprecated Method deprecated. Works with CHE server only
250
+ */
163
251
  public async stopWorkspaceById(id: string) {
164
252
  Logger.debug('TestWorkspaceUtil.stopWorkspaceById');
165
253
 
@@ -167,20 +255,13 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
167
255
  let stopWorkspaceResponse;
168
256
 
169
257
  try {
170
- stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}/runtime`);
258
+ stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}`);
171
259
  } catch (err) {
172
- console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}/runtime`);
260
+ console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
173
261
  throw err;
174
262
  }
175
263
 
176
- // if workspace is already stopped, it will return 409: "Conflict"
177
- if (stopWorkspaceResponse.status === 409) {
178
- Logger.warn(`TestWorkspaceUtil.stopWorkspaceById Workspace {${id}} is already STOPPED`);
179
- return;
180
- }
181
-
182
- // response code 204: "No Content" expected
183
- if (stopWorkspaceResponse.status !== 204) {
264
+ if (stopWorkspaceResponse.status !== 200) {
184
265
  throw new Error(`Can not stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
185
266
  }
186
267
 
@@ -188,7 +269,7 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
188
269
  let wsStatus = await this.processRequestHandler.get(stopWorkspaceApiUrl);
189
270
  for (let i = 0; i < TestConstants.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS; i++) {
190
271
  wsStatus = await this.processRequestHandler.get(stopWorkspaceApiUrl);
191
- if (wsStatus.data.status === 'STOPPED') {
272
+ if (wsStatus.data.status === WorkspaceStatus.STOPPED) {
192
273
  stopped = true;
193
274
  break;
194
275
  }
@@ -201,6 +282,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
201
282
  }
202
283
  }
203
284
 
285
+ /**
286
+ * @deprecated Method deprecated. Works with CHE server only
287
+ */
204
288
  public async cleanUpAllWorkspaces() {
205
289
  Logger.debug('TestWorkspaceUtil.cleanUpAllWorkspaces');
206
290
 
@@ -217,6 +301,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
217
301
 
218
302
  }
219
303
 
304
+ /**
305
+ * @deprecated Method deprecated. Works with CHE server only
306
+ */
220
307
  public async cleanUpRunningWorkspace(workspaceName: string) {
221
308
  if (workspaceName === undefined || workspaceName.length === 0) {
222
309
  Logger.warn(`Could nod delete workspace because workspaceName is undefined or empty`);
@@ -237,6 +324,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
237
324
  await this.removeWorkspaceById(workspaceID);
238
325
  }
239
326
 
327
+ /**
328
+ * @deprecated Method deprecated. Works with CHE server only
329
+ */
240
330
  async createWsFromDevFile(customTemplate: che.workspace.devfile.Devfile) {
241
331
  Logger.debug('TestWorkspaceUtil.createWsFromDevFile');
242
332
 
@@ -248,6 +338,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
248
338
  }
249
339
  }
250
340
 
341
+ /**
342
+ * @deprecated Method deprecated. Works with CHE server only
343
+ */
251
344
  async getBaseDevfile(): Promise<che.workspace.devfile.Devfile> {
252
345
  Logger.debug('TestWorkspaceUtil.getBaseDevfile');
253
346
 
@@ -261,6 +354,9 @@ export class TestWorkspaceUtil implements ITestWorkspaceUtil {
261
354
  return baseDevfile;
262
355
  }
263
356
 
357
+ /**
358
+ * @deprecated Method deprecated. Works with CHE server only
359
+ */
264
360
  async startWorkspace(workspaceId: string) {
265
361
  Logger.debug('TestWorkspaceUtil.startWorkspace');
266
362
 
@@ -9,7 +9,7 @@
9
9
  **********************************************************************/
10
10
 
11
11
  export enum WorkspaceStatus {
12
- RUNNING = 'RUNNING',
13
- STOPPED = 'STOPPED',
14
- STARTING = 'STARTING'
12
+ RUNNING = 'Running',
13
+ STOPPED = 'Stopped',
14
+ STARTING = 'Starting'
15
15
  }