gpt4 book ai didi

google-api - 模拟访问公共(public) GCS 存储桶的结果

转载 作者:行者123 更新时间:2023-12-02 11:19:00 25 4
gpt4 key购买 nike

我有以下代码:

bucket = get_bucket('bucket-name')
blob = bucket.blob(os.path.join(*pieces))
blob.upload_from_string('test')
blob.make_public()
result = blob.public_url
# result is `<Mock name='mock().get_bucket().blob().public_url`

我想模拟public_url的结果,我的单元测试代码是这样的
with ExitStack() as st:
from google.cloud import storage
blob_mock = mock.Mock(spec=storage.Blob)
blob_mock.public_url.return_value = 'http://'

bucket_mock = mock.Mock(spec=storage.Bucket)
bucket_mock.blob.return_value = blob_mock

storage_client_mock = mock.Mock(spec=storage.Client)
storage_client_mock.get_bucket.return_value = bucket_mock

st.enter_context(
mock.patch('google.cloud.storage.Client', storage_client_mock))
my_function()

有没有类似 FakeRedis 的东西或 moto用于 Google 存储,所以我可以模拟 google.cloud.storage.Blob.public_url ?

最佳答案

我找到了 fake gcs server用 Go 编写,可以在 Docker 容器中运行并由 Python 库使用。见 Python examples .

关于google-api - 模拟访问公共(public) GCS 存储桶的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51899612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com