def test_bucket_doesnt_exist_can_be_created_on_upload(self, monkeypatch): task = GCSUpload(bucket="test", create_bucket=True) client = MagicMock(get_bucket=MagicMock( side_effect=NotFound("no bucket"))) monkeypatch.setattr("prefect.tasks.google.storage.Credentials", MagicMock()) monkeypatch.setattr( "prefect.tasks.google.storage.storage.Client", MagicMock(return_value=client), ) task.run(data="empty", credentials={}) task.run(data="empty", bucket="run", credentials={}) assert client.create_bucket.called assert client.create_bucket.call_args_list[0][0][0] == "test" assert client.create_bucket.call_args_list[1][0][0] == "run"
def test_blob_name_can_be_overwritten_at_runtime_by_upload( self, monkeypatch): task = GCSUpload(bucket="test", blob="blobber") blob = MagicMock() client = MagicMock(get_bucket=MagicMock(return_value=MagicMock( blob=blob))) monkeypatch.setattr("prefect.tasks.google.storage.Credentials", MagicMock()) monkeypatch.setattr( "prefect.tasks.google.storage.storage.Client", MagicMock(return_value=client), ) task.run(data="empty", credentials={}) task.run(data="empty", blob="run-time", credentials={}) first, second = blob.call_args_list assert first[0] == ("blobber", ) assert second[0] == ("run-time", )
def test_bucket_doesnt_exist_can_be_created_on_upload(self, monkeypatch): task = GCSUpload(bucket="test", create_bucket=True) client = MagicMock(get_bucket=MagicMock( side_effect=NotFound("no bucket"))) monkeypatch.setattr("prefect.tasks.google.storage.Credentials", MagicMock()) monkeypatch.setattr( "prefect.tasks.google.storage.storage.Client", MagicMock(return_value=client), ) with set_temporary_config({"cloud.use_local_secrets": True}): with prefect.context(secrets=dict( GOOGLE_APPLICATION_CREDENTIALS={})): task.run(data="empty") task.run(data="empty", bucket="run") assert client.create_bucket.called assert client.create_bucket.call_args_list[0][0][0] == "test" assert client.create_bucket.call_args_list[1][0][0] == "run"
def test_blob_name_can_be_overwritten_at_runtime_by_upload( self, monkeypatch): task = GCSUpload(bucket="test", blob="blobber") blob = MagicMock() client = MagicMock(get_bucket=MagicMock(return_value=MagicMock( blob=blob))) monkeypatch.setattr("prefect.tasks.google.storage.Credentials", MagicMock()) monkeypatch.setattr( "prefect.tasks.google.storage.storage.Client", MagicMock(return_value=client), ) with set_temporary_config({"cloud.use_local_secrets": True}): with prefect.context(secrets=dict( encrypt="42", GOOGLE_APPLICATION_CREDENTIALS={})): task.run(data="empty") task.run(data="empty", blob="run-time") first, second = blob.call_args_list assert first[0] == ("blobber", ) assert second[0] == ("run-time", )