diff --git a/alfresco-docker-alfresco-pdf-renderer/src/test/java/org/alfresco/transformer/AlfrescoPdfRendererControllerTest.java b/alfresco-docker-alfresco-pdf-renderer/src/test/java/org/alfresco/transformer/AlfrescoPdfRendererControllerTest.java index 15ffbd28..1cae4568 100644 --- a/alfresco-docker-alfresco-pdf-renderer/src/test/java/org/alfresco/transformer/AlfrescoPdfRendererControllerTest.java +++ b/alfresco-docker-alfresco-pdf-renderer/src/test/java/org/alfresco/transformer/AlfrescoPdfRendererControllerTest.java @@ -26,13 +26,17 @@ package org.alfresco.transformer; import org.junit.Before; +import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import java.io.IOException; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + /** * Test the AlfrescoPdfRendererControllerTest without a server. * Super class includes tests for the AbstractTransformerController. @@ -49,4 +53,44 @@ public class AlfrescoPdfRendererControllerTest extends AbstractTransformerContro { super.mockTransformCommand(controller, "pdf", "png", "application/pdf"); } + + @Test + public void optionsTest() throws Exception + { + expectedOptions = "--width=321 --height=654 --allow-enlargement --maintain-aspect-ratio --page=2"; + mockMvc.perform(MockMvcRequestBuilders.fileUpload("/transform") + .file(sourceFile) + .param("targetExtension", targetExtension) + + .param("page", "2") + + .param("width", "321") + .param("height", "654") + .param("allowEnlargement", "true") + .param("maintainAspectRatio", "true")) + + .andExpect(status().is(200)) + .andExpect(content().bytes(expectedTargetFileBytes)) + .andExpect(header().string("Content-Disposition", "attachment; filename*= UTF-8''quick."+targetExtension)); + } + + @Test + public void optionsNegateBooleansTest() throws Exception + { + expectedOptions = "--width=321 --height=654 --page=2"; + mockMvc.perform(MockMvcRequestBuilders.fileUpload("/transform") + .file(sourceFile) + .param("targetExtension", targetExtension) + + .param("page", "2") + + .param("width", "321") + .param("height", "654") + .param("allowEnlargement", "false") + .param("maintainAspectRatio", "false")) + + .andExpect(status().is(200)) + .andExpect(content().bytes(expectedTargetFileBytes)) + .andExpect(header().string("Content-Disposition", "attachment; filename*= UTF-8''quick."+targetExtension)); + } } diff --git a/alfresco-docker-imagemagick/src/test/java/org/alfresco/transformer/ImageMagickControllerTest.java b/alfresco-docker-imagemagick/src/test/java/org/alfresco/transformer/ImageMagickControllerTest.java index 477165da..2d8a6029 100644 --- a/alfresco-docker-imagemagick/src/test/java/org/alfresco/transformer/ImageMagickControllerTest.java +++ b/alfresco-docker-imagemagick/src/test/java/org/alfresco/transformer/ImageMagickControllerTest.java @@ -107,8 +107,42 @@ public class ImageMagickControllerTest extends AbstractTransformerControllerTest .param("resizeHeight", "654") .param("resizePercentage", "true") .param("allowEnlargement", "true") - .param("maintainAspectRatio", "true") - ) + .param("maintainAspectRatio", "true")) + + .andExpect(status().is(200)) + .andExpect(content().bytes(expectedTargetFileBytes)) + .andExpect(header().string("Content-Disposition", "attachment; filename*= UTF-8''quick."+targetExtension)); + } + + @Test + public void optionsNegateBooleansTest() throws Exception + { + expectedOptions = "-auto-orient -gravity SouthEast -crop 123x456+90+12 +repage -resize 321x654>"; + expectedSourceSuffix = "[2-3]"; + mockMvc.perform(MockMvcRequestBuilders.fileUpload("/transform") + .file(sourceFile) + .param("targetExtension", targetExtension) + + .param("startPage", "2") + .param("endPage", "3") + + .param("alphaRemove", "false") + .param("autoOrient", "true") + + .param("cropGravity", "SouthEast") + .param("cropWidth", "123") + .param("cropHeight", "456") + .param("cropPercentage", "false") + .param("cropXOffset", "90") + .param("cropYOffset", "12") + + .param("thumbnail", "false") + .param("resizeWidth", "321") + .param("resizeHeight", "654") + .param("resizePercentage", "false") + .param("allowEnlargement", "false") + .param("maintainAspectRatio", "false")) + .andExpect(status().is(200)) .andExpect(content().bytes(expectedTargetFileBytes)) .andExpect(header().string("Content-Disposition", "attachment; filename*= UTF-8''quick."+targetExtension)); diff --git a/alfresco-transformer-base/src/test/java/org/alfresco/transformer/AbstractTransformerControllerTest.java b/alfresco-transformer-base/src/test/java/org/alfresco/transformer/AbstractTransformerControllerTest.java index 40dfcd96..92f2ec33 100644 --- a/alfresco-transformer-base/src/test/java/org/alfresco/transformer/AbstractTransformerControllerTest.java +++ b/alfresco-transformer-base/src/test/java/org/alfresco/transformer/AbstractTransformerControllerTest.java @@ -273,6 +273,15 @@ public abstract class AbstractTransformerControllerTest .andExpect(status().reason(containsString("The source filename was not supplied"))); } + @Test + public void noTargetExtensionTest() throws Exception + { + mockMvc.perform(MockMvcRequestBuilders.fileUpload("/transform") + .file(sourceFile)) + .andExpect(status().is(400)) + .andExpect(status().reason(containsString("Request parameter targetExtension is missing"))); + } + // @Test // // Not a real test, but helpful for trying out the duration times in log code. // public void testTimes() throws InterruptedException diff --git a/pom.xml b/pom.xml index 32f033a5..e7d5bee8 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 2.0.8 3.5.37 1.5.10.RELEASE - 6.18 + 7.2 3.0.1.1 ${project.version}