-
Notifications
You must be signed in to change notification settings - Fork 16.4k
Replaces #60632 (closed due to merge conflicts) #61080
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Implement Page Object Model for Variables page - Add 14 comprehensive test cases covering CRUD operations - Include search, pagination, sorting, and import tests - Add proper test data cleanup in beforeAll/afterAll hooks - Configure for Chromium, Firefox, and WebKit browsers Fixes apache#60565
|
@shashbha14 can you look at failing checks. Also link the PR to issue |
|
@shashbha14 How are we progressing on this? |
* Change leftover import error path record to relative path These too should use relative paths for import error * fixup! Change leftover import error path record to relative path * fixup! fixup! Change leftover import error path record to relative path * Apply suggestion from @ephraimbuddy
…nts when (apache#60532) the Kubernetes watch stream ended (e.g. due to timeout_seconds), even while the pod was still running. This change reconnects on watch termination, resumes from the last observed resourceVersion, restarts on stale resourceVersion errors (410), and stops only when the pod completes or is deleted. Permission-denied watches still fall back to polling. As part of this fix, kubeconfig loading is cached and _load_config no longer returns an API client, clarifying its responsibility and avoiding repeated config loading during watch reconnects. Tests cover reconnection behavior, stale resourceVersion recovery, and clean termination on pod completion or deletion. Co-authored-by: Sameer Mesiah <smesiah971@gmail.com>
…ates (apache#61089) Bumps the core-ui-package-updates group with 11 updates in the /airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui directory: | Package | From | To | | --- | --- | --- | | [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.90.4` | `0.90.8` | | [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.3.1` | `16.3.2` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.8` | `19.2.9` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.53.0` | `8.53.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.53.0` | `8.53.1` | | [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.53.0` | `8.53.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.17` | `4.0.18` | | [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist) | `5.3.1` | `5.4.0` | | [happy-dom](https://github.com/capricorn86/happy-dom) | `20.3.1` | `20.3.4` | | [prettier](https://github.com/prettier/prettier) | `3.8.0` | `3.8.1` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.53.0` | `8.53.1` | Updates `@hey-api/openapi-ts` from 0.90.4 to 0.90.8 - [Release notes](https://github.com/hey-api/openapi-ts/releases) - [Changelog](https://github.com/hey-api/openapi-ts/blob/main/docs/CHANGELOG.md) - [Commits](https://github.com/hey-api/openapi-ts/compare/@hey-api/openapi-ts@0.90.4...@hey-api/openapi-ts@0.90.8) Updates `@testing-library/react` from 16.3.1 to 16.3.2 - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](testing-library/react-testing-library@v16.3.1...v16.3.2) Updates `@types/react` from 19.2.8 to 19.2.9 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@typescript-eslint/eslint-plugin` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/parser) Updates `@typescript-eslint/utils` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/utils) Updates `@vitest/coverage-v8` from 4.0.17 to 4.0.18 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/coverage-v8) Updates `eslint-plugin-perfectionist` from 5.3.1 to 5.4.0 - [Release notes](https://github.com/azat-io/eslint-plugin-perfectionist/releases) - [Changelog](https://github.com/azat-io/eslint-plugin-perfectionist/blob/main/changelog.md) - [Commits](azat-io/eslint-plugin-perfectionist@v5.3.1...v5.4.0) Updates `happy-dom` from 20.3.1 to 20.3.4 - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [Commits](capricorn86/happy-dom@v20.3.1...v20.3.4) Updates `prettier` from 3.8.0 to 3.8.1 - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](prettier/prettier@3.8.0...3.8.1) Updates `typescript-eslint` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/typescript-eslint) Updates `vitest` from 4.0.17 to 4.0.18 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/vitest) --- updated-dependencies: - dependency-name: "@hey-api/openapi-ts" dependency-version: 0.90.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@testing-library/react" dependency-version: 16.3.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@types/react" dependency-version: 19.2.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@typescript-eslint/parser" dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@typescript-eslint/utils" dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@vitest/coverage-v8" dependency-version: 4.0.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-perfectionist dependency-version: 5.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: happy-dom dependency-version: 20.3.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: prettier dependency-version: 3.8.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: typescript-eslint dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: vitest dependency-version: 4.0.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#56791) * Use common provider's get_async_connection in other providers * Fix sftp and livy unit tests
…d unit tests. (apache#60717) Co-authored-by: Sameer Mesiah <smesiah971@gmail.com>
…ates (apache#61088) * Bump the edge-ui-package-updates group across 1 directory with 11 updates Bumps the edge-ui-package-updates group with 11 updates in the /providers/edge3/src/airflow/providers/edge3/plugins/www directory: | Package | From | To | | --- | --- | --- | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.9` | `25.0.10` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.8` | `19.2.9` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.53.0` | `8.53.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.53.0` | `8.53.1` | | [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.53.0` | `8.53.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.17` | `4.0.18` | | [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist) | `5.3.1` | `5.4.0` | | [happy-dom](https://github.com/capricorn86/happy-dom) | `20.3.3` | `20.3.4` | | [prettier](https://github.com/prettier/prettier) | `3.8.0` | `3.8.1` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.53.0` | `8.53.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.17` | `4.0.18` | Updates `@types/node` from 25.0.9 to 25.0.10 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@types/react` from 19.2.8 to 19.2.9 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@typescript-eslint/eslint-plugin` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/parser) Updates `@typescript-eslint/utils` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/utils) Updates `@vitest/coverage-v8` from 4.0.17 to 4.0.18 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/coverage-v8) Updates `eslint-plugin-perfectionist` from 5.3.1 to 5.4.0 - [Release notes](https://github.com/azat-io/eslint-plugin-perfectionist/releases) - [Changelog](https://github.com/azat-io/eslint-plugin-perfectionist/blob/main/changelog.md) - [Commits](azat-io/eslint-plugin-perfectionist@v5.3.1...v5.4.0) Updates `happy-dom` from 20.3.3 to 20.3.4 - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [Commits](capricorn86/happy-dom@v20.3.3...v20.3.4) Updates `prettier` from 3.8.0 to 3.8.1 - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](prettier/prettier@3.8.0...3.8.1) Updates `typescript-eslint` from 8.53.0 to 8.53.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/typescript-eslint) Updates `vitest` from 4.0.17 to 4.0.18 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/vitest) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.0.10 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: "@types/react" dependency-version: 19.2.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: "@typescript-eslint/parser" dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: "@typescript-eslint/utils" dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: "@vitest/coverage-v8" dependency-version: 4.0.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: eslint-plugin-perfectionist dependency-version: 5.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: edge-ui-package-updates - dependency-name: happy-dom dependency-version: 20.3.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: prettier dependency-version: 3.8.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: typescript-eslint dependency-version: 8.53.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates - dependency-name: vitest dependency-version: 4.0.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: edge-ui-package-updates ... Signed-off-by: dependabot[bot] <support@github.com> * Fix WWW compile hash --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jens Scheffler <jscheffl@apache.org>
This reverts commit d0da0c0. Reverts apache#56245, as we can't safely use the tag to determine the version. Since we will be dropping support for 3 in the next release anyways, we will just keep it as-is for 1 more release.
* Updating the Provider governance docs based on AIP-95 Following up from earlier discussions, here is a PR to update the providers governance documentation. Feedback is welcome. Full disclosure, I used Cursor to generate the RST doc * Update PROVIDERS.rst Co-authored-by: Ryan Hatter <25823361+RNHTTR@users.noreply.github.com> * Update PROVIDERS.rst Co-authored-by: Ryan Hatter <25823361+RNHTTR@users.noreply.github.com> * Update providers/MANAGING_PROVIDERS_LIFECYCLE.rst Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> * Update providers/MANAGING_PROVIDERS_LIFECYCLE.rst Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> * Update PROVIDERS.rst Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> * Update PROVIDERS.rst Co-authored-by: Jarek Potiuk <jarek@potiuk.com> * Updated with clarifications Updated with clarification around process governance and to address feedback. * Addressed feedback Added more clarifications to address feedback * Fixed formatting issues Fixed formatting issues in the docs * Update PROVIDERS.rst Co-authored-by: Jarek Potiuk <jarek@potiuk.com> * Update PROVIDERS.rst Co-authored-by: Jarek Potiuk <jarek@potiuk.com> --------- Co-authored-by: Ryan Hatter <25823361+RNHTTR@users.noreply.github.com> Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Co-authored-by: Wei Lee <weilee.rx@gmail.com>
…60932) * Fix Simple Auth Manager UI dev server not starting in breeze * Redirected prek output to file in dev mode
…he#60650) * Fix unclosed aiohttp ClientSession in AzureDataFactoryAsyncHook * If cancel_pipeline_run() creates a new connection * Address review comments * review: early return * add tests: build_trigger_event --------- Co-authored-by: Akshay <cruseakshay@users.noreply.github.com>
Co-authored-by: Daniel Standish <15932138+dstandish@users.noreply.github.com>
* Git provider should require common-compat >=1.12.0 Using git provider 0.2.1 with common.compat <1.12 causes issues in dag callbacks * Update providers/git/pyproject.toml Co-authored-by: Elad Kalif <45845474+eladkal@users.noreply.github.com> * fixup! Update providers/git/pyproject.toml --------- Co-authored-by: Elad Kalif <45845474+eladkal@users.noreply.github.com>
|
Yes, this is still in progress. I’ve fixed the static check failures in the Variables UI e2e tests, rebased on the latest main, and all checks are green except for workflows that require maintainer approval. Could someone please approve the workflows and review when convenient? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please note that this PR is currently impossible to review as it includes changes in 300+ unrelated files and 100+ unrelated commits.
Also, considering the PR's description - I assume that you used AI to create this PR. Using AI is generally allowed in this project, but you should also adhere to specific guidelines written here, including an explicit declaration of its usage in the PR's description.
I'm closing this PR, if you want to continue working on this issue - please open a new one with only the required changes and according the guidelines.
Also, please make sure to give it a descriptive title.
|
Add E2E tests to verify the Variables page (/variables) functionality including list display, CRUD operations, search, pagination, sorting, and import.
Related: #60565
Closes: #60565
Test Coverage
This PR adds 14 comprehensive E2E tests covering all requirements:
Display & CRUD Operations
✅ Verify variables list displays correctly
✅ Create variable (regular)
✅ Create encrypted variable
✅ Edit variable (value and description)
✅ Delete single variable
✅ Delete multiple variables (bulk operation)
Search Functionality
✅ Search variables by exact key pattern
✅ Search variables with wildcard pattern
Import Functionality
✅ Import variables from JSON file
Pagination
✅ Verify pagination works (navigation between pages)
Sorting
✅ Sort variables by Key (ascending)
✅ Sort variables by Key (descending)
✅ Sort variables by Value
✅ Sort variables by Description
Implementation Details
Page Object Model Architecture
BasePage.ts (74 lines) - Base class with common page interactions
LoginPage.ts (61 lines) - Authentication handling
VariablesPage.ts (377 lines) - Comprehensive Variables page object with:
CRUD operations (create, edit, delete single/bulk)
Search functionality
Import from file
Pagination controls
Sorting capabilities
Helper methods for verification
Test Specifications
variables.spec.ts (378 lines) - 14 test cases with:
Dynamic test data generation using timestamps
Proper setup in beforeAll (creates 35 baseline variables for pagination)
Proper cleanup in afterAll (batch deletion of test data)
Fresh login in beforeEach
Configuration
testConfig.ts (32 lines) - Centralized configuration with environment variable support
playwright.config.ts - Cross-browser configuration (Chromium, Firefox, WebKit)
README.md (144 lines) - Comprehensive E2E testing documentation
Acceptance Criteria
All acceptance criteria from issue #60565 have been met:
All tests follow Page Object Model (POM) pattern
Tests use testConfig for configuration
Tests create/cleanup their own test data in beforeAll/afterAll
Tests work across Chromium, Firefox, and WebKit browsers
No hardcoded values - use dynamic data where possible
Files Added
airflow/ui/tests/e2e/pages/BasePage.ts
airflow/ui/tests/e2e/pages/LoginPage.ts
airflow/ui/tests/e2e/pages/VariablesPage.ts
airflow/ui/tests/e2e/specs/variables.spec.ts
airflow/ui/tests/e2e/testConfig.ts
airflow/ui/tests/e2e/README.md
airflow/ui/playwright.config.ts
airflow/ui/.gitignore
How to Run Tests
bash
Prerequisites
cd airflow/ui
pnpm install
pnpm exec playwright install
Ensure Airflow is running at http://localhost:8080
Then run tests:
All E2E tests
pnpm test:e2e
Interactive UI mode
pnpm test:e2e:ui
Specific browser
pnpm test:e2e:chromium
pnpm test:e2e:firefox
pnpm test:e2e:webkit
Related Issues
Parent: #59028 (UI E2E Test Scenarios - Implementation Meta issue)
Implements: #60565 (UI E2E Test || ADMIN-001: Verify Variables Page functionality)
Replaces: #60632 (closed due to merge conflicts)