fix: return absolute upload file urls
parent
bae1c7b13c
commit
63d82cfe81
@ -0,0 +1,40 @@
|
||||
package com.sztzjy.linkCommerce.controller.common;
|
||||
|
||||
import com.sztzjy.linkCommerce.util.file.IFileUtil;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
class CommonUploadControllerTest {
|
||||
|
||||
@Test
|
||||
void uploadReturnsAbsoluteConfiguredFileUrl() {
|
||||
IFileUtil fileUtil = mock(IFileUtil.class);
|
||||
when(fileUtil.upload(any(MultipartFile.class))).thenReturn("/2026/8/1/example.docx");
|
||||
CommonUploadController controller = new CommonUploadController();
|
||||
ReflectionTestUtils.setField(controller, "fileUtil", fileUtil);
|
||||
ReflectionTestUtils.setField(controller, "fileUrl", "https://files.example.com/file/");
|
||||
|
||||
MockMultipartFile file = new MockMultipartFile(
|
||||
"file",
|
||||
"case.docx",
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
"case".getBytes(StandardCharsets.UTF_8)
|
||||
);
|
||||
|
||||
Map<String, Object> result = controller.upload(file);
|
||||
|
||||
assertEquals("https://files.example.com/file/2026/8/1/example.docx", result.get("url"));
|
||||
assertEquals(result.get("url"), result.get("fileName"));
|
||||
assertEquals("case.docx", result.get("originalFilename"));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue