diff --git a/airflow/providers/alibaba/cloud/example_dags/__init__.py b/airflow/providers/alibaba/cloud/example_dags/__init__.py deleted file mode 100644 index 217e5db960782..0000000000000 --- a/airflow/providers/alibaba/cloud/example_dags/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. diff --git a/docs/apache-airflow-providers-alibaba/index.rst b/docs/apache-airflow-providers-alibaba/index.rst index fca2d993f395d..963cf911975f8 100644 --- a/docs/apache-airflow-providers-alibaba/index.rst +++ b/docs/apache-airflow-providers-alibaba/index.rst @@ -39,7 +39,7 @@ Content :maxdepth: 1 :caption: Resources - Example DAGs + Example DAGs PyPI Repository Installing from sources diff --git a/docs/apache-airflow-providers-alibaba/operators/oss.rst b/docs/apache-airflow-providers-alibaba/operators/oss.rst index 923f0bdd195fc..d09949be0be06 100644 --- a/docs/apache-airflow-providers-alibaba/operators/oss.rst +++ b/docs/apache-airflow-providers-alibaba/operators/oss.rst @@ -45,7 +45,7 @@ Defining tasks In the following code we create a new bucket and then delete the bucket. -.. exampleinclude:: /../../airflow/providers/alibaba/cloud/example_dags/example_oss_bucket.py +.. exampleinclude:: /../../tests/system/providers/alibaba/example_oss_bucket.py :language: python :start-after: [START howto_operator_oss_bucket] :end-before: [END howto_operator_oss_bucket] diff --git a/airflow/providers/alibaba/cloud/example_dags/example_oss_bucket.py b/tests/system/providers/alibaba/example_oss_bucket.py similarity index 74% rename from airflow/providers/alibaba/cloud/example_dags/example_oss_bucket.py rename to tests/system/providers/alibaba/example_oss_bucket.py index 6d16ce3feb23f..d87af7e0a89e9 100644 --- a/airflow/providers/alibaba/cloud/example_dags/example_oss_bucket.py +++ b/tests/system/providers/alibaba/example_oss_bucket.py @@ -17,15 +17,17 @@ # Ignore missing args provided by default_args # type: ignore[call-arg] - +import os from datetime import datetime from airflow.models.dag import DAG from airflow.providers.alibaba.cloud.operators.oss import OSSCreateBucketOperator, OSSDeleteBucketOperator +ENV_ID = os.environ.get("SYSTEM_TESTS_ENV_ID") +DAG_ID = "oss_bucket_dag" # [START howto_operator_oss_bucket] with DAG( - dag_id='oss_bucket_dag', + dag_id=DAG_ID, start_date=datetime(2021, 1, 1), default_args={'bucket_name': 'your bucket', 'region': 'your region'}, max_active_runs=1, @@ -38,4 +40,15 @@ delete_bucket = OSSDeleteBucketOperator(task_id='task2') create_bucket >> delete_bucket + + from tests.system.utils.watcher import watcher + + # This test needs watcher in order to properly mark success/failure + # when "tearDown" task with trigger rule is part of the DAG + list(dag.tasks) >> watcher() # [END howto_operator_oss_bucket] + +from tests.system.utils import get_test_run # noqa: E402 + +# Needed to run the example DAG with pytest (see: tests/system/README.md#run_via_pytest) +test_run = get_test_run(dag) diff --git a/airflow/providers/alibaba/cloud/example_dags/example_oss_object.py b/tests/system/providers/alibaba/example_oss_object.py similarity index 79% rename from airflow/providers/alibaba/cloud/example_dags/example_oss_object.py rename to tests/system/providers/alibaba/example_oss_object.py index ac3a07674492f..d648883aa7b8a 100644 --- a/airflow/providers/alibaba/cloud/example_dags/example_oss_object.py +++ b/tests/system/providers/alibaba/example_oss_object.py @@ -16,7 +16,7 @@ # under the License. # Ignore missing args provided by default_args # type: ignore[call-arg] - +import os from datetime import datetime from airflow.models.dag import DAG @@ -27,8 +27,10 @@ OSSUploadObjectOperator, ) +ENV_ID = os.environ.get("SYSTEM_TESTS_ENV_ID") +DAG_ID = "oss_object_dag" with DAG( - dag_id='oss_object_dag', + dag_id=DAG_ID, start_date=datetime(2021, 1, 1), default_args={'bucket_name': 'your bucket', 'region': 'your region'}, max_active_runs=1, @@ -59,3 +61,15 @@ ) create_object >> download_object >> delete_object >> delete_batch_object + + from tests.system.utils.watcher import watcher + + # This test needs watcher in order to properly mark success/failure + # when "tearDown" task with trigger rule is part of the DAG + list(dag.tasks) >> watcher() + + +from tests.system.utils import get_test_run # noqa: E402 + +# Needed to run the example DAG with pytest (see: tests/system/README.md#run_via_pytest) +test_run = get_test_run(dag)