@eclipse-che/che-e2e 7.124.0-next-c1c068e → 7.124.0-next-6307b25
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/constants/BASE_TEST_CONSTANTS.ts +6 -0
- package/dist/constants/BASE_TEST_CONSTANTS.js +4 -0
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -1
- package/dist/pageobjects/dashboard/CreateWorkspace.js +33 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/UserPreferences.js +73 -0
- package/dist/pageobjects/dashboard/UserPreferences.js.map +1 -1
- package/dist/specs/miscellaneous/OpenCodeProviderSmokeTest.spec.js +138 -0
- package/dist/specs/miscellaneous/OpenCodeProviderSmokeTest.spec.js.map +1 -0
- package/package.json +1 -1
- package/pageobjects/dashboard/CreateWorkspace.ts +50 -0
- package/pageobjects/dashboard/UserPreferences.ts +106 -0
- package/specs/miscellaneous/OpenCodeProviderSmokeTest.spec.ts +175 -0
|
@@ -21,6 +21,7 @@ export const BASE_TEST_CONSTANTS: {
|
|
|
21
21
|
OCP_VERSION: string;
|
|
22
22
|
TESTING_APPLICATION_VERSION: string;
|
|
23
23
|
TEST_ENVIRONMENT: string;
|
|
24
|
+
TS_AI_PROVIDER_API_KEY: string;
|
|
24
25
|
TS_DEBUG_MODE: boolean;
|
|
25
26
|
TS_LOAD_TESTS: string;
|
|
26
27
|
TS_PLATFORM: string;
|
|
@@ -137,6 +138,11 @@ export const BASE_TEST_CONSTANTS: {
|
|
|
137
138
|
*/
|
|
138
139
|
DELETE_WORKSPACE_ON_SUCCESSFUL_TEST: process.env.DELETE_WORKSPACE_ON_SUCCESSFUL_TEST !== 'false',
|
|
139
140
|
|
|
141
|
+
/**
|
|
142
|
+
* API key for AI Provider smoke test (e.g. OpenAI API key)
|
|
143
|
+
*/
|
|
144
|
+
TS_AI_PROVIDER_API_KEY: process.env.TS_AI_PROVIDER_API_KEY || '',
|
|
145
|
+
|
|
140
146
|
/**
|
|
141
147
|
* constant, which prolong timeout constants for local debug.
|
|
142
148
|
*/
|
|
@@ -101,6 +101,10 @@ exports.BASE_TEST_CONSTANTS = {
|
|
|
101
101
|
* true by default.
|
|
102
102
|
*/
|
|
103
103
|
DELETE_WORKSPACE_ON_SUCCESSFUL_TEST: process.env.DELETE_WORKSPACE_ON_SUCCESSFUL_TEST !== 'false',
|
|
104
|
+
/**
|
|
105
|
+
* API key for AI Provider smoke test (e.g. OpenAI API key)
|
|
106
|
+
*/
|
|
107
|
+
TS_AI_PROVIDER_API_KEY: process.env.TS_AI_PROVIDER_API_KEY || '',
|
|
104
108
|
/**
|
|
105
109
|
* constant, which prolong timeout constants for local debug.
|
|
106
110
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BASE_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/BASE_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;AAC1B,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAEY,QAAA,mBAAmB,
|
|
1
|
+
{"version":3,"file":"BASE_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/BASE_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;AAC1B,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAEY,QAAA,mBAAmB,GAsB5B;IACH;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAEnI;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;IAEtC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;IAE1C;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;IAEpD;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;IAEhD;;OAEG;IACH,wBAAwB,EAAE,GAAW,EAAE;QACtC,OAAO,2BAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACpE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,2BAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,SAAS,CAAC;IACf,CAAC;IACD;;OAEG;IACH,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,MAAM;IAE9E;;;OAGG;IACH,iCAAiC,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,MAAM;IAE3F;;OAEG;IACH,uBAAuB,EAAE,GAAY,EAAE,CAAC,2BAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAEnG;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS;IAE1D;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,UAAU;IAEhE;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,cAAc;IAEpG;;OAEG;IACH,iCAAiC,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,QAAQ;IAE5F;;OAEG;IACH,qCAAqC,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,gBAAgB;IAE5G;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;IAEnD;;OAEG;IACH,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;IAEvF;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,MAAM;IAEzF;;OAEG;IACH,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;IAEvF;;;OAGG;IACH,mCAAmC,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,OAAO;IAEhG;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE;IAEhE;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM;CACnD,CAAC"}
|
|
@@ -136,6 +136,32 @@ let CreateWorkspace = CreateWorkspace_1 = class CreateWorkspace {
|
|
|
136
136
|
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM); // wait for any potential UI updates before clicking
|
|
137
137
|
await this.driverHelper.scrollToAndClick(CreateWorkspace_1.CREATE_NEW_WORKPACE_CHECKBOX, timeout);
|
|
138
138
|
}
|
|
139
|
+
async waitAiProviderSectionVisible(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
140
|
+
Logger_1.Logger.debug();
|
|
141
|
+
await this.driverHelper.waitVisibility(CreateWorkspace_1.AI_PROVIDER_SELECTOR_HEADING, timeout);
|
|
142
|
+
}
|
|
143
|
+
async expandChooseAiProviderSection() {
|
|
144
|
+
Logger_1.Logger.debug();
|
|
145
|
+
const toggle = CreateWorkspace_1.AI_PROVIDER_CHOOSE_TOGGLE;
|
|
146
|
+
await this.driverHelper.waitAndClick(toggle);
|
|
147
|
+
await this.driverHelper.waitAttributeValue(toggle, 'aria-expanded', 'true', TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
|
|
148
|
+
}
|
|
149
|
+
async isAiProviderSectionVisible() {
|
|
150
|
+
Logger_1.Logger.debug();
|
|
151
|
+
return await this.driverHelper.isVisible(CreateWorkspace_1.AI_PROVIDER_SELECTOR_HEADING);
|
|
152
|
+
}
|
|
153
|
+
async isAiProviderCardVisible(providerId) {
|
|
154
|
+
Logger_1.Logger.debug(`providerId: "${providerId}"`);
|
|
155
|
+
return await this.driverHelper.isVisible(this.getAiProviderCardLocator(providerId));
|
|
156
|
+
}
|
|
157
|
+
async waitAiProviderCardVisible(providerId, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
158
|
+
Logger_1.Logger.debug(`providerId: "${providerId}"`);
|
|
159
|
+
await this.driverHelper.waitVisibility(this.getAiProviderCardLocator(providerId), timeout);
|
|
160
|
+
}
|
|
161
|
+
async isAiProviderKeyConfiguredBadgeVisible() {
|
|
162
|
+
Logger_1.Logger.debug();
|
|
163
|
+
return await this.driverHelper.isVisible(CreateWorkspace_1.AI_PROVIDER_KEY_CONFIGURED_BADGE);
|
|
164
|
+
}
|
|
139
165
|
getEditorsDropdownListLocator(sampleName) {
|
|
140
166
|
return selenium_webdriver_1.By.xpath(`//div[text()=\'${sampleName}\']//parent::article//button`);
|
|
141
167
|
}
|
|
@@ -159,6 +185,10 @@ let CreateWorkspace = CreateWorkspace_1 = class CreateWorkspace {
|
|
|
159
185
|
Logger_1.Logger.trace(`sampleName: ${sampleName}, used default editor`);
|
|
160
186
|
return selenium_webdriver_1.By.xpath(`//div[contains(@id, 'sample-card') and text()='${sampleName}']`);
|
|
161
187
|
}
|
|
188
|
+
getAiProviderCardLocator(providerId) {
|
|
189
|
+
const cardId = providerId.replace(/\//g, '-');
|
|
190
|
+
return selenium_webdriver_1.By.id(`ai-provider-card-${cardId}`);
|
|
191
|
+
}
|
|
162
192
|
getGitBranchListItemLocator(branchName) {
|
|
163
193
|
return selenium_webdriver_1.By.xpath(`//ul[@role="listbox"]//span[text()="${branchName}"]`);
|
|
164
194
|
}
|
|
@@ -170,6 +200,9 @@ CreateWorkspace.GIT_FILTER_BRANCHES = selenium_webdriver_1.By.css('input[placeho
|
|
|
170
200
|
CreateWorkspace.CREATE_AND_OPEN_BUTTON = selenium_webdriver_1.By.id('create-and-open-button');
|
|
171
201
|
CreateWorkspace.CREATE_NEW_WORKPACE_CHECKBOX = selenium_webdriver_1.By.css('label[for="create-new-if-exist-switch"]');
|
|
172
202
|
CreateWorkspace.CREATE_NEW_WORKPACE_CHECKBOX_VALUE = selenium_webdriver_1.By.id('create-new-if-exist-switch');
|
|
203
|
+
CreateWorkspace.AI_PROVIDER_SELECTOR_HEADING = selenium_webdriver_1.By.xpath('//h3[text()="AI Provider Selector"]');
|
|
204
|
+
CreateWorkspace.AI_PROVIDER_CHOOSE_TOGGLE = selenium_webdriver_1.By.id('accordion-item-ai-selector');
|
|
205
|
+
CreateWorkspace.AI_PROVIDER_KEY_CONFIGURED_BADGE = selenium_webdriver_1.By.xpath('//span[text()=" Key configured"]');
|
|
173
206
|
CreateWorkspace = CreateWorkspace_1 = __decorate([
|
|
174
207
|
(0, inversify_1.injectable)(),
|
|
175
208
|
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkspace.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/CreateWorkspace.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;AAExE,yCAA+C;AAC/C,mEAAwD;AACxD,2DAAwD;AACxD,2DAAyD;AACzD,+CAA4C;AAC5C,yEAAsE;AACtE,6EAA0E;AAC1E,yDAAsD;AAG/C,IAAM,eAAe,uBAArB,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"CreateWorkspace.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/CreateWorkspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -217,6 +217,59 @@ let UserPreferences = UserPreferences_1 = class UserPreferences {
|
|
|
217
217
|
await this.driverHelper.waitDisappearance(UserPreferences_1.GIT_SSH_KEY_NAME);
|
|
218
218
|
Logger_1.Logger.info('SSH keys have been deleted');
|
|
219
219
|
}
|
|
220
|
+
async openAiProviderKeysTab() {
|
|
221
|
+
Logger_1.Logger.debug();
|
|
222
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.AI_PROVIDER_KEYS_TAB);
|
|
223
|
+
}
|
|
224
|
+
async waitAiProviderKeysTab(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
225
|
+
Logger_1.Logger.debug();
|
|
226
|
+
await this.driverHelper.waitVisibility(UserPreferences_1.AI_PROVIDER_KEYS_TAB, timeout);
|
|
227
|
+
}
|
|
228
|
+
async isAiProviderKeyPresent(providerId) {
|
|
229
|
+
Logger_1.Logger.debug(`providerId: "${providerId}"`);
|
|
230
|
+
return await this.driverHelper.isVisible(this.getAiProviderRowLocator(providerId));
|
|
231
|
+
}
|
|
232
|
+
async waitAiProviderKeyPresent(providerId, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
233
|
+
Logger_1.Logger.debug(`providerId: "${providerId}"`);
|
|
234
|
+
await this.driverHelper.waitVisibility(this.getAiProviderRowLocator(providerId), timeout);
|
|
235
|
+
}
|
|
236
|
+
async addAiProviderKey(providerName, apiKey) {
|
|
237
|
+
Logger_1.Logger.debug(`providerName: "${providerName}"`);
|
|
238
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.AI_ADD_KEY_EMPTY_STATE_BUTTON);
|
|
239
|
+
await this.driverHelper.waitVisibility(UserPreferences_1.AI_ADD_EDIT_MODAL);
|
|
240
|
+
await this.selectAiProvider(providerName);
|
|
241
|
+
await this.driverHelper.waitVisibility(UserPreferences_1.AI_API_KEY_INPUT);
|
|
242
|
+
await this.driverHelper.enterValue(UserPreferences_1.AI_API_KEY_INPUT, apiKey);
|
|
243
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.AI_SAVE_BUTTON);
|
|
244
|
+
const attempts = Math.ceil(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT / TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
245
|
+
await this.driverHelper.waitDisappearance(UserPreferences_1.AI_ADD_EDIT_MODAL, attempts, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
246
|
+
}
|
|
247
|
+
async selectAiProvider(providerName) {
|
|
248
|
+
Logger_1.Logger.debug(`providerName: "${providerName}"`);
|
|
249
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.AI_PROVIDER_SELECT_TOGGLE);
|
|
250
|
+
await this.driverHelper.waitAndClick(this.getAiProviderSelectOptionLocator(providerName));
|
|
251
|
+
}
|
|
252
|
+
async getAiProviderEnvVarName(providerId) {
|
|
253
|
+
Logger_1.Logger.debug(`providerId: "${providerId}"`);
|
|
254
|
+
return await this.driverHelper.waitAndGetText(this.getAiProviderEnvVarLocator(providerId));
|
|
255
|
+
}
|
|
256
|
+
async deleteAiProviderKeys(providerName) {
|
|
257
|
+
Logger_1.Logger.debug(`providerName: "${providerName}"`);
|
|
258
|
+
Logger_1.Logger.info('Deleting AI Provider keys');
|
|
259
|
+
const rows = selenium_webdriver_1.By.css('table[aria-label="AI Provider Keys"] tbody tr input[type="checkbox"]');
|
|
260
|
+
const hasRows = await this.driverHelper.isVisible(rows);
|
|
261
|
+
if (!hasRows) {
|
|
262
|
+
Logger_1.Logger.info('No AI Provider keys to delete');
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const selectAllCheckbox = selenium_webdriver_1.By.css('table[aria-label="AI Provider Keys"] thead input[type="checkbox"]');
|
|
266
|
+
await this.driverHelper.waitAndClick(selectAllCheckbox);
|
|
267
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.AI_BULK_DELETE_BUTTON);
|
|
268
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.AI_DELETE_CONFIRM_CHECKBOX);
|
|
269
|
+
await this.driverHelper.waitAndClick(this.getAiDeleteConfirmButtonLocator(providerName));
|
|
270
|
+
await this.driverHelper.waitDisappearance(rows);
|
|
271
|
+
Logger_1.Logger.info('AI Provider keys have been deleted');
|
|
272
|
+
}
|
|
220
273
|
getServiceConfig(service) {
|
|
221
274
|
const gitService = {
|
|
222
275
|
[FACTORY_TEST_CONSTANTS_1.GitProviderType.GITHUB]: 'GitHub',
|
|
@@ -231,6 +284,18 @@ let UserPreferences = UserPreferences_1 = class UserPreferences {
|
|
|
231
284
|
getServicesListItemLocator(servicesName) {
|
|
232
285
|
return selenium_webdriver_1.By.xpath(`//tr[td[text()='${servicesName}']]//input`);
|
|
233
286
|
}
|
|
287
|
+
getAiProviderRowLocator(providerId) {
|
|
288
|
+
return selenium_webdriver_1.By.css(`tr[data-testid="${providerId}"]`);
|
|
289
|
+
}
|
|
290
|
+
getAiProviderSelectOptionLocator(providerName) {
|
|
291
|
+
return selenium_webdriver_1.By.xpath(`//button[@role="option"]//span[text()="${providerName}"]`);
|
|
292
|
+
}
|
|
293
|
+
getAiProviderEnvVarLocator(providerId) {
|
|
294
|
+
return selenium_webdriver_1.By.xpath(`//tr[@data-testid="${providerId}"]//td[@data-label="Environment Variable"]//code`);
|
|
295
|
+
}
|
|
296
|
+
getAiDeleteConfirmButtonLocator(providerName) {
|
|
297
|
+
return selenium_webdriver_1.By.xpath(`//div[@aria-label="Delete ${providerName} API Key"]//span[text()="Delete"]`);
|
|
298
|
+
}
|
|
234
299
|
};
|
|
235
300
|
UserPreferences.USER_SETTINGS_DROPDOWN = selenium_webdriver_1.By.xpath('//header//button/span[text()!=""]//parent::button');
|
|
236
301
|
UserPreferences.USER_PREFERENCES_BUTTON = selenium_webdriver_1.By.xpath('//span[text()="User Preferences"]');
|
|
@@ -259,6 +324,14 @@ UserPreferences.CONFIRM_DELETE_SSH_KEYS_CHECKBOX = selenium_webdriver_1.By.id('d
|
|
|
259
324
|
UserPreferences.CONFIRMATION_WINDOW = selenium_webdriver_1.By.xpath('//span[text()="Revoke Git Service"]');
|
|
260
325
|
UserPreferences.DELETE_CONFIRMATION_CHECKBOX = selenium_webdriver_1.By.id('revoke-warning-info-check');
|
|
261
326
|
UserPreferences.DELETE_ITEM_BUTTON_ENABLED = selenium_webdriver_1.By.css('button[data-testid="revoke-button"]:not([disabled])');
|
|
327
|
+
UserPreferences.AI_PROVIDER_KEYS_TAB = selenium_webdriver_1.By.xpath('//button[text()="AI Providers Keys"]');
|
|
328
|
+
UserPreferences.AI_ADD_KEY_EMPTY_STATE_BUTTON = selenium_webdriver_1.By.css('button[aria-label="Add AI Provider Key"]');
|
|
329
|
+
UserPreferences.AI_ADD_EDIT_MODAL = selenium_webdriver_1.By.css('div[aria-label="add-edit-ai-provider-key"]');
|
|
330
|
+
UserPreferences.AI_PROVIDER_SELECT_TOGGLE = selenium_webdriver_1.By.css('div[aria-label="add-edit-ai-provider-key"] button.pf-v6-c-menu-toggle');
|
|
331
|
+
UserPreferences.AI_API_KEY_INPUT = selenium_webdriver_1.By.id('ai-provider-api-key');
|
|
332
|
+
UserPreferences.AI_SAVE_BUTTON = selenium_webdriver_1.By.css('button[data-testid="save-button"]');
|
|
333
|
+
UserPreferences.AI_BULK_DELETE_BUTTON = selenium_webdriver_1.By.css('button[data-testid="bulk-delete-ai-key-button"]');
|
|
334
|
+
UserPreferences.AI_DELETE_CONFIRM_CHECKBOX = selenium_webdriver_1.By.id('delete-ai-key-warning-checkbox');
|
|
262
335
|
UserPreferences = UserPreferences_1 = __decorate([
|
|
263
336
|
(0, inversify_1.injectable)(),
|
|
264
337
|
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/UserPreferences.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/UserPreferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2026 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
17
|
+
const chai_1 = require("chai");
|
|
18
|
+
const Logger_1 = require("../../utils/Logger");
|
|
19
|
+
const stackName = 'Empty Workspace';
|
|
20
|
+
suite(`OpenCode Provider Smoke Test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
21
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
22
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
23
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
24
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
25
|
+
const userPreferences = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.UserPreferences);
|
|
26
|
+
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
27
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
28
|
+
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
29
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
30
|
+
const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
|
|
31
|
+
const providerName = 'OpenCode';
|
|
32
|
+
const providerId = 'opencodeai/opencode';
|
|
33
|
+
const apiKey = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_AI_PROVIDER_API_KEY;
|
|
34
|
+
const envVarName = 'OPENAI_API_KEY';
|
|
35
|
+
const openAiModel = 'gpt-4o-mini';
|
|
36
|
+
async function deleteAiProviderKeys() {
|
|
37
|
+
Logger_1.Logger.debug('Deleting AI Provider keys if they are present');
|
|
38
|
+
await userPreferences.openUserPreferencesPage();
|
|
39
|
+
await userPreferences.openAiProviderKeysTab();
|
|
40
|
+
await userPreferences.deleteAiProviderKeys(providerName);
|
|
41
|
+
}
|
|
42
|
+
suiteSetup('Login', async function () {
|
|
43
|
+
await loginTests.loginIntoChe();
|
|
44
|
+
await deleteAiProviderKeys();
|
|
45
|
+
});
|
|
46
|
+
suite('Add AI Provider API key', function () {
|
|
47
|
+
test('Navigate to AI Provider Keys tab', async function () {
|
|
48
|
+
await userPreferences.openUserPreferencesPage();
|
|
49
|
+
await userPreferences.waitAiProviderKeysTab();
|
|
50
|
+
await userPreferences.openAiProviderKeysTab();
|
|
51
|
+
});
|
|
52
|
+
test(`Add ${providerName} API key`, async function () {
|
|
53
|
+
await userPreferences.addAiProviderKey(providerName, apiKey);
|
|
54
|
+
});
|
|
55
|
+
test(`Verify ${providerName} key is present in the list`, async function () {
|
|
56
|
+
await userPreferences.waitAiProviderKeyPresent(providerId);
|
|
57
|
+
const actualEnvVarName = await userPreferences.getAiProviderEnvVarName(providerId);
|
|
58
|
+
(0, chai_1.expect)(actualEnvVarName).to.equal(envVarName);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
suite('Verify AI Provider on Create Workspace page', function () {
|
|
62
|
+
test('Navigate to Create Workspace page', async function () {
|
|
63
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
64
|
+
await createWorkspace.waitPage();
|
|
65
|
+
});
|
|
66
|
+
test('Verify AI Provider section is visible', async function () {
|
|
67
|
+
await createWorkspace.waitAiProviderSectionVisible();
|
|
68
|
+
});
|
|
69
|
+
test('Expand "Choose an AI Provider" section', async function () {
|
|
70
|
+
await createWorkspace.expandChooseAiProviderSection();
|
|
71
|
+
});
|
|
72
|
+
test(`Verify ${providerName} provider card is visible`, async function () {
|
|
73
|
+
await createWorkspace.waitAiProviderCardVisible(providerId);
|
|
74
|
+
});
|
|
75
|
+
test('Verify "Key configured" badge is displayed', async function () {
|
|
76
|
+
const isBadgeVisible = await createWorkspace.isAiProviderKeyConfiguredBadgeVisible();
|
|
77
|
+
(0, chai_1.expect)(isBadgeVisible, '"Key configured" badge should be visible').to.be.true;
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
suite('Create workspace and verify AI tool', function () {
|
|
81
|
+
test(`Create and open ${stackName}`, async function () {
|
|
82
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
83
|
+
});
|
|
84
|
+
test('Obtain workspace name from workspace loader page', async function () {
|
|
85
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
86
|
+
});
|
|
87
|
+
test('Register running workspace', function () {
|
|
88
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
89
|
+
});
|
|
90
|
+
test('Wait workspace readiness', async function () {
|
|
91
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
92
|
+
});
|
|
93
|
+
test('Connect to workspace container', function () {
|
|
94
|
+
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
95
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
96
|
+
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
97
|
+
});
|
|
98
|
+
test('Verify opencode binary is available in workspace', function () {
|
|
99
|
+
const output = containerTerminal.execInContainerCommand('which opencode || ls /injected-tools/opencode');
|
|
100
|
+
(0, chai_1.expect)(output.code, 'opencode binary should be present in the workspace').to.equal(0);
|
|
101
|
+
});
|
|
102
|
+
test(`Verify ${envVarName} environment variable is set`, function () {
|
|
103
|
+
const output = containerTerminal.execInContainerCommand(`printenv ${envVarName}`);
|
|
104
|
+
(0, chai_1.expect)(output.stdout.trim(), `${envVarName} environment variable should be set`).to.not.be.empty;
|
|
105
|
+
});
|
|
106
|
+
test('Verify opencode starts and reports version', function () {
|
|
107
|
+
const output = containerTerminal.execInContainerCommandWithTimeout('opencode --version 2>&1', undefined, '15');
|
|
108
|
+
(0, chai_1.expect)(output.code, 'opencode --version should exit with code 0').to.equal(0);
|
|
109
|
+
(0, chai_1.expect)(output.stdout, 'opencode should return version info').to.not.be.empty;
|
|
110
|
+
(0, chai_1.expect)(output.stdout.toLowerCase(), 'opencode --version should not contain errors').to.not.contain('error');
|
|
111
|
+
});
|
|
112
|
+
test('Verify API key reaches OpenAI and returns insufficient_quota', function () {
|
|
113
|
+
// call OpenAI API directly via curl to verify the injected API key works end-to-end.
|
|
114
|
+
// the key is valid but has no credits, so OpenAI returns "insufficient_quota" error.
|
|
115
|
+
// we use curl instead of "opencode run" because opencode's plugin initialization
|
|
116
|
+
// hangs in workspace containers that cannot reach the npm registry.
|
|
117
|
+
const curlCommand = 'curl -s -m 15 https://api.openai.com/v1/chat/completions ' +
|
|
118
|
+
'-H "Authorization: Bearer $OPENAI_API_KEY" ' +
|
|
119
|
+
'-H "Content-Type: application/json" ' +
|
|
120
|
+
`-d "{\\"model\\":\\"${openAiModel}\\",\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"Say hello\\"}]}"`;
|
|
121
|
+
const output = containerTerminal.execInContainerCommand(curlCommand);
|
|
122
|
+
const response = output.stdout + output.stderr;
|
|
123
|
+
Logger_1.Logger.info(`OpenAI API response: ${response}`);
|
|
124
|
+
(0, chai_1.expect)(response, 'OpenAI API should return insufficient_quota for a key with no credits').to.contain('insufficient_quota');
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
suiteTeardown('Open dashboard and close all other tabs', async function () {
|
|
128
|
+
await dashboard.openDashboard();
|
|
129
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
130
|
+
});
|
|
131
|
+
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
132
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
133
|
+
});
|
|
134
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
135
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=OpenCodeProviderSmokeTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenCodeProviderSmokeTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/OpenCodeProviderSmokeTest.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -28,6 +28,10 @@ export class CreateWorkspace {
|
|
|
28
28
|
private static readonly CREATE_NEW_WORKPACE_CHECKBOX: By = By.css('label[for="create-new-if-exist-switch"]');
|
|
29
29
|
private static readonly CREATE_NEW_WORKPACE_CHECKBOX_VALUE: By = By.id('create-new-if-exist-switch');
|
|
30
30
|
|
|
31
|
+
private static readonly AI_PROVIDER_SELECTOR_HEADING: By = By.xpath('//h3[text()="AI Provider Selector"]');
|
|
32
|
+
private static readonly AI_PROVIDER_CHOOSE_TOGGLE: By = By.id('accordion-item-ai-selector');
|
|
33
|
+
private static readonly AI_PROVIDER_KEY_CONFIGURED_BADGE: By = By.xpath('//span[text()=" Key configured"]');
|
|
34
|
+
|
|
31
35
|
constructor(
|
|
32
36
|
@inject(CLASSES.DriverHelper)
|
|
33
37
|
private readonly driverHelper: DriverHelper,
|
|
@@ -186,6 +190,47 @@ export class CreateWorkspace {
|
|
|
186
190
|
await this.driverHelper.scrollToAndClick(CreateWorkspace.CREATE_NEW_WORKPACE_CHECKBOX, timeout);
|
|
187
191
|
}
|
|
188
192
|
|
|
193
|
+
async waitAiProviderSectionVisible(timeout: number = TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT): Promise<void> {
|
|
194
|
+
Logger.debug();
|
|
195
|
+
|
|
196
|
+
await this.driverHelper.waitVisibility(CreateWorkspace.AI_PROVIDER_SELECTOR_HEADING, timeout);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
async expandChooseAiProviderSection(): Promise<void> {
|
|
200
|
+
Logger.debug();
|
|
201
|
+
|
|
202
|
+
const toggle: By = CreateWorkspace.AI_PROVIDER_CHOOSE_TOGGLE;
|
|
203
|
+
await this.driverHelper.waitAndClick(toggle);
|
|
204
|
+
await this.driverHelper.waitAttributeValue(toggle, 'aria-expanded', 'true', TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
async isAiProviderSectionVisible(): Promise<boolean> {
|
|
208
|
+
Logger.debug();
|
|
209
|
+
|
|
210
|
+
return await this.driverHelper.isVisible(CreateWorkspace.AI_PROVIDER_SELECTOR_HEADING);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
async isAiProviderCardVisible(providerId: string): Promise<boolean> {
|
|
214
|
+
Logger.debug(`providerId: "${providerId}"`);
|
|
215
|
+
|
|
216
|
+
return await this.driverHelper.isVisible(this.getAiProviderCardLocator(providerId));
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
async waitAiProviderCardVisible(
|
|
220
|
+
providerId: string,
|
|
221
|
+
timeout: number = TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT
|
|
222
|
+
): Promise<void> {
|
|
223
|
+
Logger.debug(`providerId: "${providerId}"`);
|
|
224
|
+
|
|
225
|
+
await this.driverHelper.waitVisibility(this.getAiProviderCardLocator(providerId), timeout);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
async isAiProviderKeyConfiguredBadgeVisible(): Promise<boolean> {
|
|
229
|
+
Logger.debug();
|
|
230
|
+
|
|
231
|
+
return await this.driverHelper.isVisible(CreateWorkspace.AI_PROVIDER_KEY_CONFIGURED_BADGE);
|
|
232
|
+
}
|
|
233
|
+
|
|
189
234
|
private getEditorsDropdownListLocator(sampleName: string): By {
|
|
190
235
|
return By.xpath(`//div[text()=\'${sampleName}\']//parent::article//button`);
|
|
191
236
|
}
|
|
@@ -215,6 +260,11 @@ export class CreateWorkspace {
|
|
|
215
260
|
return By.xpath(`//div[contains(@id, 'sample-card') and text()='${sampleName}']`);
|
|
216
261
|
}
|
|
217
262
|
|
|
263
|
+
private getAiProviderCardLocator(providerId: string): By {
|
|
264
|
+
const cardId: string = providerId.replace(/\//g, '-');
|
|
265
|
+
return By.id(`ai-provider-card-${cardId}`);
|
|
266
|
+
}
|
|
267
|
+
|
|
218
268
|
private getGitBranchListItemLocator(branchName: string): By {
|
|
219
269
|
return By.xpath(`//ul[@role="listbox"]//span[text()="${branchName}"]`);
|
|
220
270
|
}
|
|
@@ -54,6 +54,15 @@ export class UserPreferences {
|
|
|
54
54
|
private static readonly DELETE_CONFIRMATION_CHECKBOX: By = By.id('revoke-warning-info-check');
|
|
55
55
|
private static readonly DELETE_ITEM_BUTTON_ENABLED: By = By.css('button[data-testid="revoke-button"]:not([disabled])');
|
|
56
56
|
|
|
57
|
+
private static readonly AI_PROVIDER_KEYS_TAB: By = By.xpath('//button[text()="AI Providers Keys"]');
|
|
58
|
+
private static readonly AI_ADD_KEY_EMPTY_STATE_BUTTON: By = By.css('button[aria-label="Add AI Provider Key"]');
|
|
59
|
+
private static readonly AI_ADD_EDIT_MODAL: By = By.css('div[aria-label="add-edit-ai-provider-key"]');
|
|
60
|
+
private static readonly AI_PROVIDER_SELECT_TOGGLE: By = By.css('div[aria-label="add-edit-ai-provider-key"] button.pf-v6-c-menu-toggle');
|
|
61
|
+
private static readonly AI_API_KEY_INPUT: By = By.id('ai-provider-api-key');
|
|
62
|
+
private static readonly AI_SAVE_BUTTON: By = By.css('button[data-testid="save-button"]');
|
|
63
|
+
private static readonly AI_BULK_DELETE_BUTTON: By = By.css('button[data-testid="bulk-delete-ai-key-button"]');
|
|
64
|
+
private static readonly AI_DELETE_CONFIRM_CHECKBOX: By = By.id('delete-ai-key-warning-checkbox');
|
|
65
|
+
|
|
57
66
|
constructor(
|
|
58
67
|
@inject(CLASSES.DriverHelper)
|
|
59
68
|
readonly driverHelper: DriverHelper
|
|
@@ -286,6 +295,87 @@ export class UserPreferences {
|
|
|
286
295
|
Logger.info('SSH keys have been deleted');
|
|
287
296
|
}
|
|
288
297
|
|
|
298
|
+
async openAiProviderKeysTab(): Promise<void> {
|
|
299
|
+
Logger.debug();
|
|
300
|
+
|
|
301
|
+
await this.driverHelper.waitAndClick(UserPreferences.AI_PROVIDER_KEYS_TAB);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
async waitAiProviderKeysTab(timeout: number = TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT): Promise<void> {
|
|
305
|
+
Logger.debug();
|
|
306
|
+
|
|
307
|
+
await this.driverHelper.waitVisibility(UserPreferences.AI_PROVIDER_KEYS_TAB, timeout);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
async isAiProviderKeyPresent(providerId: string): Promise<boolean> {
|
|
311
|
+
Logger.debug(`providerId: "${providerId}"`);
|
|
312
|
+
|
|
313
|
+
return await this.driverHelper.isVisible(this.getAiProviderRowLocator(providerId));
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
async waitAiProviderKeyPresent(
|
|
317
|
+
providerId: string,
|
|
318
|
+
timeout: number = TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT
|
|
319
|
+
): Promise<void> {
|
|
320
|
+
Logger.debug(`providerId: "${providerId}"`);
|
|
321
|
+
|
|
322
|
+
await this.driverHelper.waitVisibility(this.getAiProviderRowLocator(providerId), timeout);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
async addAiProviderKey(providerName: string, apiKey: string): Promise<void> {
|
|
326
|
+
Logger.debug(`providerName: "${providerName}"`);
|
|
327
|
+
|
|
328
|
+
await this.driverHelper.waitAndClick(UserPreferences.AI_ADD_KEY_EMPTY_STATE_BUTTON);
|
|
329
|
+
await this.driverHelper.waitVisibility(UserPreferences.AI_ADD_EDIT_MODAL);
|
|
330
|
+
await this.selectAiProvider(providerName);
|
|
331
|
+
await this.driverHelper.waitVisibility(UserPreferences.AI_API_KEY_INPUT);
|
|
332
|
+
await this.driverHelper.enterValue(UserPreferences.AI_API_KEY_INPUT, apiKey);
|
|
333
|
+
await this.driverHelper.waitAndClick(UserPreferences.AI_SAVE_BUTTON);
|
|
334
|
+
|
|
335
|
+
const attempts: number = Math.ceil(
|
|
336
|
+
TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT / TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING
|
|
337
|
+
);
|
|
338
|
+
await this.driverHelper.waitDisappearance(
|
|
339
|
+
UserPreferences.AI_ADD_EDIT_MODAL,
|
|
340
|
+
attempts,
|
|
341
|
+
TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING
|
|
342
|
+
);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
async selectAiProvider(providerName: string): Promise<void> {
|
|
346
|
+
Logger.debug(`providerName: "${providerName}"`);
|
|
347
|
+
|
|
348
|
+
await this.driverHelper.waitAndClick(UserPreferences.AI_PROVIDER_SELECT_TOGGLE);
|
|
349
|
+
await this.driverHelper.waitAndClick(this.getAiProviderSelectOptionLocator(providerName));
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
async getAiProviderEnvVarName(providerId: string): Promise<string> {
|
|
353
|
+
Logger.debug(`providerId: "${providerId}"`);
|
|
354
|
+
|
|
355
|
+
return await this.driverHelper.waitAndGetText(this.getAiProviderEnvVarLocator(providerId));
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
async deleteAiProviderKeys(providerName: string): Promise<void> {
|
|
359
|
+
Logger.debug(`providerName: "${providerName}"`);
|
|
360
|
+
|
|
361
|
+
Logger.info('Deleting AI Provider keys');
|
|
362
|
+
const rows: By = By.css('table[aria-label="AI Provider Keys"] tbody tr input[type="checkbox"]');
|
|
363
|
+
const hasRows: boolean = await this.driverHelper.isVisible(rows);
|
|
364
|
+
|
|
365
|
+
if (!hasRows) {
|
|
366
|
+
Logger.info('No AI Provider keys to delete');
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
const selectAllCheckbox: By = By.css('table[aria-label="AI Provider Keys"] thead input[type="checkbox"]');
|
|
371
|
+
await this.driverHelper.waitAndClick(selectAllCheckbox);
|
|
372
|
+
await this.driverHelper.waitAndClick(UserPreferences.AI_BULK_DELETE_BUTTON);
|
|
373
|
+
await this.driverHelper.waitAndClick(UserPreferences.AI_DELETE_CONFIRM_CHECKBOX);
|
|
374
|
+
await this.driverHelper.waitAndClick(this.getAiDeleteConfirmButtonLocator(providerName));
|
|
375
|
+
await this.driverHelper.waitDisappearance(rows);
|
|
376
|
+
Logger.info('AI Provider keys have been deleted');
|
|
377
|
+
}
|
|
378
|
+
|
|
289
379
|
getServiceConfig(service: string): string {
|
|
290
380
|
const gitService: { [key: string]: string } = {
|
|
291
381
|
[GitProviderType.GITHUB]: 'GitHub',
|
|
@@ -302,4 +392,20 @@ export class UserPreferences {
|
|
|
302
392
|
private getServicesListItemLocator(servicesName: string): By {
|
|
303
393
|
return By.xpath(`//tr[td[text()='${servicesName}']]//input`);
|
|
304
394
|
}
|
|
395
|
+
|
|
396
|
+
private getAiProviderRowLocator(providerId: string): By {
|
|
397
|
+
return By.css(`tr[data-testid="${providerId}"]`);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
private getAiProviderSelectOptionLocator(providerName: string): By {
|
|
401
|
+
return By.xpath(`//button[@role="option"]//span[text()="${providerName}"]`);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
private getAiProviderEnvVarLocator(providerId: string): By {
|
|
405
|
+
return By.xpath(`//tr[@data-testid="${providerId}"]//td[@data-label="Environment Variable"]//code`);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
private getAiDeleteConfirmButtonLocator(providerName: string): By {
|
|
409
|
+
return By.xpath(`//div[@aria-label="Delete ${providerName} API Key"]//span[text()="Delete"]`);
|
|
410
|
+
}
|
|
305
411
|
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2026 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
11
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
12
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
13
|
+
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
14
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
15
|
+
import { registerRunningWorkspace } from '../MochaHooks';
|
|
16
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
17
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
18
|
+
|
|
19
|
+
import { UserPreferences } from '../../pageobjects/dashboard/UserPreferences';
|
|
20
|
+
import { CreateWorkspace } from '../../pageobjects/dashboard/CreateWorkspace';
|
|
21
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
22
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
23
|
+
import { KubernetesCommandLineToolsExecutor, ContainerTerminal } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
24
|
+
import { ShellString } from 'shelljs';
|
|
25
|
+
import { expect } from 'chai';
|
|
26
|
+
import { Logger } from '../../utils/Logger';
|
|
27
|
+
|
|
28
|
+
const stackName: string = 'Empty Workspace';
|
|
29
|
+
|
|
30
|
+
suite(`OpenCode Provider Smoke Test ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
31
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
32
|
+
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
33
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
34
|
+
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
35
|
+
const userPreferences: UserPreferences = e2eContainer.get(CLASSES.UserPreferences);
|
|
36
|
+
const createWorkspace: CreateWorkspace = e2eContainer.get(CLASSES.CreateWorkspace);
|
|
37
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
38
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
39
|
+
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
40
|
+
CLASSES.KubernetesCommandLineToolsExecutor
|
|
41
|
+
);
|
|
42
|
+
const containerTerminal: ContainerTerminal = e2eContainer.get(CLASSES.ContainerTerminal);
|
|
43
|
+
|
|
44
|
+
const providerName: string = 'OpenCode';
|
|
45
|
+
const providerId: string = 'opencodeai/opencode';
|
|
46
|
+
const apiKey: string = BASE_TEST_CONSTANTS.TS_AI_PROVIDER_API_KEY;
|
|
47
|
+
const envVarName: string = 'OPENAI_API_KEY';
|
|
48
|
+
const openAiModel: string = 'gpt-4o-mini';
|
|
49
|
+
|
|
50
|
+
async function deleteAiProviderKeys(): Promise<void> {
|
|
51
|
+
Logger.debug('Deleting AI Provider keys if they are present');
|
|
52
|
+
await userPreferences.openUserPreferencesPage();
|
|
53
|
+
await userPreferences.openAiProviderKeysTab();
|
|
54
|
+
await userPreferences.deleteAiProviderKeys(providerName);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
58
|
+
await loginTests.loginIntoChe();
|
|
59
|
+
await deleteAiProviderKeys();
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
suite('Add AI Provider API key', function (): void {
|
|
63
|
+
test('Navigate to AI Provider Keys tab', async function (): Promise<void> {
|
|
64
|
+
await userPreferences.openUserPreferencesPage();
|
|
65
|
+
await userPreferences.waitAiProviderKeysTab();
|
|
66
|
+
await userPreferences.openAiProviderKeysTab();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
test(`Add ${providerName} API key`, async function (): Promise<void> {
|
|
70
|
+
await userPreferences.addAiProviderKey(providerName, apiKey);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test(`Verify ${providerName} key is present in the list`, async function (): Promise<void> {
|
|
74
|
+
await userPreferences.waitAiProviderKeyPresent(providerId);
|
|
75
|
+
|
|
76
|
+
const actualEnvVarName: string = await userPreferences.getAiProviderEnvVarName(providerId);
|
|
77
|
+
expect(actualEnvVarName).to.equal(envVarName);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
suite('Verify AI Provider on Create Workspace page', function (): void {
|
|
82
|
+
test('Navigate to Create Workspace page', async function (): Promise<void> {
|
|
83
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
84
|
+
await createWorkspace.waitPage();
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
test('Verify AI Provider section is visible', async function (): Promise<void> {
|
|
88
|
+
await createWorkspace.waitAiProviderSectionVisible();
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test('Expand "Choose an AI Provider" section', async function (): Promise<void> {
|
|
92
|
+
await createWorkspace.expandChooseAiProviderSection();
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test(`Verify ${providerName} provider card is visible`, async function (): Promise<void> {
|
|
96
|
+
await createWorkspace.waitAiProviderCardVisible(providerId);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
test('Verify "Key configured" badge is displayed', async function (): Promise<void> {
|
|
100
|
+
const isBadgeVisible: boolean = await createWorkspace.isAiProviderKeyConfiguredBadgeVisible();
|
|
101
|
+
expect(isBadgeVisible, '"Key configured" badge should be visible').to.be.true;
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
suite('Create workspace and verify AI tool', function (): void {
|
|
106
|
+
test(`Create and open ${stackName}`, async function (): Promise<void> {
|
|
107
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
test('Obtain workspace name from workspace loader page', async function (): Promise<void> {
|
|
111
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
test('Register running workspace', function (): void {
|
|
115
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
test('Wait workspace readiness', async function (): Promise<void> {
|
|
119
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
test('Connect to workspace container', function (): void {
|
|
123
|
+
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
124
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
125
|
+
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
test('Verify opencode binary is available in workspace', function (): void {
|
|
129
|
+
const output: ShellString = containerTerminal.execInContainerCommand('which opencode || ls /injected-tools/opencode');
|
|
130
|
+
expect(output.code, 'opencode binary should be present in the workspace').to.equal(0);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
test(`Verify ${envVarName} environment variable is set`, function (): void {
|
|
134
|
+
const output: ShellString = containerTerminal.execInContainerCommand(`printenv ${envVarName}`);
|
|
135
|
+
expect(output.stdout.trim(), `${envVarName} environment variable should be set`).to.not.be.empty;
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
test('Verify opencode starts and reports version', function (): void {
|
|
139
|
+
const output: ShellString = containerTerminal.execInContainerCommandWithTimeout('opencode --version 2>&1', undefined, '15');
|
|
140
|
+
expect(output.code, 'opencode --version should exit with code 0').to.equal(0);
|
|
141
|
+
expect(output.stdout, 'opencode should return version info').to.not.be.empty;
|
|
142
|
+
expect(output.stdout.toLowerCase(), 'opencode --version should not contain errors').to.not.contain('error');
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
test('Verify API key reaches OpenAI and returns insufficient_quota', function (): void {
|
|
146
|
+
// call OpenAI API directly via curl to verify the injected API key works end-to-end.
|
|
147
|
+
// the key is valid but has no credits, so OpenAI returns "insufficient_quota" error.
|
|
148
|
+
// we use curl instead of "opencode run" because opencode's plugin initialization
|
|
149
|
+
// hangs in workspace containers that cannot reach the npm registry.
|
|
150
|
+
const curlCommand: string =
|
|
151
|
+
'curl -s -m 15 https://api.openai.com/v1/chat/completions ' +
|
|
152
|
+
'-H "Authorization: Bearer $OPENAI_API_KEY" ' +
|
|
153
|
+
'-H "Content-Type: application/json" ' +
|
|
154
|
+
`-d "{\\"model\\":\\"${openAiModel}\\",\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"Say hello\\"}]}"`;
|
|
155
|
+
|
|
156
|
+
const output: ShellString = containerTerminal.execInContainerCommand(curlCommand);
|
|
157
|
+
const response: string = output.stdout + output.stderr;
|
|
158
|
+
Logger.info(`OpenAI API response: ${response}`);
|
|
159
|
+
expect(response, 'OpenAI API should return insufficient_quota for a key with no credits').to.contain('insufficient_quota');
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
164
|
+
await dashboard.openDashboard();
|
|
165
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
169
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
173
|
+
registerRunningWorkspace('');
|
|
174
|
+
});
|
|
175
|
+
});
|