|
20 | 20 | from unittest import mock
|
21 | 21 |
|
22 | 22 | import pytest
|
| 23 | +from azure.core.exceptions import ResourceNotFoundError |
23 | 24 | from azure.storage.blob import BlobServiceClient
|
24 | 25 | from azure.storage.blob._models import BlobProperties
|
25 | 26 |
|
@@ -518,6 +519,26 @@ def test_delete_container(self, mocked_blob_service_client):
|
518 | 519 | mocked_container_client.assert_called_once_with("mycontainer")
|
519 | 520 | mocked_container_client.return_value.delete_container.assert_called()
|
520 | 521 |
|
| 522 | + @pytest.mark.parametrize("exc", [ValueError, RuntimeError]) |
| 523 | + def test_delete_container_generic_exception(self, exc: type[Exception], caplog): |
| 524 | + hook = WasbHook(wasb_conn_id=self.azure_shared_key_test) |
| 525 | + with mock.patch.object(WasbHook, "_get_container_client") as m: |
| 526 | + m.return_value.delete_container.side_effect = exc("FakeException") |
| 527 | + caplog.clear() |
| 528 | + caplog.set_level("ERROR") |
| 529 | + with pytest.raises(exc, match="FakeException"): |
| 530 | + hook.delete_container("mycontainer") |
| 531 | + assert "Error deleting container: mycontainer" in caplog.text |
| 532 | + |
| 533 | + def test_delete_container_resource_not_found(self, caplog): |
| 534 | + hook = WasbHook(wasb_conn_id=self.azure_shared_key_test) |
| 535 | + with mock.patch.object(WasbHook, "_get_container_client") as m: |
| 536 | + m.return_value.delete_container.side_effect = ResourceNotFoundError("FakeException") |
| 537 | + caplog.clear() |
| 538 | + caplog.set_level("WARNING") |
| 539 | + hook.delete_container("mycontainer") |
| 540 | + assert "Unable to delete container mycontainer (not found)" in caplog.text |
| 541 | + |
521 | 542 | @mock.patch.object(WasbHook, "delete_blobs")
|
522 | 543 | def test_delete_single_blob(self, delete_blobs, mocked_blob_service_client):
|
523 | 544 | hook = WasbHook(wasb_conn_id=self.azure_shared_key_test)
|
|
0 commit comments