From ceee8e153b76f7fbb23bd0e012965447e37c0eb6 Mon Sep 17 00:00:00 2001 From: Krystian Dabrowski Date: Wed, 9 Nov 2022 09:25:02 +0100 Subject: [PATCH] MNT-23248: [PaaS] Removing Ghostscript breaks TIFF rendering (TIFF to PDF) --- .../transform/aio/AIOImageMagickIT.java | 38 ++++++++++++++++++ engines/aio/src/test/resources/quick.tiff | Bin 0 -> 20746 bytes 2 files changed, 38 insertions(+) create mode 100644 engines/aio/src/test/resources/quick.tiff diff --git a/engines/aio/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java b/engines/aio/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java index 500c220e..8c622aa5 100644 --- a/engines/aio/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java +++ b/engines/aio/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java @@ -26,8 +26,46 @@ */ package org.alfresco.transform.aio; +import static java.text.MessageFormat.format; + +import static org.alfresco.transform.base.clients.HttpClient.sendTRequest; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_TIFF; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.springframework.http.HttpStatus.OK; + +import java.io.IOException; +import java.util.Map; + +import com.google.common.collect.ImmutableMap; + import org.alfresco.transform.imagemagick.ImageMagickTransformationIT; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.junit.jupiter.api.Test; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; public class AIOImageMagickIT extends ImageMagickTransformationIT { + + @Test + void testTransformTiffToPdf() throws IOException + { + final String sourceFile = "quick.tiff"; + final String targetExtension = "pdf"; + final String sourceMimetype = MIMETYPE_IMAGE_TIFF; + final String targetMimetype = MIMETYPE_PDF; + final Map tOptions = ImmutableMap.of("startPage", "0", "endPage", "0"); + + // when + final ResponseEntity response = sendTRequest("http://localhost:8090", sourceFile, sourceMimetype, + targetMimetype, targetExtension, tOptions); + + final String descriptor = format("Transform ({0}, {1} -> {2}, {3})", + sourceFile, sourceMimetype, targetMimetype, targetExtension); + assertEquals(OK, response.getStatusCode(), descriptor); + final PDDocument pdfFile = PDDocument.load(response.getBody().getInputStream()); + assertNotNull(pdfFile); + } } diff --git a/engines/aio/src/test/resources/quick.tiff b/engines/aio/src/test/resources/quick.tiff new file mode 100644 index 0000000000000000000000000000000000000000..e8069e0925ee016b0da0f30cb5de690e65aa75c6 GIT binary patch literal 20746 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