You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ra...@apache.org on 2026/09/09 05:55:35 UTC

(airflow) branch backport-2d717899a9-v3-3-test created (now 53a731b5b57)

This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 pushed a change to branch backport-2d717899a9-v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


      at 53a731b5b57 Fix Configuration page e2e test failing when the first option has no value (#72724)

This branch includes the following new commits:

     new 53a731b5b57 Fix Configuration page e2e test failing when the first option has no value (#72724)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(airflow) 01/01: Fix Configuration page e2e test failing when the first option has no value (#72724)

Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 pushed a commit to branch backport-2d717899a9-v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 53a731b5b578a3c9d9c6d2797038691b9452c255
Author: Jonathan Brown <16...@users.noreply.github.com>
AuthorDate: Tue Sep 8 13:21:50 2026 -0400

    Fix Configuration page e2e test failing when the first option has no value (#72724)
    
    The test asserted that the first row of the Config table has a non-empty
    value. Which option comes first depends on the provider fallback defaults,
    and since those were regenerated from provider.yaml the first row is now
    hive/default_hive_mapred_queue, whose value is legitimately empty. That
    broke the Chromium, Firefox and WebKit e2e jobs on every main-based PR.
    
    Check the value on core/dags_folder instead, which always has one, and
    locate cells by their test ids rather than column position.
    
    Claude-Session: https://claude.ai/code/session_01LPR1qQYC6BGWc4JoHRgWV3
    
    Co-authored-by: Claude Fable 5.1 <no...@anthropic.com>
    (cherry picked from commit 2d717899a98af84103a4212bb298bf8195a92c1d)
---
 .../src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts      |  6 ++++++
 .../src/airflow/ui/tests/e2e/specs/configuration.spec.ts     | 12 +++++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts b/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts
index 3683ce7e093..65e80729336 100644
--- a/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts
+++ b/airflow-core/src/airflow/ui/tests/e2e/pages/ConfigurationPage.ts
@@ -38,6 +38,12 @@ export class ConfigurationPage extends BasePage {
     });
   }
 
+  public getRowByKey(key: string): Locator {
+    return this.rows.filter({
+      has: this.page.getByTestId("table-cell-key").filter({ hasText: new RegExp(`^${key}$`) }),
+    });
+  }
+
   public async navigate(): Promise<void> {
     await expect(async () => {
       await this.navigateTo("/configs");
diff --git a/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts b/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts
index fd35506aac0..58d35ac392b 100644
--- a/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts
+++ b/airflow-core/src/airflow/ui/tests/e2e/specs/configuration.spec.ts
@@ -31,8 +31,14 @@ test.describe("Configuration Page", () => {
 
     const firstRow = configurationPage.rows.nth(0);
 
-    await expect(firstRow.locator("td").nth(0)).not.toBeEmpty();
-    await expect(firstRow.locator("td").nth(1)).not.toBeEmpty();
-    await expect(firstRow.locator("td").nth(2)).not.toBeEmpty();
+    await expect(firstRow.getByTestId("table-cell-section")).not.toBeEmpty();
+    await expect(firstRow.getByTestId("table-cell-key")).not.toBeEmpty();
+
+    // Many options legitimately have an empty value, so check a row that always has one.
+    const dagsFolderRow = configurationPage.getRowByKey("dags_folder");
+
+    await expect(dagsFolderRow).toHaveCount(1);
+    await expect(dagsFolderRow.getByTestId("table-cell-section")).toHaveText("core");
+    await expect(dagsFolderRow.getByTestId("table-cell-value")).not.toBeEmpty();
   });
 });