def test_get_flow_from_file_azure_runs(monkeypatch): client = MagicMock(download_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) f = Flow("test") extract_flow_from_file = MagicMock(return_value=f) monkeypatch.setattr("prefect.storage.azure.extract_flow_from_file", extract_flow_from_file) storage = Azure(container="container", stored_as_script=True) assert f.name not in storage storage.add_flow(f) new_flow = storage.get_flow(f.name) assert client.download_blob.called assert extract_flow_from_file.call_args[1]["flow_name"] == f.name assert isinstance(new_flow, Flow) assert new_flow.name == "test" assert len(new_flow.tasks) == 0 state = new_flow.run() assert state.is_successful()
def test_get_flow_azure_runs(monkeypatch): client = MagicMock(download_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) f = Flow("test") monkeypatch.setattr("cloudpickle.loads", MagicMock(return_value=f)) storage = Azure(container="container") assert f.name not in storage storage.add_flow(f) new_flow = storage.get_flow(f.name) assert client.download_blob.called assert f.name in storage assert isinstance(new_flow, Flow) assert new_flow.name == "test" assert len(new_flow.tasks) == 0 state = new_flow.run() assert state.is_successful()
def test_add_flow_to_azure_already_added(monkeypatch): storage = Azure(container="container") f = Flow("test") assert f.name not in storage assert storage.add_flow(f) assert f.name in storage with pytest.raises(ValueError): storage.add_flow(f)
def test_add_flow_to_azure(): storage = Azure(container="test") f = Flow("test") assert f.name not in storage assert storage.add_flow(f) assert f.name in storage
def test_get_flow_azure(monkeypatch): client = MagicMock(download_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) f = Flow("test") monkeypatch.setattr("cloudpickle.loads", MagicMock(return_value=f)) storage = Azure(container="container") assert f.name not in storage storage.add_flow(f) assert storage.get_flow(f.name) assert client.download_blob.called assert f.name in storage
def test_add_multiple_flows_to_Azure(): storage = Azure(container="container") f = Flow("test") g = Flow("testg") assert f.name not in storage assert storage.add_flow(f) assert storage.add_flow(g) assert f.name in storage assert g.name in storage
def test_upload_flow_to_azure_blob_name(monkeypatch): client = MagicMock(upload_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) storage = Azure(container="container", blob_name="name") f = Flow("test") assert storage.add_flow(f) assert storage.build() assert service.get_blob_client.call_args[1]["container"] == "container" assert service.get_blob_client.call_args[1]["blob"] == "name"
def test_upload_flow_to_azure(monkeypatch): client = MagicMock(upload_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) storage = Azure(container="container") f = Flow("test") assert f.name not in storage assert storage.add_flow(f) assert storage.build() assert client.upload_blob.called assert f.name in storage
def test_upload_flow_to_azure_blob_overwrite(monkeypatch, overwrite): client = MagicMock(upload_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) storage = Azure(container="container", overwrite=overwrite) f = Flow("test") assert storage.add_flow(f) assert storage.build() client.upload_blob.assert_called_once_with(unittest.mock.ANY, overwrite=overwrite)
def test_upload_flow_to_azure(monkeypatch): client = MagicMock(upload_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) storage = Azure(container="container") f = Flow("test") assert f.name not in storage assert storage.add_flow(f) assert storage.build() client.upload_blob.assert_called_once_with(flow_to_bytes_pickle(f), overwrite=False) assert f.name in storage
def test_get_flow_azure_bucket_key(monkeypatch): client = MagicMock(download_blob=MagicMock()) service = MagicMock(get_blob_client=MagicMock(return_value=client)) monkeypatch.setattr("prefect.storage.Azure._azure_block_blob_service", service) f = Flow("test") monkeypatch.setattr("cloudpickle.loads", MagicMock(return_value=f)) storage = Azure(container="container", blob_name="name") assert f.name not in storage flow_location = storage.add_flow(f) assert storage.get_flow(f.name) assert service.get_blob_client.call_args[1]["container"] == "container" assert service.get_blob_client.call_args[1]["blob"] == flow_location