mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-14 10:34:06 +02:00
# Description of Changes Please provide a summary of the changes, including: Refactor test imports and update Gradle file to include all Java files from the src directory --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details.
118 lines
4.2 KiB
Java
118 lines
4.2 KiB
Java
package stirling.software.SPDF.utils;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
import static org.junit.jupiter.api.Assertions.fail;
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
|
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.springframework.http.HttpHeaders;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.MediaType;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.mock.web.MockMultipartFile;
|
|
|
|
public class WebResponseUtilsTest {
|
|
|
|
@Test
|
|
public void testBoasToWebResponse() {
|
|
try {
|
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
baos.write("Sample PDF content".getBytes());
|
|
String docName = "sample.pdf";
|
|
|
|
ResponseEntity<byte[]> responseEntity =
|
|
WebResponseUtils.boasToWebResponse(baos, docName);
|
|
|
|
assertNotNull(responseEntity);
|
|
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
|
|
assertNotNull(responseEntity.getBody());
|
|
|
|
HttpHeaders headers = responseEntity.getHeaders();
|
|
assertNotNull(headers);
|
|
assertEquals(MediaType.APPLICATION_PDF, headers.getContentType());
|
|
assertNotNull(headers.getContentDisposition());
|
|
// assertEquals("attachment; filename=\"sample.pdf\"",
|
|
// headers.getContentDisposition().toString());
|
|
|
|
} catch (IOException e) {
|
|
fail("Exception thrown: " + e.getMessage());
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void testMultiPartFileToWebResponse() {
|
|
try {
|
|
byte[] fileContent = "Sample file content".getBytes();
|
|
MockMultipartFile file =
|
|
new MockMultipartFile("file", "sample.txt", "text/plain", fileContent);
|
|
|
|
ResponseEntity<byte[]> responseEntity =
|
|
WebResponseUtils.multiPartFileToWebResponse(file);
|
|
|
|
assertNotNull(responseEntity);
|
|
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
|
|
assertNotNull(responseEntity.getBody());
|
|
|
|
HttpHeaders headers = responseEntity.getHeaders();
|
|
assertNotNull(headers);
|
|
assertEquals(MediaType.TEXT_PLAIN, headers.getContentType());
|
|
assertNotNull(headers.getContentDisposition());
|
|
|
|
} catch (IOException e) {
|
|
fail("Exception thrown: " + e.getMessage());
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void testBytesToWebResponse() {
|
|
try {
|
|
byte[] bytes = "Sample bytes".getBytes();
|
|
String docName = "sample.txt";
|
|
MediaType mediaType = MediaType.TEXT_PLAIN;
|
|
|
|
ResponseEntity<byte[]> responseEntity =
|
|
WebResponseUtils.bytesToWebResponse(bytes, docName, mediaType);
|
|
|
|
assertNotNull(responseEntity);
|
|
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
|
|
assertNotNull(responseEntity.getBody());
|
|
|
|
HttpHeaders headers = responseEntity.getHeaders();
|
|
assertNotNull(headers);
|
|
assertEquals(MediaType.TEXT_PLAIN, headers.getContentType());
|
|
assertNotNull(headers.getContentDisposition());
|
|
|
|
} catch (IOException e) {
|
|
fail("Exception thrown: " + e.getMessage());
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void testPdfDocToWebResponse() {
|
|
try {
|
|
PDDocument document = new PDDocument();
|
|
document.addPage(new org.apache.pdfbox.pdmodel.PDPage());
|
|
String docName = "sample.pdf";
|
|
|
|
ResponseEntity<byte[]> responseEntity =
|
|
WebResponseUtils.pdfDocToWebResponse(document, docName);
|
|
|
|
assertNotNull(responseEntity);
|
|
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
|
|
assertNotNull(responseEntity.getBody());
|
|
|
|
HttpHeaders headers = responseEntity.getHeaders();
|
|
assertNotNull(headers);
|
|
assertEquals(MediaType.APPLICATION_PDF, headers.getContentType());
|
|
assertNotNull(headers.getContentDisposition());
|
|
|
|
} catch (IOException e) {
|
|
fail("Exception thrown: " + e.getMessage());
|
|
}
|
|
}
|
|
}
|