Skip to content

Commit d850b7c

Browse files
committed
Revert "GCSHook: Log NotFound error instead of raise on blob delete"
This reverts commit 6ba1f57eb153e0d26c9420dcff1ee4c7f06724a2.
1 parent 00a0dc9 commit d850b7c

File tree

2 files changed

+12
-25
lines changed
  • providers/google
    • src/airflow/providers/google/cloud/hooks
    • tests/unit/google/cloud/hooks

2 files changed

+12
-25
lines changed

providers/google/src/airflow/providers/google/cloud/hooks/gcs.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -715,16 +715,12 @@ def delete(self, bucket_name: str, object_name: str) -> None:
715715
client = self.get_conn()
716716
bucket = client.bucket(bucket_name)
717717
blob = bucket.blob(blob_name=object_name)
718+
blob.delete()
719+
get_hook_lineage_collector().add_input_asset(
720+
context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": blob.name}
721+
)
718722

719-
self.log.info("Deleting blob %s", object_name)
720-
try:
721-
blob.delete()
722-
get_hook_lineage_collector().add_input_asset(
723-
context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": blob.name}
724-
)
725-
self.log.info("Blob %s has been deleted", object_name)
726-
except NotFound:
727-
self.log.info("Blob %s does not exist", object_name)
723+
self.log.info("Blob %s deleted.", object_name)
728724

729725
def get_bucket(self, bucket_name: str) -> storage.Bucket:
730726
"""

providers/google/tests/unit/google/cloud/hooks/test_gcs.py

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -528,26 +528,21 @@ def test_rewrite_exposes_lineage(self, mock_service, hook_lineage_collector):
528528

529529
@mock.patch("google.cloud.storage.Bucket")
530530
@mock.patch(GCS_STRING.format("GCSHook.get_conn"))
531-
def test_delete(self, mock_service, mock_bucket, caplog):
531+
def test_delete(self, mock_service, mock_bucket):
532532
test_bucket = "test_bucket"
533533
test_object = "test_object"
534534
blob_to_be_deleted = storage.Blob(name=test_object, bucket=mock_bucket)
535535

536-
bucket_method = mock_service.return_value.bucket
537-
blob = bucket_method.return_value.blob
538-
delete_method = blob.return_value.delete
536+
get_bucket_method = mock_service.return_value.get_bucket
537+
get_blob_method = get_bucket_method.return_value.get_blob
538+
delete_method = get_blob_method.return_value.delete
539539
delete_method.return_value = blob_to_be_deleted
540540

541-
with caplog.at_level(logging.INFO):
542-
response = self.gcs_hook.delete(bucket_name=test_bucket, object_name=test_object)
541+
response = self.gcs_hook.delete(bucket_name=test_bucket, object_name=test_object)
543542
assert response is None
544-
bucket_method.assert_called_once_with(test_bucket)
545-
blob.assert_called_once_with(blob_name=test_object)
546-
delete_method.assert_called_once()
547-
assert "Blob test_object has been deleted" in caplog.text
548543

549544
@mock.patch(GCS_STRING.format("GCSHook.get_conn"))
550-
def test_delete_nonexisting_object(self, mock_service, caplog):
545+
def test_delete_nonexisting_object(self, mock_service):
551546
test_bucket = "test_bucket"
552547
test_object = "test_object"
553548

@@ -556,12 +551,8 @@ def test_delete_nonexisting_object(self, mock_service, caplog):
556551
delete_method = blob.return_value.delete
557552
delete_method.side_effect = NotFound(message="Not Found")
558553

559-
with caplog.at_level(logging.INFO):
554+
with pytest.raises(NotFound):
560555
self.gcs_hook.delete(bucket_name=test_bucket, object_name=test_object)
561-
bucket_method.assert_called_once_with(test_bucket)
562-
blob.assert_called_once_with(blob_name=test_object)
563-
delete_method.assert_called_once()
564-
assert "Blob test_object does not exist" in caplog.text
565556

566557
@mock.patch(GCS_STRING.format("GCSHook.get_conn"))
567558
def test_delete_exposes_lineage(self, mock_service, hook_lineage_collector):

0 commit comments

Comments
 (0)