package jnpf.upload.controller;
|
|
import org.dromara.x.file.storage.core.FileInfo;
|
import org.dromara.x.file.storage.core.FileStorageService;
|
import org.dromara.x.file.storage.core.upload.UploadPretreatment;
|
import org.junit.Test;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertTrue;
|
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.when;
|
|
public class FileUploadControllerTest {
|
|
@Test
|
public void replaceFileKeepsStorageFilename() {
|
FileStorageService storage = mock(FileStorageService.class);
|
UploadPretreatment upload = mock(UploadPretreatment.class);
|
MultipartFile file = mock(MultipartFile.class);
|
FileInfo stored = new FileInfo();
|
stored.setFilename("template.docx");
|
when(storage.of(file)).thenReturn(upload);
|
when(upload.setPath("WebAnnexFile/")).thenReturn(upload);
|
when(upload.setOriginalFilename("template.docx")).thenReturn(upload);
|
when(upload.setSaveFilename("template.docx")).thenReturn(upload);
|
when(upload.upload()).thenReturn(stored);
|
|
assertTrue(new FileUploadController(storage).replaceFile(file, "WebAnnexFile/", "template.docx"));
|
verify(upload).setSaveFilename("template.docx");
|
}
|
|
@Test
|
public void replaceFileRejectsUnexpectedStorageFilename() {
|
FileStorageService storage = mock(FileStorageService.class);
|
UploadPretreatment upload = mock(UploadPretreatment.class);
|
MultipartFile file = mock(MultipartFile.class);
|
FileInfo stored = new FileInfo();
|
stored.setFilename("generated.docx");
|
when(storage.of(file)).thenReturn(upload);
|
when(upload.setPath("WebAnnexFile/")).thenReturn(upload);
|
when(upload.setOriginalFilename("template.docx")).thenReturn(upload);
|
when(upload.setSaveFilename("template.docx")).thenReturn(upload);
|
when(upload.upload()).thenReturn(stored);
|
|
assertFalse(new FileUploadController(storage).replaceFile(file, "WebAnnexFile/", "template.docx"));
|
}
|
}
|