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