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}