Skip to content

Add missing test modules in our unit test suite #35442

Closed as not planned
Closed as not planned

Description

@potiuk

See test_providers_modules_should_have_tests in tests/always/test_project_structure.py but those tests are missing currently:

Provider amazon

codecov

  • tests/providers/amazon/aws/executors/ecs/test_boto_schema.py
  • tests/providers/amazon/aws/executors/ecs/test_ecs_executor_config.py
  • tests/providers/amazon/aws/executors/ecs/test_utils.py
  • tests/providers/amazon/aws/fs/test_s3.py
  • tests/providers/amazon/aws/hooks/test_dms.py
  • tests/providers/amazon/aws/links/test_base_aws.py
  • tests/providers/amazon/aws/links/test_batch.py
  • tests/providers/amazon/aws/links/test_emr.py
  • tests/providers/amazon/aws/links/test_glue.py
  • tests/providers/amazon/aws/links/test_logs.py
  • tests/providers/amazon/aws/operators/test_dms.py
  • tests/providers/amazon/aws/operators/test_emr.py
  • tests/providers/amazon/aws/operators/test_s3.py
  • tests/providers/amazon/aws/operators/test_sagemaker.py
  • tests/providers/amazon/aws/sensors/test_dms.py
  • tests/providers/amazon/aws/sensors/test_emr.py
  • tests/providers/amazon/aws/sensors/test_s3.py
  • tests/providers/amazon/aws/sensors/test_sagemaker.py
  • tests/providers/amazon/aws/test_exceptions.py
  • tests/providers/amazon/aws/triggers/test_athena.py
  • tests/providers/amazon/aws/triggers/test_batch.py
  • tests/providers/amazon/aws/triggers/test_eks.py
  • tests/providers/amazon/aws/triggers/test_emr.py
  • tests/providers/amazon/aws/triggers/test_glue_crawler.py
  • tests/providers/amazon/aws/triggers/test_lambda_function.py
  • tests/providers/amazon/aws/triggers/test_rds.py
  • tests/providers/amazon/aws/triggers/test_redshift_cluster.py
  • tests/providers/amazon/aws/triggers/test_step_function.py
  • tests/providers/amazon/aws/utils/test_rds.py
  • tests/providers/amazon/aws/utils/test_sagemaker.py
  • tests/providers/amazon/aws/utils/test_sqs.py
  • tests/providers/amazon/aws/utils/test_tags.py
  • tests/providers/amazon/aws/waiters/test_base_waiter.py

Provider apache.cassandra

codecov

  • tests/providers/apache/cassandra/hooks/test_cassandra.py

Provider apache.drill

codecov

  • tests/providers/apache/drill/operators/test_drill.py

Provider apache.druid

codecov

  • tests/providers/apache/druid/operators/test_druid_check.py

Provider apache.hdfs

codecov

  • tests/providers/apache/hdfs/hooks/test_hdfs.py
  • tests/providers/apache/hdfs/log/test_hdfs_task_handler.py
  • tests/providers/apache/hdfs/sensors/test_hdfs.py

Provider apache.hive

codecov

  • tests/providers/apache/hive/plugins/test_hive.py
  • tests/providers/apache/hive/transfers/test_mssql_to_hive.py

Provider apache.kafka

codecov

  • tests/providers/apache/kafka/hooks/test_base.py
  • tests/providers/apache/kafka/hooks/test_client.py
  • tests/providers/apache/kafka/hooks/test_consume.py
  • tests/providers/apache/kafka/hooks/test_produce.py

Provider celery

codecov

  • tests/providers/celery/executors/test_celery_executor_utils.py
  • tests/providers/celery/executors/test_default_celery.py

Provider cncf.kubernetes

codecov

  • tests/providers/cncf/kubernetes/backcompat/test_backwards_compat_converters.py
  • tests/providers/cncf/kubernetes/executors/test_kubernetes_executor_types.py
  • tests/providers/cncf/kubernetes/executors/test_kubernetes_executor_utils.py
  • tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
  • tests/providers/cncf/kubernetes/test_k8s_model.py
  • tests/providers/cncf/kubernetes/test_kube_client.py
  • tests/providers/cncf/kubernetes/test_kube_config.py
  • tests/providers/cncf/kubernetes/test_pod_generator_deprecated.py
  • tests/providers/cncf/kubernetes/test_pod_launcher_deprecated.py
  • tests/providers/cncf/kubernetes/test_python_kubernetes_script.py
  • tests/providers/cncf/kubernetes/test_secret.py
  • tests/providers/cncf/kubernetes/triggers/test_kubernetes_pod.py
  • tests/providers/cncf/kubernetes/utils/test_delete_from.py
  • tests/providers/cncf/kubernetes/utils/test_k8s_hashlib_wrapper.py
  • tests/providers/cncf/kubernetes/utils/test_xcom_sidecar.py

Provider common.io

codecov

  • tests/providers/common/io/operators/test_file_transfer.py

Provider databricks

codecov

  • tests/providers/databricks/hooks/test_databricks_base.py

Provider dbt.cloud

codecov

  • tests/providers/dbt/cloud/hooks/test_dbt.py
  • tests/providers/dbt/cloud/operators/test_dbt.py
  • tests/providers/dbt/cloud/sensors/test_dbt.py
  • tests/providers/dbt/cloud/triggers/test_dbt.py

Provider docker

codecov

  • tests/providers/docker/test_exceptions.py

Provider elasticsearch

codecov

  • tests/providers/elasticsearch/log/test_es_json_formatter.py
  • tests/providers/elasticsearch/log/test_es_response.py

Provider google

codecov

  • tests/providers/google/cloud/fs/test_gcs.py
  • tests/providers/google/cloud/links/test_automl.py
  • tests/providers/google/cloud/links/test_base.py
  • tests/providers/google/cloud/links/test_bigquery.py
  • tests/providers/google/cloud/links/test_bigquery_dts.py
  • tests/providers/google/cloud/links/test_bigtable.py
  • tests/providers/google/cloud/links/test_cloud_build.py
  • tests/providers/google/cloud/links/test_cloud_functions.py
  • tests/providers/google/cloud/links/test_cloud_memorystore.py
  • tests/providers/google/cloud/links/test_cloud_sql.py
  • tests/providers/google/cloud/links/test_cloud_storage_transfer.py
  • tests/providers/google/cloud/links/test_cloud_tasks.py
  • tests/providers/google/cloud/links/test_compute.py
  • tests/providers/google/cloud/links/test_data_loss_prevention.py
  • tests/providers/google/cloud/links/test_datacatalog.py
  • tests/providers/google/cloud/links/test_dataflow.py
  • tests/providers/google/cloud/links/test_dataform.py
  • tests/providers/google/cloud/links/test_datafusion.py
  • tests/providers/google/cloud/links/test_dataplex.py
  • tests/providers/google/cloud/links/test_dataprep.py
  • tests/providers/google/cloud/links/test_dataproc.py
  • tests/providers/google/cloud/links/test_datastore.py
  • tests/providers/google/cloud/links/test_kubernetes_engine.py
  • tests/providers/google/cloud/links/test_life_sciences.py
  • tests/providers/google/cloud/links/test_mlengine.py
  • tests/providers/google/cloud/links/test_pubsub.py
  • tests/providers/google/cloud/links/test_spanner.py
  • tests/providers/google/cloud/links/test_stackdriver.py
  • tests/providers/google/cloud/links/test_vertex_ai.py
  • tests/providers/google/cloud/links/test_workflows.py
  • tests/providers/google/cloud/operators/vertex_ai/test_auto_ml.py
  • tests/providers/google/cloud/operators/vertex_ai/test_batch_prediction_job.py
  • tests/providers/google/cloud/operators/vertex_ai/test_custom_job.py
  • tests/providers/google/cloud/operators/vertex_ai/test_dataset.py
  • tests/providers/google/cloud/operators/vertex_ai/test_endpoint_service.py
  • tests/providers/google/cloud/operators/vertex_ai/test_hyperparameter_tuning_job.py
  • tests/providers/google/cloud/operators/vertex_ai/test_model_service.py
  • tests/providers/google/cloud/operators/vertex_ai/test_pipeline_job.py
  • tests/providers/google/cloud/sensors/test_dataform.py
  • tests/providers/google/cloud/transfers/test_bigquery_to_sql.py
  • tests/providers/google/cloud/transfers/test_presto_to_gcs.py
  • tests/providers/google/cloud/transfers/test_trino_to_gcs.py
  • tests/providers/google/cloud/triggers/test_cloud_composer.py
  • tests/providers/google/cloud/transfers/test_bigquery_to_mssql.py
  • tests/providers/google/cloud/transfers/test_mssql_to_gcs.py
  • tests/providers/google/cloud/utils/test_bigquery.py
  • tests/providers/google/cloud/utils/test_bigquery_get_data.py
  • tests/providers/google/cloud/utils/test_dataform.py
  • tests/providers/google/common/links/test_storage.py
  • tests/providers/google/common/test_consts.py
  • tests/providers/google/test_go_module_utils.py

Provider microsoft.azure

codecov

  • tests/providers/microsoft/azure/fs/test_adls.py
  • tests/providers/microsoft/azure/hooks/test_batch.py
  • tests/providers/microsoft/azure/hooks/test_container_instance.py
  • tests/providers/microsoft/azure/hooks/test_container_registry.py
  • tests/providers/microsoft/azure/hooks/test_container_volume.py
  • tests/providers/microsoft/azure/hooks/test_cosmos.py
  • tests/providers/microsoft/azure/hooks/test_data_factory.py
  • tests/providers/microsoft/azure/hooks/test_data_lake.py
  • tests/providers/microsoft/azure/hooks/test_fileshare.py
  • tests/providers/microsoft/azure/hooks/test_synapse.py
  • tests/providers/microsoft/azure/operators/test_adls.py
  • tests/providers/microsoft/azure/operators/test_batch.py
  • tests/providers/microsoft/azure/operators/test_container_instances.py
  • tests/providers/microsoft/azure/operators/test_cosmos.py
  • tests/providers/microsoft/azure/operators/test_data_factory.py
  • tests/providers/microsoft/azure/operators/test_synapse.py
  • tests/providers/microsoft/azure/secrets/test_key_vault.py
  • tests/providers/microsoft/azure/sensors/test_cosmos.py
  • tests/providers/microsoft/azure/sensors/test_data_factory.py
  • tests/providers/microsoft/azure/transfers/test_azure_blob_to_gcs.py
  • tests/providers/microsoft/azure/triggers/test_data_factory.py
  • tests/providers/microsoft/azure/triggers/test_wasb.py

Provider mongo

codecov

  • tests/providers/mongo/sensors/test_mongo.py

Provider openlineage

codecov

  • tests/providers/openlineage/extractors/test_base.py
  • tests/providers/openlineage/extractors/test_bash.py
  • tests/providers/openlineage/extractors/test_manager.py
  • tests/providers/openlineage/extractors/test_python.py
  • tests/providers/openlineage/plugins/test_adapter.py
  • tests/providers/openlineage/plugins/test_facets.py
  • tests/providers/openlineage/plugins/test_macros.py
  • tests/providers/openlineage/test_sqlparser.py

Provider presto

codecov

  • tests/providers/presto/transfers/test_gcs_to_presto.py

Provider redis

codecov

  • tests/providers/redis/operators/test_redis_publish.py
  • tests/providers/redis/sensors/test_redis_key.py

Provider slack

codecov

  • tests/providers/slack/notifications/test_slack_notifier.py

Provider snowflake

codecov

  • tests/providers/snowflake/triggers/test_snowflake_trigger.py

Provider trino

codecov

  • tests/providers/trino/transfers/test_gcs_to_trino.py

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Activity

  1. added
    kind:metaHigh-level information important to the community
    on Nov 4, 2023
  2. potiuk commented on Nov 4, 2023

    @potiuk
    MemberAuthor
  3. potiuk commented on Nov 5, 2023

    @potiuk
    MemberAuthor

    @eladkal -> first test removed from the list with #35457 -> I hope you can bring more people to contribute here :)

  4. potiuk commented on Nov 5, 2023

    @potiuk
    MemberAuthor

    Also related to #35127

  5. potiuk commented on Nov 5, 2023

    @potiuk
    MemberAuthor

    cc: @ephraimbuddy -> this might guide people on where to add tests to cover whole modules that are not "targeted" for tests (they might still be accidentally tested by other modules but they do not have dedicated module tests) - this might help people to make decision on where to add some tests. Also this is a nice list of "todos"

  6. changed the title [-]Tests that tested all our tests was broken and we need to add many tests[/-] [+]Add missing test modules in our unit test suite[/+] on Nov 5, 2023
  7. Taragolis commented on Nov 5, 2023

    @Taragolis
    Contributor

    tests/providers/slack/notifications/test_slack_notifier.py

    I think how to exclude case when the original module airflow.providers.slack.notifications.slack_notifier is deprecated

  8. Taragolis commented on Nov 5, 2023

    @Taragolis
    Contributor

    And just add here previous investigation about missing tests #28459 (comment), non all of them actually missing:

    • some of tests moved into tests.integrations
    • Amazon links tested in one go in same module
    • Some of amazon tests split across different test modules, for example: test_s3_bucket.py + test_s3_bucket_tagging.py + test_s3_file_transform.py + test_s3_list.py + test_s3_list_prefixes.py + test_s3_object.py but module named as s3.py (merged version)
  9. Taragolis commented on Nov 5, 2023

    @Taragolis
    Contributor

    And codecov statistic also might help to found untested parts: https://app.codecov.io/gh/apache/airflow/tree/main/airflow%2Fproviders

  10. eladkal commented on Nov 5, 2023

    @eladkal
    Contributor

    tests/providers/slack/notifications/test_slack_notifier.py

    I think how to exclude case when the original module airflow.providers.slack.notifications.slack_notifier is deprecated

    In similar cases we used to have deprecated classes list and we removed it from the output

  11. 49 remaining items

  12. keith991001 commented on Sep 11, 2026

    @keith991001
    Contributor

    Picking up the missing test module for the common-messaging provider base class:

    providers/common/messaging/tests/unit/common/messaging/providers/test_base_provider.py

    Checked for existing claims and open PRs covering this path first — none found. Will remove the corresponding entry from OVERLOOKED_TESTS in the same PR.


    Drafted-by: Claude Code (Fable 5) (no human review before posting)

  13. ShousenZHANG commented on Sep 11, 2026

    @ShousenZHANG
    Contributor

    Taking providers/google/tests/unit/google/cloud/links/test_bigquery_dts.py.

    It covers one class, BigQueryDataTransferConfigLink, and follows the three checks the sibling link tests already use — class attributes, the persist XCom payload, and _format_link against BASE_LINK (same shape as test_bigquery.py from #68066).

    The OVERLOOKED_TESTS entry goes in the same PR.

    No overlap with test_cloud_tasks.py (#72846). If this shape is acceptable I'd like to keep working through the other google/cloud/links/ entries — there are 19 left after that one.

  14. ShousenZHANG commented on Sep 11, 2026

    @ShousenZHANG
    Contributor

    Following up on my earlier comment: I have gone through the rest of the
    providers/google/tests/unit/google/cloud/links/ entries in the list. Posting the full set
    here so nobody duplicates the work. Each PR adds one test module and removes only its own
    OVERLOOKED_TESTS line.

    module PR
    test_bigquery_dts.py #72949
    test_dataprep.py #72955
    test_datastore.py #72956
    test_bigtable.py #72960
    test_cloud_build.py #72961
    test_cloud_functions.py #72962
    test_cloud_memorystore.py #72963
    test_cloud_sql.py #72964
    test_compute.py #72965
    test_data_loss_prevention.py #72966
    test_dataflow.py #72967
    test_dataform.py #72968
    test_datafusion.py #72969
    test_dataproc.py #72970
    test_kubernetes_engine.py #72971
    test_pubsub.py #72972
    test_spanner.py #72973
    test_stackdriver.py #72974
    test_translate.py #72975
    test_workflows.py #72976

    test_cloud_tasks.py is deliberately left out — #72846 already covers it.

    They all follow the three checks the existing test_bigquery.py (#68066) in the same
    directory uses: the class attributes, the persist XCom payload, and the _format_link
    output. A few modules needed extra cases and those are called out in the individual PRs —
    KubernetesEngineClusterLink and the two output_config translate links override persist,
    and Cloud Functions, Compute, DLP, Dataproc, Translate and the Data Fusion instance link
    build their constants on BASE_LINK so _format_link does not prefix the console base a
    second time.

    One thing worth flagging: because these all delete adjacent lines from the same
    OVERLOOKED_TESTS block, they will conflict with each other as they merge. I will rebase the
    remainder every time one lands. If you would rather review fewer PRs, say so and I will squash
    them into a handful of grouped ones instead.

  15. kaxil commented on Sep 11, 2026

    @kaxil
    Member

    Closing this as obsolete.

    The checklist in the description predates the provider restructure. All 182 paths in it use the old tests/providers/... layout, which no longer exists, so neither the checked nor the unchecked entries map onto files in the repo today. The gap itself is not closed: OVERLOOKED_TESTS currently carries 267 entries, more than this list ever tracked.

    That in-code list is the live source of truth and test_providers_modules_should_have_tests enforces it, so it cannot go stale the way this description did:

    def test_providers_modules_should_have_tests(self):
    """
    Assert every module in /providers/ has a corresponding test_ file in providers/providers.
    """
    # The test below had a but for quite a while and we missed a lot of modules to have tess
    # We should make sure that one goes to 0
    OVERLOOKED_TESTS = [

    Anyone who wants to fill one of these in can read the current list there. Open PRs already doing so are not affected by this closure.

    One request for anyone picking these up: group them. A module at a time, claimed in a comment and opened as its own PR, means one review and one CI run per file, and they are all the same review. Batch a provider's worth of missing test modules into a single PR instead.

  16. removed
    contributors-workshopIssues that are good for first-time contributor's workshop
    on Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:metaHigh-level information important to the community

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions