This is an automated email from the ASF dual-hosted git repository.

vincbeck 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 f2dd350288 Resolve `GlueJobTrigger` serialization bug causing verbose 
to always be True (#43622)
f2dd350288 is described below

commit f2dd3502887e9f085e52de0e38692c1c173b3557
Author: Jim Baldwin <[email protected]>
AuthorDate: Wed Nov 6 03:01:17 2024 +1100

    Resolve `GlueJobTrigger` serialization bug causing verbose to always be 
True (#43622)
---
 .../airflow/providers/amazon/aws/triggers/glue.py  |  2 +-
 providers/tests/amazon/aws/operators/test_glue.py  | 25 ++++++++++++++++++++++
 providers/tests/amazon/aws/triggers/test_glue.py   | 18 ++++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/providers/src/airflow/providers/amazon/aws/triggers/glue.py 
b/providers/src/airflow/providers/amazon/aws/triggers/glue.py
index 3c966f6032..c4b0c38c66 100644
--- a/providers/src/airflow/providers/amazon/aws/triggers/glue.py
+++ b/providers/src/airflow/providers/amazon/aws/triggers/glue.py
@@ -62,7 +62,7 @@ class GlueJobCompleteTrigger(BaseTrigger):
             {
                 "job_name": self.job_name,
                 "run_id": self.run_id,
-                "verbose": str(self.verbose),
+                "verbose": self.verbose,
                 "aws_conn_id": self.aws_conn_id,
                 "job_poll_interval": self.job_poll_interval,
             },
diff --git a/providers/tests/amazon/aws/operators/test_glue.py 
b/providers/tests/amazon/aws/operators/test_glue.py
index 8243940e69..d01e807884 100644
--- a/providers/tests/amazon/aws/operators/test_glue.py
+++ b/providers/tests/amazon/aws/operators/test_glue.py
@@ -182,6 +182,31 @@ class TestGlueJobOperator:
         )
         assert glue.job_name == JOB_NAME
 
+    @mock.patch.object(GlueJobHook, "print_job_logs")
+    @mock.patch.object(GlueJobHook, "get_job_state")
+    @mock.patch.object(GlueJobHook, "initialize_job")
+    @mock.patch.object(GlueJobHook, "get_conn")
+    @mock.patch.object(S3Hook, "load_file")
+    def test_execute_without_verbose_logging(
+        self, mock_load_file, mock_get_conn, mock_initialize_job, 
mock_get_job_state, mock_print_job_logs
+    ):
+        glue = GlueJobOperator(
+            task_id=TASK_ID,
+            job_name=JOB_NAME,
+            script_location="s3_uri",
+            s3_bucket="bucket_name",
+            iam_role_name="role_arn",
+            verbose=False,
+        )
+        mock_initialize_job.return_value = {"JobRunState": "RUNNING", 
"JobRunId": JOB_RUN_ID}
+        mock_get_job_state.return_value = "SUCCEEDED"
+
+        glue.execute(mock.MagicMock())
+
+        mock_initialize_job.assert_called_once_with({}, {})
+        mock_print_job_logs.assert_not_called()
+        assert glue.job_name == JOB_NAME
+
     @mock.patch.object(GlueJobHook, "print_job_logs")
     @mock.patch.object(GlueJobHook, "job_completion")
     @mock.patch.object(GlueJobHook, "initialize_job")
diff --git a/providers/tests/amazon/aws/triggers/test_glue.py 
b/providers/tests/amazon/aws/triggers/test_glue.py
index e39e38d8b7..2f4830bb86 100644
--- a/providers/tests/amazon/aws/triggers/test_glue.py
+++ b/providers/tests/amazon/aws/triggers/test_glue.py
@@ -82,6 +82,24 @@ class TestGlueJobTrigger:
 
         assert get_state_mock.call_count == 3
 
+    def test_serialization(self):
+        trigger = GlueJobCompleteTrigger(
+            job_name="job_name",
+            run_id="JobRunId",
+            verbose=False,
+            aws_conn_id="aws_conn_id",
+            job_poll_interval=0.1,
+        )
+        classpath, kwargs = trigger.serialize()
+        assert classpath == 
"airflow.providers.amazon.aws.triggers.glue.GlueJobCompleteTrigger"
+        assert kwargs == {
+            "job_name": "job_name",
+            "run_id": "JobRunId",
+            "verbose": False,
+            "aws_conn_id": "aws_conn_id",
+            "job_poll_interval": 0.1,
+        }
+
 
 class TestGlueCatalogPartitionSensorTrigger:
     @pytest.mark.asyncio

Reply via email to