Skip to content

Commit 0539715

Browse files
authored
Stabilize import from git test step in DevConsoleIntegration test (#23815)
1 parent a349746 commit 0539715

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

tests/e2e/pageobjects/openshift/OcpMainPage.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export class OcpMainPage {
7272
async selectImportFromGitMethod(): Promise<OcpImportFromGitPage> {
7373
Logger.debug();
7474

75-
await this.driverHelper.waitAndClick(OcpMainPage.IMPORT_FROM_GIT_ITEM, TIMEOUT_CONSTANTS.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
75+
await this.driverHelper.waitAndClick(OcpMainPage.IMPORT_FROM_GIT_ITEM, TIMEOUT_CONSTANTS.TS_SELENIUM_WAIT_FOR_URL);
7676
return e2eContainer.get(CLASSES.OcpImportFromGitPage);
7777
}
7878

@@ -83,6 +83,21 @@ export class OcpMainPage {
8383
return await this.selectImportFromGitMethod();
8484
}
8585

86+
/**
87+
* prefer Dev Console Add → Import from Git; if that fails , open the import route directly.
88+
*/
89+
async openImportFromGitPageWithFallback(importProjectUrl: string): Promise<OcpImportFromGitPage> {
90+
Logger.debug();
91+
92+
try {
93+
return await this.openImportFromGitPage();
94+
} catch (err) {
95+
Logger.warn(`Import from git via UI failed, navigating to ${importProjectUrl}: ${err}`);
96+
await this.browserTabsUtil.navigateTo(importProjectUrl);
97+
return e2eContainer.get(CLASSES.OcpImportFromGitPage);
98+
}
99+
}
100+
86101
async selectProject(projectName: string): Promise<void> {
87102
Logger.debug();
88103

tests/e2e/specs/devconsole-intergration/DevConsoleIntegration.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ suite(`DevConsole Integration ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function
5353
const gitImportReference: string = 'pipeline';
5454
const projectLabel: string = 'app.openshift.io/runtime=spring';
5555
const projectName: string = 'devconsole-integration-test';
56+
const openshiftConsoleUrl: string = BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.replace(
57+
BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME(),
58+
'console-openshift-console'
59+
);
60+
const importProjectUrl: string = `${openshiftConsoleUrl}/import/ns/${projectName}`;
5661

5762
suiteSetup('Create new empty project using ocp', function (): void {
5863
kubernetesCommandLineToolsExecutor.loginToOcp();
@@ -101,7 +106,7 @@ suite(`DevConsole Integration ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function
101106
});
102107

103108
test('Open import from git project page', async function (): Promise<void> {
104-
ocpImportPage = await ocpMainPage.openImportFromGitPage();
109+
ocpImportPage = await ocpMainPage.openImportFromGitPageWithFallback(importProjectUrl);
105110
});
106111

107112
test('Fill and submit import data', async function (): Promise<void> {

0 commit comments

Comments
 (0)