31 lines
1004 B
Python
31 lines
1004 B
Python
import unittest
|
|
from unittest.mock import Mock, patch
|
|
|
|
from api.services.memoir_images.storage import TencentCosStorageService
|
|
|
|
|
|
class MemoirImageStorageTest(unittest.TestCase):
|
|
@patch("api.services.memoir_images.storage.CosS3Client")
|
|
def test_upload_bytes_returns_persistent_cos_url(self, client_cls):
|
|
client = Mock()
|
|
client_cls.return_value = client
|
|
storage = TencentCosStorageService(
|
|
secret_id="id",
|
|
secret_key="key",
|
|
region="ap-shanghai",
|
|
bucket="memoir-1250000000",
|
|
base_url="https://memoir-1250000000.cos.ap-shanghai.myqcloud.com",
|
|
)
|
|
|
|
url = storage.upload_bytes(
|
|
image_bytes=b"png-bytes",
|
|
key="memoirs/u1/c1/0-demo.png",
|
|
content_type="image/png",
|
|
)
|
|
|
|
self.assertEqual(
|
|
url,
|
|
"https://memoir-1250000000.cos.ap-shanghai.myqcloud.com/memoirs/u1/c1/0-demo.png",
|
|
)
|
|
client.put_object.assert_called_once()
|