Skip to content

Commit e7587b3

Browse files
authored
Fix the gcp_gcs_delete_objects on empty list (#32383)
1 parent becfb3c commit e7587b3

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

  • airflow/providers/google/cloud/operators
  • tests/providers/google/cloud/operators

airflow/providers/google/cloud/operators/gcs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ def execute(self, context: Context) -> None:
323323
impersonation_chain=self.impersonation_chain,
324324
)
325325

326-
if self.objects:
326+
if self.objects is not None:
327327
objects = self.objects
328328
else:
329329
objects = hook.list(bucket_name=self.bucket_name, prefix=self.prefix)

tests/providers/google/cloud/operators/test_gcs.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ def test_delete_objects(self, mock_hook):
124124
any_order=True,
125125
)
126126

127+
@mock.patch("airflow.providers.google.cloud.operators.gcs.GCSHook")
128+
def test_delete_empty_list_of_objects(self, mock_hook):
129+
operator = GCSDeleteObjectsOperator(task_id=TASK_ID, bucket_name=TEST_BUCKET, objects=[])
130+
131+
operator.execute(None)
132+
mock_hook.return_value.list.assert_not_called()
133+
mock_hook.return_value.delete.assert_not_called()
134+
127135
@mock.patch("airflow.providers.google.cloud.operators.gcs.GCSHook")
128136
def test_delete_prefix(self, mock_hook):
129137
mock_hook.return_value.list.return_value = MOCK_FILES[1:4]

0 commit comments

Comments
 (0)