This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch bookworm
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 30de24d458 Switch our base image to use Debian bookworm
add fb96f385b6 Fixed broken spelling check on gapped (#35402)
add 660cf0678e Add optional exit code to list import errors (#35378)
add dc206e6f71 Refresh and cleanup GitHub actions (#35401)
add 10bac853d2 Remove offset-based pagination from `list_jobs` function in
`DatabricksHook` (#34926)
add 3d23bf9dba Add more unit test to cover debug executor (#35400)
add 13865ab05a add managed identity support to AsyncDefaultAzureCredential
(#35394)
add 0b850a97e8 Yandex dataproc deduce default service account (#35059)
add 0a257afd03 Add all airflow image cache (#35410)
add 64d1085cb9 Update Google Ads API version from v14 to v15 (#35295)
add 0fba1918a7 Improved instructions for adding dependencies in TaskFlow
(#35406)
add 829d10aa82 Use `requires_access_custom_view` for user and roles API
endpoints (#35207)
add 70b3bd3fb9 Add pagination to `HttpOperator` and make it more modular
(#34669)
add 2bcd450e84 Add task parameter to set custom logger name (#34964)
add 61a9ab7600 prev_end_date_success method access (#34528)
add fd78908097 json data for async PUTs fixed (#35405)
add 09880741cb Add configuration files for yandex (#35420)
add 92d1e8c447 Move ECS Executor to its own file (#35418)
add ae9a7b8188 ECS Executor Health Check (#35412)
add b30e7aef91 Expose documentation locally in breeze (#35413)
add d67e8e83fa Fix quarantined test (#35427)
add 6858ea46eb Make schema filter uppercase in `create_filter_clauses`
(#35428)
add 2023a76037 Remove before_log in KPO retry and add traceback when
interrupted (#35423)
add 052e26ad47 Change security.rst to use includes in providers (#35435)
add 706878ec35 Remove empty lines in generated changelog (#35436)
add a61da3cc87 Add verificationy that provider docs are as expected
(#35424)
add ea8eabc1e7 Remove "post-tests" steps for Helm Unit tests in CI (#35437)
add 94f9d798a8 Fix TriggerDagRunOperator failing to trigger subsequent
runs when reset_dag_run=True (#35429)
add f50a34b45a Optimize PROD image caching in CI (#35438)
add d54f302826 Optimize-away PROD image build in many cases (#35439)
add 7352839e85 Disable verbose in K8S Tests (#35441)
add a6a7173854 Bump min `snowflake-connector-python` version (#35440)
add 9e5ed05c2b Fix `common.io' provider missing in tests package (#35444)
add a5676525e8 Fix test to test if we miss tests (AKA 'who tests the
tests') (#35443)
add 850e1947a6 Reorganize SQL to Slack Operators (#35215)
add 438f980854 Increase timeout for Virtualenv Operator tests (#35446)
add ab22e05309 Bump MySQL Innovation Release to 8.2 (#35286)
add aba8e4a6c9 Drop Postgres 11 support in dev/ci (#35386)
add d21d56e625 Add mising common.io test_file_transfer.py (#35457)
add 1fd6d51e4f Remove submodules specification from checkout steps in GA
(#35454)
add 2980eb137d fix(providers/microsoft): setting use_async=True for
get_async_default_azure_credential (#35432)
add fb506c19b6 Rename jens-scheffler-bosch to jscheffl (#35455)
add c67a2b0413 Use constant for empty xcom result sentinel (#35451)
add be2c3b9d9e Remove PodLoggingStatus object (#35422)
add 3e9c47e95e Improve selectiveness of selective checks for
"always/tests" case (#35458)
add eb0a89d7ef Skip doc publishing tests in regular PRs (#35459)
new f419190e7f Switch our base image to use Debian bookworm
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (30de24d458)
\
N -- N -- N refs/heads/bookworm (f419190e7f)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.asf.yaml | 2 +-
.github/actions/configure-aws-credentials | 1 -
.github/actions/github-push-action | 1 -
.github/workflows/build-images.yml | 32 +-
.github/workflows/ci.yml | 146 +++++----
.github/workflows/codeql-analysis.yml | 4 +-
.github/workflows/release_dockerhub_image.yml | 5 +-
.gitmodules | 9 -
.pre-commit-config.yaml | 7 +
CONTRIBUTORS_QUICK_START.rst | 6 +-
Dockerfile | 76 ++---
INTHEWILD.md | 2 +-
README.md | 2 +-
STATIC_CODE_CHECKS.rst | 2 +
airflow/api_connexion/security.py | 21 ++
.../api_endpoints/role_and_permission_endpoint.py | 14 +-
.../managers/fab/api_endpoints/user_endpoint.py | 12 +-
airflow/cli/commands/dag_command.py | 2 +
airflow/hooks/base.py | 10 +
airflow/models/baseoperator.py | 15 +-
airflow/models/taskinstance.py | 7 +
airflow/operators/python.py | 1 +
airflow/operators/trigger_dagrun.py | 3 +-
.../providers/amazon/aws/executors/ecs/__init__.py | 326 ---------------------
.../executors/ecs/{__init__.py => ecs_executor.py} | 57 ++++
.../providers/amazon/aws/executors/ecs/utils.py | 2 +
airflow/providers/amazon/provider.yaml | 10 +
airflow/providers/cncf/kubernetes/operators/pod.py | 4 +-
airflow/providers/cncf/kubernetes/provider.yaml | 3 +
.../providers/cncf/kubernetes/utils/pod_manager.py | 76 ++---
airflow/providers/databricks/CHANGELOG.rst | 9 +-
airflow/providers/databricks/hooks/databricks.py | 22 +-
airflow/providers/databricks/provider.yaml | 1 +
.../providers/discord/operators/discord_webhook.py | 15 +-
airflow/providers/google/ads/hooks/ads.py | 8 +-
airflow/providers/google/provider.yaml | 2 +-
airflow/providers/http/hooks/http.py | 2 +-
airflow/providers/http/operators/http.py | 223 ++++++++++++--
airflow/providers/microsoft/azure/hooks/adx.py | 7 +-
airflow/providers/microsoft/azure/hooks/asb.py | 12 +-
.../microsoft/azure/hooks/container_instance.py | 7 +-
.../microsoft/azure/hooks/container_registry.py | 10 +-
.../microsoft/azure/hooks/container_volume.py | 9 +-
airflow/providers/microsoft/azure/hooks/cosmos.py | 10 +-
.../microsoft/azure/hooks/data_factory.py | 15 +-
.../providers/microsoft/azure/hooks/data_lake.py | 14 +-
.../providers/microsoft/azure/hooks/fileshare.py | 15 +-
airflow/providers/microsoft/azure/hooks/synapse.py | 7 +-
airflow/providers/microsoft/azure/hooks/wasb.py | 16 +-
.../providers/microsoft/azure/secrets/key_vault.py | 4 +-
airflow/providers/microsoft/azure/utils.py | 39 ++-
airflow/providers/openlineage/utils/sql.py | 1 +
airflow/providers/slack/provider.yaml | 28 +-
.../providers/slack/transfers/base_sql_to_slack.py | 83 ++++++
airflow/providers/slack/transfers/sql_to_slack.py | 211 ++-----------
.../slack/transfers/sql_to_slack_webhook.py | 172 +++++++++++
airflow/providers/snowflake/hooks/snowflake.py | 1 +
airflow/providers/snowflake/provider.yaml | 2 +-
airflow/providers/yandex/hooks/yandex.py | 55 ++--
.../yandex/operators/yandexcloud_dataproc.py | 2 +-
airflow/providers/yandex/provider.yaml | 12 +
airflow/serialization/schema.json | 2 +
airflow/utils/context.py | 1 +
airflow/utils/context.pyi | 1 +
airflow/utils/log/logging_mixin.py | 38 ++-
airflow/www/extensions/init_views.py | 1 +
airflow/www/views.py | 23 +-
dev/breeze/SELECTIVE_CHECKS.md | 3 +-
...-using-contributed-code-when-building-images.md | 5 +-
.../doc/adr/0010-use-pipx-to-install-breeze.md | 2 +-
dev/breeze/doc/adr/0013-get-rid-of-submodules.md | 90 ++++++
dev/breeze/src/airflow_breeze/global_constants.py | 4 +-
dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 +
dev/breeze/src/airflow_breeze/utils/cdxgen.py | 23 +-
dev/breeze/src/airflow_breeze/utils/run_tests.py | 6 +-
.../src/airflow_breeze/utils/selective_checks.py | 22 +-
.../tests/test_pytest_args_for_test_types.py | 10 +
dev/breeze/tests/test_selective_checks.py | 136 ++++++---
.../PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2 | 3 +-
.../PROVIDER_COMMITS_TEMPLATE.rst.jinja2 | 2 +-
.../PROVIDER_INDEX_TEMPLATE.rst.jinja2 | 2 +-
.../PROVIDER_README_TEMPLATE.rst.jinja2 | 2 +-
.../PROVIDER_SECURITY_TEMPLATE.rst.jinja2 | 62 ----
.../PROVIDER__INIT__PY_TEMPLATE.py.jinja2 | 3 +-
dev/provider_packages/prepare_provider_packages.py | 24 --
docs/README.rst | 5 +-
.../apache-airflow-providers-airbyte/changelog.rst | 1 -
docs/apache-airflow-providers-airbyte/security.rst | 22 +-
.../apache-airflow-providers-alibaba/changelog.rst | 1 -
docs/apache-airflow-providers-alibaba/security.rst | 22 +-
docs/apache-airflow-providers-amazon/changelog.rst | 1 -
.../executors/ecs-executor.rst | 4 +-
docs/apache-airflow-providers-amazon/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../apache-airflow-providers-apprise/changelog.rst | 1 -
docs/apache-airflow-providers-apprise/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-arangodb/security.rst | 22 +-
docs/apache-airflow-providers-asana/changelog.rst | 1 -
docs/apache-airflow-providers-asana/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-celery/changelog.rst | 1 -
docs/apache-airflow-providers-celery/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-cloudant/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../connections/databricks.rst | 2 +-
.../security.rst | 22 +-
.../apache-airflow-providers-datadog/changelog.rst | 1 -
docs/apache-airflow-providers-datadog/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-dingding/security.rst | 22 +-
.../apache-airflow-providers-discord/changelog.rst | 1 -
docs/apache-airflow-providers-discord/security.rst | 22 +-
docs/apache-airflow-providers-docker/changelog.rst | 1 -
docs/apache-airflow-providers-docker/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-exasol/changelog.rst | 1 -
docs/apache-airflow-providers-exasol/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-facebook/security.rst | 22 +-
docs/apache-airflow-providers-ftp/changelog.rst | 1 -
docs/apache-airflow-providers-ftp/security.rst | 22 +-
docs/apache-airflow-providers-github/changelog.rst | 1 -
docs/apache-airflow-providers-github/security.rst | 22 +-
docs/apache-airflow-providers-google/changelog.rst | 1 -
docs/apache-airflow-providers-google/security.rst | 22 +-
docs/apache-airflow-providers-grpc/changelog.rst | 1 -
docs/apache-airflow-providers-grpc/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-http/changelog.rst | 1 -
docs/apache-airflow-providers-http/operators.rst | 37 ++-
docs/apache-airflow-providers-http/security.rst | 22 +-
docs/apache-airflow-providers-imap/changelog.rst | 1 -
docs/apache-airflow-providers-imap/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-influxdb/security.rst | 22 +-
docs/apache-airflow-providers-jdbc/changelog.rst | 1 -
docs/apache-airflow-providers-jdbc/security.rst | 22 +-
.../apache-airflow-providers-jenkins/changelog.rst | 1 -
docs/apache-airflow-providers-jenkins/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-mongo/changelog.rst | 1 -
docs/apache-airflow-providers-mongo/security.rst | 22 +-
docs/apache-airflow-providers-mysql/changelog.rst | 1 -
docs/apache-airflow-providers-mysql/security.rst | 22 +-
docs/apache-airflow-providers-neo4j/changelog.rst | 1 -
docs/apache-airflow-providers-neo4j/security.rst | 22 +-
docs/apache-airflow-providers-odbc/changelog.rst | 1 -
docs/apache-airflow-providers-odbc/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-openfaas/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-opsgenie/security.rst | 22 +-
docs/apache-airflow-providers-oracle/changelog.rst | 1 -
docs/apache-airflow-providers-oracle/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-plexus/changelog.rst | 1 -
docs/apache-airflow-providers-plexus/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-postgres/security.rst | 22 +-
docs/apache-airflow-providers-presto/changelog.rst | 1 -
docs/apache-airflow-providers-presto/security.rst | 22 +-
docs/apache-airflow-providers-qubole/security.rst | 21 +-
docs/apache-airflow-providers-redis/changelog.rst | 1 -
docs/apache-airflow-providers-redis/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-samba/changelog.rst | 1 -
docs/apache-airflow-providers-samba/security.rst | 22 +-
.../apache-airflow-providers-segment/changelog.rst | 1 -
docs/apache-airflow-providers-segment/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-sendgrid/security.rst | 22 +-
docs/apache-airflow-providers-sftp/changelog.rst | 1 -
docs/apache-airflow-providers-sftp/security.rst | 22 +-
.../changelog.rst | 1 -
.../security.rst | 22 +-
docs/apache-airflow-providers-slack/changelog.rst | 1 -
.../operators/slack_operator_howto_guide.rst | 6 +-
.../operators/sql_to_slack.rst | 19 +-
.../{sql_to_slack.rst => sql_to_slack_webhook.rst} | 18 +-
docs/apache-airflow-providers-slack/security.rst | 22 +-
docs/apache-airflow-providers-smtp/changelog.rst | 1 -
docs/apache-airflow-providers-smtp/security.rst | 22 +-
.../changelog.rst | 1 -
docs/apache-airflow-providers-snowflake/index.rst | 2 +-
.../security.rst | 22 +-
docs/apache-airflow-providers-sqlite/changelog.rst | 1 -
docs/apache-airflow-providers-sqlite/security.rst | 22 +-
docs/apache-airflow-providers-ssh/changelog.rst | 1 -
docs/apache-airflow-providers-ssh/security.rst | 22 +-
.../apache-airflow-providers-tableau/changelog.rst | 1 -
docs/apache-airflow-providers-tableau/security.rst | 22 +-
.../apache-airflow-providers-tabular/changelog.rst | 1 -
docs/apache-airflow-providers-tabular/security.rst | 22 +-
.../changelog.rst | 1 -
.../apache-airflow-providers-telegram/security.rst | 22 +-
docs/apache-airflow-providers-trino/changelog.rst | 1 -
docs/apache-airflow-providers-trino/security.rst | 22 +-
.../apache-airflow-providers-vertica/changelog.rst | 1 -
docs/apache-airflow-providers-vertica/security.rst | 22 +-
docs/apache-airflow-providers-yandex/changelog.rst | 1 -
.../configurations-ref.rst | 0
docs/apache-airflow-providers-yandex/index.rst | 1 +
docs/apache-airflow-providers-yandex/security.rst | 22 +-
.../apache-airflow-providers-zendesk/changelog.rst | 1 -
docs/apache-airflow-providers-zendesk/security.rst | 22 +-
.../advanced-logging-configuration.rst | 72 ++++-
.../logging-monitoring/logging-tasks.rst | 3 +-
docs/apache-airflow/configurations-ref.rst | 24 +-
docs/apache-airflow/core-concepts/operators.rst | 4 +-
docs/apache-airflow/tutorial/taskflow.rst | 7 +-
docs/exts/docs_build/docs_builder.py | 4 +
.../includes}/security.rst | 1 -
docs/exts/operators_and_hooks_ref.py | 4 +-
docs/exts/templates/configuration.rst.jinja2 | 4 +-
docs/spelling_wordlist.txt | 1 +
generated/PYPI_README.md | 2 +-
generated/provider_dependencies.json | 4 +-
images/breeze/output-commands-hash.txt | 20 +-
images/breeze/output-commands.svg | 2 +-
images/breeze/output_setup_config.svg | 2 +-
images/breeze/output_shell.svg | 2 +-
images/breeze/output_start-airflow.svg | 2 +-
images/breeze/output_static-checks.svg | 112 +++----
images/breeze/output_testing_db-tests.svg | 2 +-
images/breeze/output_testing_integration-tests.svg | 2 +-
images/breeze/output_testing_tests.svg | 2 +-
scripts/ci/constraints/ci_commit_constraints.sh | 2 +-
scripts/ci/constraints/ci_diff_constraints.sh | 4 +-
.../pre_commit/pre_commit_check_provider_docs.py | 261 +++++++++++++++++
.../pre_commit_checkout_no_credentials.py | 9 +-
scripts/cov/core_coverage.py | 1 -
tests/always/test_project_structure.py | 188 +++++++++++-
tests/cli/commands/test_dag_command.py | 6 +-
tests/executors/test_debug_executor.py | 24 ++
.../plugins/hive.py => tests/hooks/test_base.py | 20 +-
tests/jobs/test_triggerer_job.py | 10 +-
tests/operators/test_python.py | 33 +++
tests/operators/test_trigger_dagrun.py | 53 +++-
.../amazon/aws/executors/ecs/test_ecs_executor.py | 96 +++++-
tests/providers/amazon/aws/hooks/test_base_aws.py | 2 +-
.../cncf/kubernetes/utils/test_pod_manager.py | 66 ++---
.../providers/common/io}/__init__.py | 0
.../providers/common/io/operators}/__init__.py | 0
.../common/io/operators/test_file_transfer.py | 47 +++
tests/providers/docker/hooks/test_docker.py | 2 +-
tests/providers/http/operators/test_http.py | 97 +++++-
tests/providers/http/sensors/test_http.py | 6 +-
tests/providers/microsoft/azure/hooks/test_adx.py | 2 +-
tests/providers/microsoft/azure/hooks/test_asb.py | 12 +-
.../azure/hooks/test_azure_container_instance.py | 6 +-
.../azure/hooks/test_azure_container_registry.py | 8 +-
.../azure/hooks/test_azure_container_volume.py | 6 +-
.../microsoft/azure/hooks/test_azure_cosmos.py | 2 +-
.../azure/hooks/test_azure_data_factory.py | 33 ++-
.../microsoft/azure/hooks/test_azure_synapse.py | 2 +-
tests/providers/microsoft/azure/hooks/test_wasb.py | 2 +-
.../azure/secrets/test_azure_key_vault.py | 8 +-
tests/providers/microsoft/azure/test_utils.py | 16 +
.../slack/transfers}/conftest.py | 11 +-
.../slack/transfers/test_base_sql_to_slack.py | 97 ++++++
.../providers/slack/transfers/test_sql_to_slack.py | 293 +-----------------
.../slack/transfers/test_sql_to_slack_webhook.py | 271 +++++++++++++++++
.../snowflake/operators/test_snowflake_sql.py | 131 ++++++++-
tests/providers/yandex/hooks/test_yandex.py | 12 +
tests/serialization/test_dag_serialization.py | 5 +-
tests/system/providers/http/example_http.py | 38 ++-
.../system/providers/slack/example_sql_to_slack.py | 23 +-
...to_slack.py => example_sql_to_slack_webhook.py} | 10 +-
tests/utils/test_logging_mixin.py | 38 ++-
328 files changed, 3140 insertions(+), 3474 deletions(-)
delete mode 160000 .github/actions/configure-aws-credentials
delete mode 160000 .github/actions/github-push-action
delete mode 100644 .gitmodules
copy airflow/providers/amazon/aws/executors/ecs/{__init__.py =>
ecs_executor.py} (85%)
create mode 100644 airflow/providers/slack/transfers/base_sql_to_slack.py
create mode 100644 airflow/providers/slack/transfers/sql_to_slack_webhook.py
create mode 100644 dev/breeze/doc/adr/0013-get-rid-of-submodules.md
delete mode 100644 dev/provider_packages/PROVIDER_SECURITY_TEMPLATE.rst.jinja2
copy docs/apache-airflow-providers-slack/operators/{sql_to_slack.rst =>
sql_to_slack_webhook.rst} (68%)
copy docs/{apache-airflow-providers-amazon =>
apache-airflow-providers-yandex}/configurations-ref.rst (100%)
copy docs/{apache-airflow-providers-apache-beam => exts/includes}/security.rst
(99%)
create mode 100755 scripts/ci/pre_commit/pre_commit_check_provider_docs.py
copy airflow/providers/apache/hive/plugins/hive.py => tests/hooks/test_base.py
(61%)
copy {airflow/api_connexion => tests/providers/common/io}/__init__.py (100%)
copy {airflow/api_connexion =>
tests/providers/common/io/operators}/__init__.py (100%)
create mode 100644 tests/providers/common/io/operators/test_file_transfer.py
copy tests/{system/providers/google => providers/slack/transfers}/conftest.py
(82%)
create mode 100644 tests/providers/slack/transfers/test_base_sql_to_slack.py
create mode 100644 tests/providers/slack/transfers/test_sql_to_slack_webhook.py
copy tests/system/providers/slack/{example_sql_to_slack.py =>
example_sql_to_slack_webhook.py} (86%)