rjgoyln opened a new pull request, #72249:
URL: https://github.com/apache/airflow/pull/72249

   ## Summary
   
   `unit/cli/conftest.py` imports the celery executor at module level, so with 
the provider uninstalled nothing under `unit/cli` collects at all — the first 
celery blocker to running the core suite in a scoped `uv sync --project 
airflow-core`. The rest are stand-ins: `CeleryExecutor` wherever a test wants 
an executor that is not local, `[celery]` wherever it wants an option a 
provider contributed.
   
   Where core has its own equivalent the stand-in is replaced rather than 
skipped, so the test keeps running in a celery-free environment. The 
provider-config toggle test moves to `[standard] venv_install_method`; its 
subject is the context manager, and the one property celery carried that 
`standard` does not — provider metadata beating 
`provider_config_fallback_defaults.cfg` — is what 
`test_provider_metadata_overrides_cfg_fallback` is for.
   
   The `TestProviderConfigPriority` rows are marked by the section that owns 
them, not by which of them fail. `[celery]` and `[celery_kubernetes_executor]` 
both come from `providers/celery/provider.yaml`, and several of their options 
resolve to the same value from the core-shipped cfg fallback, so those cases 
pass without the provider while proving nothing about provider metadata.
   
   `test_executor_loader.py`'s module-level `importorskip` hid the whole file 
rather than the four cases that need celery, so it becomes per-parameter. Its 
amazon `importorskip`, `unit/cli/conftest.py`'s cncf.kubernetes import and the 
dev-group entry itself all stay for the remaining slices.
   
   The celery CLI integration test moves under the provider. In 
`airflow-core/tests/integration` the celery integration is never started — 
`testable-core-integrations` is kerberos, otel and redis — so it has always 
skipped; under `providers/celery` it runs in the providers integration matrix.
   
   ## Tests
   
   Without `apache-airflow-providers-celery`, `airflow-core/tests/unit` and 
`tests/integration` collect clean (12873 items) where `unit/cli` previously 
failed outright, and the touched files skip instead of failing: 11 skips in 
`test_configuration.py`, 4 in `unit/executors`, 2 in `test_cli_parser.py`, one 
each in the scheduler and standalone command tests. With the provider installed 
nothing changes.
   
   `test_sensitive_values` and `test_providers_manager.py::test_cli` still fail 
in a scoped venv and are left alone — both assert against the full provider set 
and already miss keycloak and edge3 there, so neither is a celery problem.
   
   `markers.py` and `unit/cli/conftest.py` overlap #71868, where 
`skip_if_not_installed` is identical, so whichever lands second is a dedupe.
   
   related: #71641
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5)
   
   Generated-by: Claude Code (Opus 5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to