@eclipse-che/che-e2e 7.49.0 → 7.50.0-dev-d6432ff
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/dist/utils/requestHandlers/CheApiRequestHandler.js +3 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -1
- package/dist/utils/workspace/TestWorkspaceUtil.js +116 -22
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/dist/utils/workspace/WorkspaceStatus.js +3 -3
- package/package.json +1 -1
- package/utils/requestHandlers/CheApiRequestHandler.ts +4 -0
- package/utils/workspace/TestWorkspaceUtil.ts +121 -25
- package/utils/workspace/WorkspaceStatus.ts +3 -3
|
@@ -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":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;AAExE,kDAAiE;AACjE,uDAAoD;AACpD,2DAA8C;AAC9C,yCAA+C;AAE/C,sCAAmC;AAGnC,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAqE7B,YAAwE,aAA0C;QAA1C,kBAAa,GAAb,aAAa,CAA6B;IAAI,CAAC;IAnEvH;;OAEG;IACI,MAAM,CAAC,uBAAuB;QACjC,eAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO,eAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAE,OAAO,CAAC,EAAE;YACzC,IAAI;gBACA,IAAI,gBAAgB,GAAuB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/E,IAAI,gBAAgB,KAAK,SAAS,EAAE;oBAChC,eAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;oBAChF,OAAO,OAAO,CAAC;iBAClB;gBACD,IAAI,gBAAgB,CAAC,OAAO,KAAK,SAAS,EAAE;oBACxC,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;oBAC3D,OAAO,OAAO,CAAC;iBAClB;gBACD,gBAAgB,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;gBACpD,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC7C,eAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,gBAAgB,CAAC,CAAC;aAC/D;YAAC,OAAO,GAAG,EAAE;gBACV,eAAM,CAAC,KAAK,CAAC,kEAAkE,GAAG,GAAG,CAAC,CAAC;aAC1F;YACL,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,yBAAyB;QACnC,eAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO,eAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAE,QAAQ,CAAC,EAAE;YAC3C,IAAI;gBACA,IAAI,iBAAiB,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACtF,QAAQ,GAAG,EAAE;wBACT,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC;wBAClC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;qBACzB;gBACL,CAAC,CAAC,CAAC,CAAC;gBACJ,IAAI,iBAAiB,KAAK,SAAS,EAAE;oBACjC,eAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBACjF,OAAO,QAAQ,CAAC;iBACnB;gBACD,IAAI,iBAAiB,CAAC,MAAM,KAAK,SAAS,EAAE;oBACxC,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;oBAC3D,OAAO,QAAQ,CAAC;iBACnB;gBACD,IAAI,iBAAiB,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;oBAChD,eAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;oBACnE,OAAO,QAAQ,CAAC;iBACnB;gBACD,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;gBAC5D,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;gBACrD,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;oBAC7C,iBAAiB,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;iBACpD;gBACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;oBAC9C,iBAAiB,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;iBACrD;gBACD,eAAM,CAAC,IAAI,CAAC,4BAA4B,GAAG,iBAAiB,CAAC,CAAC;aACjE;YAAC,OAAO,GAAG,EAAE;gBACV,eAAM,CAAC,KAAK,CAAC,8DAA8D,GAAG,GAAG,CAAC,CAAC;aACtF;YACL,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAID,KAAK,CAAC,GAAG,CAAC,WAAmB;QACzB,OAAO,MAAM,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,IAAmB;QAC/C,OAAO,MAAM,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB;QAC5B,OAAO,MAAM,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,WAAmB;QACjD,OAAO,MAAM,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACxG,CAAC;IAEO,WAAW,CAAC,WAAmB;QACnC,OAAO,GAAG,6BAAa,CAAC,oBAAoB,IAAI,WAAW,EAAE,CAAC;IAClE,CAAC;CAEJ,CAAA;AA3FY,oBAAoB;IADhC,sBAAU,EAAE;IAsEI,WAAA,kBAAM,CAAC,uBAAK,CAAC,2BAA2B,CAAC,CAAA;;GArE7C,oBAAoB,CA2FhC;AA3FY,oDAAoB"}
|
|
@@ -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}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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}
|
|
221
|
+
stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}`);
|
|
137
222
|
}
|
|
138
223
|
catch (err) {
|
|
139
|
-
console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}
|
|
224
|
+
console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
|
|
140
225
|
throw err;
|
|
141
226
|
}
|
|
142
|
-
|
|
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 ===
|
|
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/
|
|
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":";AAAA;;;;;;;;wEAQwE
|
|
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"] = "
|
|
16
|
-
WorkspaceStatus["STOPPED"] = "
|
|
17
|
-
WorkspaceStatus["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
|
@@ -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/
|
|
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}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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}
|
|
258
|
+
stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}`);
|
|
171
259
|
} catch (err) {
|
|
172
|
-
console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}
|
|
260
|
+
console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
|
|
173
261
|
throw err;
|
|
174
262
|
}
|
|
175
263
|
|
|
176
|
-
|
|
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 ===
|
|
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
|
|