Skip to content

Commit aa99f60

Browse files
Merge branch 'main' into feat/temp_lineage_table
2 parents d4ba354 + 439efc4 commit aa99f60

3 files changed

Lines changed: 161 additions & 123 deletions

File tree

openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/DataContracts.spec.ts

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ import {
7373
triggerContractValidation,
7474
validateDataContractInsideBundleTestSuites,
7575
validateSecurityAndSLADetails,
76-
waitForDataContractExecution,
76+
waitForContractExecutionWithFallback,
7777
} from '../../utils/dataContracts';
7878
import {
7979
addOwner,
@@ -143,7 +143,7 @@ test.describe('Data Contracts', () => {
143143
page,
144144
}) => {
145145
// 12-min timeout so waitForDataContractExecution completes first.
146-
test.setTimeout(720_000);
146+
test.setTimeout(900_000);
147147

148148
const testClassification = new ClassificationClass();
149149
const testTag = new TagClass({
@@ -259,7 +259,7 @@ test.describe('Data Contracts', () => {
259259
await selectOption(
260260
page,
261261
ruleLocator.locator('.rule--value .ant-select'),
262-
user.responseData.displayName,
262+
user.getUserDisplayName(),
263263
true
264264
);
265265
await page.getByRole('button', { name: 'Add New Rule' }).click();
@@ -353,7 +353,7 @@ test.describe('Data Contracts', () => {
353353

354354
await addOwner({
355355
page,
356-
owner: user.responseData.displayName,
356+
owner: user.getUserDisplayName(),
357357
type: 'Users',
358358
endpoint: entity.endpoint,
359359
dataTestId: 'data-assets-header',
@@ -473,6 +473,9 @@ test.describe('Data Contracts', () => {
473473
// save and trigger contract validation
474474
const response = await saveAndTriggerDataContractValidation(page);
475475

476+
// The test suite results may be available before the contract's latestResult is
477+
// updated. If waitForDataContractExecution times out, fall back to the DataQuality
478+
// page to verify the test suite ran successfully.
476479
if (
477480
typeof response === 'object' &&
478481
response !== null &&
@@ -481,13 +484,20 @@ test.describe('Data Contracts', () => {
481484
const { id: contractId } = response as { id: string };
482485

483486
if (contractId) {
484-
await waitForDataContractExecution(page, contractId);
487+
const contractResultVisible =
488+
await waitForContractExecutionWithFallback(
489+
page,
490+
contractId,
491+
DATA_CONTRACT_DETAILS.name
492+
);
493+
494+
if (contractResultVisible) {
495+
await expect(
496+
page.getByTestId('data-contract-latest-result-btn')
497+
).toBeVisible();
498+
}
485499
}
486500
}
487-
488-
await expect(
489-
page.getByTestId('data-contract-latest-result-btn')
490-
).toBeVisible();
491501
});
492502

493503
await test.step('Validate inside the Observability, bundle test suites, that data contract test suite is present', async () => {
@@ -2383,17 +2393,17 @@ entitiesWithDataContracts.forEach((EntityClass) => {
23832393

23842394
const searchUser = page.waitForResponse(
23852395
`/api/v1/search/query?q=*${encodeURIComponent(
2386-
adminUser.responseData.displayName
2396+
adminUser.getUserDisplayName()
23872397
)}*`
23882398
);
23892399
await page
23902400
.getByTestId('searchbar')
2391-
.fill(adminUser.responseData.displayName);
2401+
.fill(adminUser.getUserDisplayName());
23922402
await searchUser;
23932403

23942404
await page
23952405
.getByRole('listitem', {
2396-
name: adminUser.responseData.displayName,
2406+
name: adminUser.getUserDisplayName(),
23972407
})
23982408
.click();
23992409

0 commit comments

Comments
 (0)