This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 23340ff97e2 Reject stale provider test exemptions (#71985)
23340ff97e2 is described below
commit 23340ff97e2d7d366217296b8631a0218f13d6de
Author: Xinyao Zhang <[email protected]>
AuthorDate: Tue Sep 22 19:07:15 2026 -0400
Reject stale provider test exemptions (#71985)
* Reject stale provider test exemptions
Remove outdated OVERLOOKED_TESTS entries and ensure each remaining
exemption corresponds to a current provider module.
* Remove stale provider test exemptions
* Keep provider test exemptions current
* Remove stale Kubernetes test exemption
* Remove stale provider test exemptions
* Remove stale HDFS test exemptions
---
.../tests/unit/always/test_project_structure.py | 28 ++++++----------------
1 file changed, 7 insertions(+), 21 deletions(-)
diff --git a/airflow-core/tests/unit/always/test_project_structure.py
b/airflow-core/tests/unit/always/test_project_structure.py
index 15ec5f89431..8eade3cc627 100644
--- a/airflow-core/tests/unit/always/test_project_structure.py
+++ b/airflow-core/tests/unit/always/test_project_structure.py
@@ -62,7 +62,6 @@ class TestProjectStructure:
# We should make sure that one goes to 0
OVERLOOKED_TESTS = [
"providers/amazon/tests/unit/amazon/aws/auth_manager/datamodels/test_login.py",
-
"providers/amazon/tests/unit/amazon/aws/auth_manager/security_manager/test_aws_security_manager_override.py",
"providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor_config.py",
"providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor_config.py",
"providers/amazon/tests/unit/amazon/aws/executors/aws_lambda/test_utils.py",
@@ -72,46 +71,30 @@ class TestProjectStructure:
"providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker.py",
"providers/amazon/tests/unit/amazon/aws/sensors/test_emr.py",
"providers/amazon/tests/unit/amazon/aws/sensors/test_sagemaker.py",
- "providers/apache/hdfs/tests/unit/apache/hdfs/hooks/test_hdfs.py",
-
"providers/apache/hdfs/tests/unit/apache/hdfs/sensors/test_hdfs.py",
"providers/celery/tests/unit/celery/executors/test_celery_executor_utils.py",
"providers/celery/tests/unit/celery/executors/test_default_celery.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/executors/test_kubernetes_executor_types.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/executors/test_kubernetes_executor_utils.py",
-
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/operators/test_kubernetes_pod.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_exceptions.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_k8s_model.py",
-
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_kube_client.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_kube_config.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_python_kubernetes_script.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_secret.py",
-
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/triggers/test_kubernetes_pod.py",
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/utils/test_delete_from.py",
-
"providers/cncf/kubernetes/tests/unit/cncf/kubernetes/utils/test_k8s_hashlib_wrapper.py",
- "providers/common/ai/tests/unit/common/ai/test_exceptions.py",
"providers/common/compat/tests/unit/common/compat/standard/test_utils.py",
-
"providers/common/messaging/tests/unit/common/messaging/providers/test_sqs.py",
"providers/fab/tests/unit/fab/auth_manager/api_fastapi/datamodels/test_login.py",
"providers/fab/tests/unit/fab/migrations/test_env.py",
-
"providers/fab/tests/unit/fab/www/api_connexion/test_exceptions.py",
-
"providers/fab/tests/unit/fab/www/api_connexion/test_parameters.py",
- "providers/fab/tests/unit/fab/www/api_connexion/test_security.py",
- "providers/fab/tests/unit/fab/www/api_connexion/test_types.py",
"providers/fab/tests/unit/fab/www/extensions/test_init_appbuilder.py",
"providers/fab/tests/unit/fab/www/extensions/test_init_jinja_globals.py",
"providers/fab/tests/unit/fab/www/extensions/test_init_manifest_files.py",
"providers/fab/tests/unit/fab/www/extensions/test_init_security.py",
- "providers/fab/tests/unit/fab/www/extensions/test_init_session.py",
"providers/fab/tests/unit/fab/www/extensions/test_init_views.py",
"providers/fab/tests/unit/fab/www/extensions/test_init_wsgi_middlewares.py",
"providers/fab/tests/unit/fab/www/security/test_permissions.py",
"providers/fab/tests/unit/fab/www/test_airflow_flask_app.py",
- "providers/fab/tests/unit/fab/www/test_app.py",
- "providers/fab/tests/unit/fab/www/test_constants.py",
"providers/fab/tests/unit/fab/www/test_security_appless.py",
"providers/fab/tests/unit/fab/www/test_security_manager.py",
"providers/fab/tests/unit/fab/www/test_session.py",
- "providers/fab/tests/unit/fab/www/test_views.py",
"providers/google/tests/unit/google/cloud/links/test_bigquery_dts.py",
"providers/google/tests/unit/google/cloud/links/test_bigtable.py",
"providers/google/tests/unit/google/cloud/links/test_cloud_build.py",
@@ -145,7 +128,6 @@ class TestProjectStructure:
"providers/google/tests/unit/google/cloud/transfers/test_presto_to_gcs.py",
"providers/google/tests/unit/google/cloud/utils/test_bigquery.py",
"providers/google/tests/unit/google/cloud/utils/test_bigquery_get_data.py",
-
"providers/google/tests/unit/google/common/hooks/test_operation_helpers.py",
"providers/google/tests/unit/google/test_go_module_utils.py",
"providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_adls.py",
"providers/snowflake/tests/unit/snowflake/triggers/test_snowflake_trigger.py",
@@ -197,9 +179,13 @@ class TestProjectStructure:
for f in modules_files_set
]
)
- expected_test_files = set(expected_test_files) - set(
- [pathlib.Path(test_file) for test_file in OVERLOOKED_TESTS]
+ overlooked_test_files = {pathlib.Path(test_file) for test_file in
OVERLOOKED_TESTS}
+ stale_overlooked_tests = overlooked_test_files - expected_test_files
+ assert not stale_overlooked_tests, (
+ "Detected stale provider test exemptions without corresponding
provider modules - "
+ f"please remove them from OVERLOOKED_TESTS:
{sorted(stale_overlooked_tests)}"
)
+ expected_test_files -= overlooked_test_files
missing_tests_files = [
file.as_posix()
@@ -208,7 +194,7 @@ class TestProjectStructure:
assert missing_tests_files == [], "Detect missing tests in providers
module - please add tests"
- added_test_files = current_test_files.intersection(OVERLOOKED_TESTS)
+ added_test_files =
current_test_files.intersection(overlooked_test_files)
assert set() == added_test_files, (
"Detect added tests in providers module - please remove the tests "
"from OVERLOOKED_TESTS list above"