This is an automated email from the ASF dual-hosted git repository.
eladkal 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 4beb30212c Add a templating test to `SparkSqlOperator` (#38184)
4beb30212c is described below
commit 4beb30212c5250a7852368516922ff023685a570
Author: Shahar Epstein <[email protected]>
AuthorDate: Fri Mar 15 20:59:03 2024 +0200
Add a templating test to `SparkSqlOperator` (#38184)
---
.../apache/spark/operators/test_spark_sql.py | 25 ++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/tests/providers/apache/spark/operators/test_spark_sql.py
b/tests/providers/apache/spark/operators/test_spark_sql.py
index 8bfa4b1ed6..83f1b26825 100644
--- a/tests/providers/apache/spark/operators/test_spark_sql.py
+++ b/tests/providers/apache/spark/operators/test_spark_sql.py
@@ -17,12 +17,14 @@
# under the License.
from __future__ import annotations
-import datetime
+import pytest
+from airflow.exceptions import AirflowProviderDeprecationWarning
from airflow.models.dag import DAG
from airflow.providers.apache.spark.operators.spark_sql import SparkSqlOperator
+from airflow.utils import timezone
-DEFAULT_DATE = datetime.datetime(2017, 1, 1)
+DEFAULT_DATE = timezone.datetime(2024, 2, 1, tzinfo=timezone.utc)
class TestSparkSqlOperator:
@@ -64,3 +66,22 @@ class TestSparkSqlOperator:
assert self._config["num_executors"] == operator._num_executors
assert self._config["verbose"] == operator._verbose
assert self._config["yarn_queue"] == operator._yarn_queue
+
+ @pytest.mark.db_test
+ def test_templating(self, create_task_instance_of_operator):
+ ti = create_task_instance_of_operator(
+ SparkSqlOperator,
+ # Templated fields
+ sql="{{ 'sql' }}",
+ # Other parameters
+ dag_id="test_template_body_templating_dag",
+ task_id="test_template_body_templating_task",
+ execution_date=timezone.datetime(2024, 2, 1, tzinfo=timezone.utc),
+ )
+ ti.render_templates()
+ task: SparkSqlOperator = ti.task
+ assert task.sql == "sql"
+
+ # Deprecated aliases
+ with pytest.warns(AirflowProviderDeprecationWarning):
+ assert task._sql == "sql"