@@ -528,32 +528,57 @@ 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 ):
531+ def test_delete (self , mock_service , mock_bucket , caplog ):
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- 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
536+ bucket_method = mock_service .return_value .bucket
537+ blob = bucket_method .return_value .blob
538+ delete_method = bucket_method .return_value .delete_blobs
539539 delete_method .return_value = blob_to_be_deleted
540540
541- response = self .gcs_hook .delete (bucket_name = test_bucket , object_name = test_object )
541+ with caplog .at_level (logging .INFO ):
542+ response = self .gcs_hook .delete (bucket_name = test_bucket , object_name = test_object )
542543 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_with ([blob .return_value ], on_error = None )
547+ assert "Blob test_object deleted" in caplog .text
543548
544549 @mock .patch (GCS_STRING .format ("GCSHook.get_conn" ))
545- def test_delete_nonexisting_object (self , mock_service ):
550+ def test_delete_nonexisting_object (self , mock_service , caplog ):
546551 test_bucket = "test_bucket"
547552 test_object = "test_object"
548553
549554 bucket_method = mock_service .return_value .bucket
550555 blob = bucket_method .return_value .blob
551- delete_method = blob .return_value .delete
556+ delete_method = bucket_method .return_value .delete_blobs
552557 delete_method .side_effect = NotFound (message = "Not Found" )
553558
554- with pytest .raises (NotFound ):
559+ with pytest .raises (NotFound ), caplog . at_level ( logging . INFO ) :
555560 self .gcs_hook .delete (bucket_name = test_bucket , object_name = test_object )
556561
562+ bucket_method .assert_called_once_with (test_bucket )
563+ blob .assert_called_once_with (blob_name = test_object )
564+ delete_method .assert_called_once_with ([blob .return_value ], on_error = None )
565+ assert "does not exist" in caplog .text
566+
567+ @mock .patch (GCS_STRING .format ("GCSHook.get_conn" ))
568+ def test_delete_nonexisting_object_ignore_error (self , mock_service , caplog ):
569+ test_bucket = "test_bucket"
570+ test_object = "test_object"
571+
572+ bucket_method = mock_service .return_value .bucket
573+ blob = bucket_method .return_value .blob
574+ delete_method = bucket_method .return_value .delete_blobs
575+
576+ self .gcs_hook .delete (bucket_name = test_bucket , object_name = test_object , ignore_error = True )
577+
578+ bucket_method .assert_called_once_with (test_bucket )
579+ blob .assert_called_once_with (blob_name = test_object )
580+ delete_method .assert_called_once_with ([blob .return_value ], on_error = mock .ANY )
581+
557582 @mock .patch (GCS_STRING .format ("GCSHook.get_conn" ))
558583 def test_delete_exposes_lineage (self , mock_service , hook_lineage_collector ):
559584 test_bucket = "test_bucket"
0 commit comments