@@ -52,6 +52,9 @@ def azure_blob_handler_mocked(mock_from_connection_string):
5252 blob_name = "some_blob_name"
5353 handler = AzureBlobHandler (connection_string , container_name , blob_name )
5454
55+ handler ._blob_client .container_name = "some_container_name"
56+ handler ._blob_client .blob_name = "some_blob_name"
57+
5558 remote_content = open (REMOTE_FILE_PATH , mode = "r" ).read ()
5659 handler ._blob_client .download_blob .return_value .readinto .side_effect = (
5760 lambda buffer : handler .write (remote_content )
@@ -271,6 +274,34 @@ def test_push(self, azure_blob_handler_mocked):
271274 content , overwrite = True
272275 )
273276
277+ @patch ("fourinsight.engineroom.utils._core.ContainerClient" )
278+ def test_blob_client_is_constructed_from_url (self , mock_container_client_cls ):
279+ AzureBlobHandler .from_container_url ("some container" , "state/state.json" )
280+ mock_container_client_cls .from_container_url .assert_called_once_with (
281+ "some container"
282+ )
283+
284+ @patch ("fourinsight.engineroom.utils._core.ContainerClient" )
285+ def test_blob_client_gets_correct_blob (self , mock_container_client_cls ):
286+ AzureBlobHandler .from_container_url ("some container" , "state/state.json" )
287+ mock_container_client_cls .from_container_url ().get_blob_client .assert_called_once_with (
288+ "state/state.json"
289+ )
290+
291+ @patch ("fourinsight.engineroom.utils._core.ContainerClient" )
292+ def test_repr (self , mock_container_client_cls ):
293+ mock_blob_client = MagicMock ()
294+ mock_blob_client .container_name = "my-project"
295+ mock_blob_client .blob_name = "state/state.json"
296+ mock_container_client_cls .from_container_url ().get_blob_client .return_value = (
297+ mock_blob_client
298+ )
299+
300+ handler = AzureBlobHandler .from_container_url (
301+ "some container" , "state/state.json"
302+ )
303+ assert repr (handler ) == "AzureBlobHandler my-project/state/state.json"
304+
274305
275306class Test_PersistentDict :
276307 def test__init__ (self , local_file_handler_empty ):
0 commit comments