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"

Reply via email to