| | |
| | | .isInstanceOf(BusinessException.class) |
| | | .hasMessageContaining("Only JPG, PNG, and WEBP"); |
| | | } |
| | | |
| | | @Test |
| | | void savesPdfWithGeneratedFilename() throws Exception { |
| | | ImageUploadService service = new ImageUploadService(temporaryDirectory); |
| | | MockMultipartFile pdf = new MockMultipartFile("file", "window.pdf", "application/pdf", "%PDF-1.7".getBytes()); |
| | | |
| | | ImageUploadResult result = service.uploadPdf(pdf); |
| | | |
| | | assertThat(result.url()).matches("/uploads/[0-9a-f-]+\\.pdf"); |
| | | try (Stream<Path> files = Files.list(temporaryDirectory)) { |
| | | assertThat(files).hasSize(1); |
| | | } |
| | | } |
| | | |
| | | @Test |
| | | void rejectsNonPdfUploads() { |
| | | ImageUploadService service = new ImageUploadService(temporaryDirectory); |
| | | MockMultipartFile image = new MockMultipartFile("file", "window.pdf", "application/pdf", "not a pdf".getBytes()); |
| | | |
| | | assertThatThrownBy(() -> service.uploadPdf(image)) |
| | | .isInstanceOf(BusinessException.class) |
| | | .hasMessageContaining("仅支持 PDF"); |
| | | } |
| | | } |