Implement real async COS image upload

This commit is contained in:
Tim
2025-07-01 10:18:53 +08:00
parent 48abc381db
commit 87b9e9acd3
8 changed files with 77 additions and 10 deletions

View File

@@ -1,14 +1,21 @@
package com.openisle.service;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.model.PutObjectRequest;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
class CosImageUploaderTest {
@Test
void uploadReturnsUrl() {
CosImageUploader uploader = new CosImageUploader("http://cos.example.com");
String url = uploader.upload("data".getBytes(), "img.png");
COSClient client = mock(COSClient.class);
CosImageUploader uploader = new CosImageUploader(client, "bucket", "http://cos.example.com");
String url = uploader.upload("data".getBytes(), "img.png").join();
verify(client).putObject(any(PutObjectRequest.class));
assertEquals("http://cos.example.com/img.png", url);
}
}