diff --git a/engines/aio/src/test/java/org/alfresco/transform/aio/AIOHttpRequestTest.java b/engines/aio/src/test/java/org/alfresco/transform/aio/AIOHttpRequestTest.java deleted file mode 100644 index ea69c02c..00000000 --- a/engines/aio/src/test/java/org/alfresco/transform/aio/AIOHttpRequestTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.aio; - -import org.alfresco.transform.base.AbstractHttpRequestTest; - -/** - * Tests All-In-One using http and a server test harness. - */ -public class AIOHttpRequestTest extends AbstractHttpRequestTest -{ - @Override - protected String getTransformerName() - { - return "0060-AllInOne"; - } - - @Override - protected String getSourceExtension() - { - return "jpg"; - } -} diff --git a/engines/aio/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java b/engines/aio/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java index f93e4470..1c203927 100644 --- a/engines/aio/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java +++ b/engines/aio/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java @@ -39,8 +39,6 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; * @author David Edwards * created on 21/04/2020 */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = {"activemq.url=nio://localhost:61616"}) public class AIOQueueTransformServiceIT extends AbstractQueueTransformServiceIT { @Override diff --git a/engines/base/src/main/java/org/alfresco/transform/base/TransformHandler.java b/engines/base/src/main/java/org/alfresco/transform/base/TransformHandler.java index e0581b71..b50520dd 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/TransformHandler.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/TransformHandler.java @@ -123,7 +123,7 @@ public class TransformHandler private Map customTransformersByName = new HashMap<>(); @PostConstruct - public void init() + private void init() { initTransformEngine(); initProbeTestTransform(); @@ -312,7 +312,7 @@ public class TransformHandler @Override protected InputStream getInputStream(TransformManagerImpl transformManager) { - return getInputStreamFromHttp(requestParameters, sourceMultipartFile, transformManager); + return getInputStreamForHandleHttpRequest(requestParameters, sourceMultipartFile, transformManager); } @Override @@ -348,13 +348,13 @@ public class TransformHandler transformManager.setSourceFile(sourceFile); transformManager.setTargetFile(targetFile); transformManager.setSourceFileCreated(); - // we don't want to delete the target file. + // We don't want to delete the target file, so don't call setTargetFileCreated() } @Override protected InputStream getInputStream(TransformManagerImpl transformManager) { - return getInputStreamFromProb(sourceFile, transformManager); + return getInputStreamForHandleProbRequest(sourceFile, transformManager); } @Override @@ -389,7 +389,7 @@ public class TransformHandler @Override protected InputStream getInputStream(TransformManagerImpl transformManager) { - return getInputStreamFromMessage(request, transformManager); + return getInputStreamForHandleMessageRequest(request, transformManager); } @Override @@ -538,8 +538,8 @@ public class TransformHandler } } - private InputStream getInputStreamFromHttp(Map requestParameters, MultipartFile sourceMultipartFile, - TransformManagerImpl transformManager) + private InputStream getInputStreamForHandleHttpRequest(Map requestParameters, + MultipartFile sourceMultipartFile, TransformManagerImpl transformManager) { final String directUrl = requestParameters.getOrDefault(DIRECT_ACCESS_URL, ""); return transformManager.setInputStream(new BufferedInputStream(directUrl.isBlank() ? @@ -547,7 +547,7 @@ public class TransformHandler getDirectAccessUrlInputStream(directUrl))); } - private InputStream getInputStreamFromProb(File sourceFile, TransformManagerImpl transformManager) + private InputStream getInputStreamForHandleProbRequest(File sourceFile, TransformManagerImpl transformManager) { try { @@ -559,7 +559,8 @@ public class TransformHandler } } - private InputStream getInputStreamFromMessage(TransformRequest request, TransformManagerImpl transformManager) + private InputStream getInputStreamForHandleMessageRequest(TransformRequest request, + TransformManagerImpl transformManager) { final String directUrl = request.getTransformRequestOptions().getOrDefault(DIRECT_ACCESS_URL, ""); try diff --git a/engines/base/src/test/java/org/alfresco/transform/base/AbstractHttpRequestTest.java b/engines/base/src/test/java/org/alfresco/transform/base/AbstractHttpRequestTest.java deleted file mode 100644 index efd987dd..00000000 --- a/engines/base/src/test/java/org/alfresco/transform/base/AbstractHttpRequestTest.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.base; - -import static org.alfresco.transform.common.RequestParamMap.DIRECT_ACCESS_URL; -import static org.alfresco.transform.common.RequestParamMap.ENDPOINT_TRANSFORM; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.springframework.http.HttpMethod.POST; -import static org.springframework.http.MediaType.MULTIPART_FORM_DATA; -import static org.springframework.test.util.AssertionErrors.assertTrue; - -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.web.client.TestRestTemplate; -import org.springframework.boot.web.server.LocalServerPort; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; -import org.springframework.util.LinkedMultiValueMap; - -/** - * Super class with a server test harness, which talks to the TransformController using http. - */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes={org.alfresco.transform.base.Application.class}) -public abstract class AbstractHttpRequestTest -{ - @LocalServerPort - private int port; - - @Autowired - private TestRestTemplate restTemplate; - - protected abstract String getTransformerName(); - - protected abstract String getSourceExtension(); - - @Test - public void testPageExists() - { - String result = restTemplate.getForObject("http://localhost:" + port + "/", String.class); - - String title = getTransformerName() + " Test Page"; - assertTrue("\"" + title + "\" should be part of the page title", result.contains(title)); - } - - @Test - public void logPageExists() - { - String result = restTemplate.getForObject("http://localhost:" + port + "/log", - String.class); - - String title = getTransformerName() + " Log"; - assertTrue("\"" + title + "\" should be part of the page title", result.contains(title)); - } - - @Test - public void errorPageExists() - { - String result = restTemplate.getForObject("http://localhost:" + port + "/error", - String.class); - - String title = getTransformerName() + " Error Page"; - assertTrue("\"" + title + "\" should be part of the page title", result.contains(title)); - } - - @Test - public void noFileError() - { - LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); - parameters.add("targetExtension", ".tmp"); - - assertTransformError(false, "Required request part 'file' is not present", - parameters); - } - - protected void assertTransformError(boolean addFile, - String errorMessage, - LinkedMultiValueMap additionalParams) - { - LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); - if (addFile) - { - parameters.add("file", - new org.springframework.core.io.ClassPathResource("quick." + getSourceExtension())); - } - if (additionalParams != null) - { - parameters.addAll(additionalParams); - } - - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MULTIPART_FORM_DATA); - HttpEntity> entity = new HttpEntity<>(parameters, - headers); - - sendTranformationRequest(entity, errorMessage); - } - - @Test - public void httpTransformRequestDirectAccessUrlNotFoundTest() - { - String directUrl = "https://expired/direct/access/url"; - - LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); - parameters.add("targetExtension", ".tmp"); - parameters.add(DIRECT_ACCESS_URL, directUrl); - - assertTransformError(false, "Direct Access Url not found.", parameters); - } - - protected void sendTranformationRequest( - final HttpEntity> entity, final String errorMessage) - { - final ResponseEntity response = restTemplate.exchange(ENDPOINT_TRANSFORM, POST, entity, - String.class, ""); - assertEquals(errorMessage, getErrorMessage(response.getBody())); - } - - // Strip out just the error message from the returned json content body - // Had been expecting the Error page to be returned, but we end up with the json in this test harness. - // Is correct if run manually, so not worrying too much about this. - private String getErrorMessage(String content) - { - String message = ""; - int i = content.indexOf("\"message\":\""); - if (i != -1) - { - int j = content.indexOf("\",\"path\":", i); - if (j != -1) - { - message = content.substring(i + 11, j); - } - } - return message; - } -} diff --git a/engines/base/src/test/java/org/alfresco/transform/base/AbstractQueueTransformServiceIT.java b/engines/base/src/test/java/org/alfresco/transform/base/AbstractQueueTransformServiceIT.java index bb6d8d56..11fb7b2e 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/AbstractQueueTransformServiceIT.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/AbstractQueueTransformServiceIT.java @@ -26,12 +26,18 @@ */ package org.alfresco.transform.base; +import static org.alfresco.transform.messages.TransformStack.PIPELINE_FLAG; +import static org.alfresco.transform.messages.TransformStack.levelBuilder; +import static org.alfresco.transform.messages.TransformStack.setInitialTransformRequestOptions; import static org.junit.jupiter.api.Assertions.assertEquals; import javax.jms.Queue; +import org.alfresco.transform.client.model.InternalContext; import org.alfresco.transform.client.model.TransformReply; import org.alfresco.transform.client.model.TransformRequest; +import org.alfresco.transform.common.ExtensionService; +import org.alfresco.transform.messages.TransformStack; import org.apache.activemq.command.ActiveMQQueue; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -42,23 +48,39 @@ import org.springframework.jms.core.JmsTemplate; * @author Lucian Tuca * created on 15/01/2019 */ -@SpringBootTest(properties = {"activemq.url=nio://localhost:61616"}) +@SpringBootTest(classes={org.alfresco.transform.base.Application.class}, + webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, + properties = {"activemq.url=nio://localhost:61616"}) public abstract class AbstractQueueTransformServiceIT { @Autowired private Queue engineRequestQueue; - @Autowired private JmsTemplate jmsTemplate; - - private final ActiveMQQueue testingQueue = new ActiveMQQueue( - "org.alfresco.transform.engine.IT"); + private final ActiveMQQueue testingQueue = new ActiveMQQueue("org.alfresco.transform.engine.IT"); @Test public void queueTransformServiceIT() { TransformRequest request = buildRequest(); + // Router.initialiseContext(TransformRequest) + request.setInternalContext(InternalContext.initialise(request.getInternalContext())); + request.setTargetExtension(ExtensionService.getExtensionForTargetMimetype(request.getTargetMediaType(), + request.getSourceMediaType())); + request.getInternalContext().getMultiStep().setInitialRequestId(request.getRequestId()); + request.getInternalContext().getMultiStep().setInitialSourceMediaType(request.getSourceMediaType()); + request.getInternalContext().setTransformRequestOptions(request.getTransformRequestOptions()); + setInitialTransformRequestOptions(request.getInternalContext(), request.getTransformRequestOptions()); + TransformStack.setInitialSourceReference(request.getInternalContext(), request.getSourceReference()); + + TransformStack.addTransformLevel(request.getInternalContext(), levelBuilder(PIPELINE_FLAG) // pipeline of 1 + .withStep( + "transformerName", + request.getSourceMediaType(), + request.getTargetMediaType())); +// TransformStack.setReference(request.getInternalContext(), reference); + jmsTemplate.convertAndSend(engineRequestQueue, request, m -> { m.setJMSCorrelationID(request.getRequestId()); m.setJMSReplyTo(testingQueue); diff --git a/engines/base/src/test/java/org/alfresco/transform/base/EngineClient.java b/engines/base/src/test/java/org/alfresco/transform/base/EngineClient.java index 8a3674f2..244c00de 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/EngineClient.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/EngineClient.java @@ -33,8 +33,7 @@ public class EngineClient final String engineUrl, final String sourceFile, final String sourceMimetype, final String targetMimetype, final String targetExtension) { - return sendTRequest(engineUrl, sourceFile, sourceMimetype, targetMimetype, targetExtension, - emptyMap()); + return sendTRequest(engineUrl, sourceFile, sourceMimetype, targetMimetype, targetExtension, emptyMap()); } public static ResponseEntity sendTRequest( diff --git a/engines/base/src/test/java/org/alfresco/transform/base/HttpRequestTest.java b/engines/base/src/test/java/org/alfresco/transform/base/HttpRequestTest.java new file mode 100644 index 00000000..a11da146 --- /dev/null +++ b/engines/base/src/test/java/org/alfresco/transform/base/HttpRequestTest.java @@ -0,0 +1,113 @@ +/* + * #%L + * Alfresco Transform Core + * %% + * Copyright (C) 2005 - 2022 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.transform.base; + +import org.alfresco.transform.base.fakes.FakeTransformEngineWithTwoCustomTransformers; +import org.alfresco.transform.base.fakes.FakeTransformerPdf2Png; +import org.alfresco.transform.base.fakes.FakeTransformerTxT2Pdf; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.util.LinkedMultiValueMap; + +import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; +import static org.alfresco.transform.common.RequestParamMap.DIRECT_ACCESS_URL; +import static org.alfresco.transform.common.RequestParamMap.ENDPOINT_TRANSFORM; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_MIMETYPE; +import static org.alfresco.transform.common.RequestParamMap.TARGET_MIMETYPE; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.springframework.http.HttpMethod.POST; +import static org.springframework.http.MediaType.MULTIPART_FORM_DATA; + +/** + * Super class with a server test harness, which talks to the TransformController using http. + */ +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, + classes={org.alfresco.transform.base.Application.class}) +@ContextConfiguration(classes = { + FakeTransformEngineWithTwoCustomTransformers.class, + FakeTransformerTxT2Pdf.class, + FakeTransformerPdf2Png.class}) +public class HttpRequestTest +{ + @Autowired + private TestRestTemplate restTemplate; + + private static final HttpHeaders HEADERS = new HttpHeaders(); + static { + HEADERS.setContentType(MULTIPART_FORM_DATA); + } + + @Test + public void noFileError() + { + LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); + parameters.add(SOURCE_MIMETYPE, MIMETYPE_TEXT_PLAIN); + parameters.add(TARGET_MIMETYPE, MIMETYPE_PDF); + + ResponseEntity response = restTemplate.exchange(ENDPOINT_TRANSFORM, POST, + new HttpEntity<>(parameters, HEADERS), String.class, ""); + + assertTrue(response.getBody().contains("Required request part 'file' is not present")); + } + + @Test + public void httpTransformRequestDirectAccessUrlNotFoundTest() + { + LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); + parameters.add(DIRECT_ACCESS_URL, "https://expired/direct/access/url"); + parameters.add(SOURCE_MIMETYPE, MIMETYPE_TEXT_PLAIN); + parameters.add(TARGET_MIMETYPE, MIMETYPE_PDF); + parameters.add("file", new org.springframework.core.io.ClassPathResource("quick.txt")); + + ResponseEntity response = restTemplate.exchange(ENDPOINT_TRANSFORM, POST, + new HttpEntity<>(parameters, HEADERS), String.class, ""); + + assertTrue(response.getBody().contains("Direct Access Url not found.")); + } + + @Test + public void transform() + { + LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); + parameters.add(SOURCE_MIMETYPE, MIMETYPE_TEXT_PLAIN); + parameters.add(TARGET_MIMETYPE, MIMETYPE_PDF); + parameters.add("file", new org.springframework.core.io.ClassPathResource("quick.txt")); + + ResponseEntity response = restTemplate.exchange(ENDPOINT_TRANSFORM, POST, + new HttpEntity<>(parameters, HEADERS), String.class, ""); + + assertEquals("Original Text -> TxT2Pdf()", response.getBody()); + } +} diff --git a/engines/base/src/test/java/org/alfresco/transform/base/AllInOneTransformControllerTest.java b/engines/base/src/test/java/org/alfresco/transform/base/TransformControllerAllInOneTest.java similarity index 99% rename from engines/base/src/test/java/org/alfresco/transform/base/AllInOneTransformControllerTest.java rename to engines/base/src/test/java/org/alfresco/transform/base/TransformControllerAllInOneTest.java index 00291493..828ed96e 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/AllInOneTransformControllerTest.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/TransformControllerAllInOneTest.java @@ -91,7 +91,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. FakeTransformerPdf2Png.class, FakeTransformEngineWithOneCustomTransformer.class, FakeTransformerPdf2Jpg.class}) -public class AllInOneTransformControllerTest +public class TransformControllerAllInOneTest { @Autowired private MockMvc mockMvc; diff --git a/engines/base/src/test/java/org/alfresco/transform/base/TransformControllerTest.java b/engines/base/src/test/java/org/alfresco/transform/base/TransformControllerTest.java index 81b60419..fbd68519 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/TransformControllerTest.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/TransformControllerTest.java @@ -85,7 +85,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. /** * Testing base t-engine TransformController functionality. * - * Also see {@link AllInOneTransformControllerTest}. + * Also see {@link TransformControllerAllInOneTest}. */ @AutoConfigureMockMvc @SpringBootTest(classes={org.alfresco.transform.base.Application.class}) diff --git a/engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java b/engines/base/src/test/java/org/alfresco/transform/base/TransformHandlerTest.java similarity index 66% rename from engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java rename to engines/base/src/test/java/org/alfresco/transform/base/TransformHandlerTest.java index a717718b..8d8a3139 100644 --- a/engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/TransformHandlerTest.java @@ -2,7 +2,7 @@ * #%L * Alfresco Transform Core * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited + * Copyright (C) 2022 - 2022 Alfresco Software Limited * %% * This file is part of the Alfresco software. * - @@ -24,24 +24,16 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.libreoffice; +package org.alfresco.transform.base; -import org.alfresco.transform.base.AbstractHttpRequestTest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.web.servlet.MockMvc; -/** - * Tests LibreOffice using http and a server test harness. - */ -public class LibreOfficeHttpRequestTest extends AbstractHttpRequestTest +public class TransformHandlerTest { - @Override - protected String getTransformerName() - { - return "0020-LibreOffice"; - } + @Autowired + private MockMvc mockMvc; - @Override - protected String getSourceExtension() - { - return "doc"; - } + @Autowired + private TransformHandler transformHandler; } diff --git a/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java b/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java deleted file mode 100644 index d79b3edb..00000000 --- a/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.imagemagick; - -import org.alfresco.transform.base.AbstractHttpRequestTest; - -/** - * Tests ImageMagick using http and a server test harness. - */ -public class ImageMagickHttpRequestTest extends AbstractHttpRequestTest -{ - @Override - protected String getTransformerName() - { - return "0030-ImageMagick"; - } - - @Override - protected String getSourceExtension() - { - return "jpg"; - } -} diff --git a/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java b/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java index ab24f778..2c7cd80d 100644 --- a/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java +++ b/engines/imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java @@ -39,8 +39,6 @@ import org.springframework.boot.test.context.SpringBootTest; * @author Lucian Tuca * created on 15/01/2019 */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = {"activemq.url=nio://localhost:61616"}) public class ImageMagickQueueTransformServiceIT extends AbstractQueueTransformServiceIT { @Override diff --git a/engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java b/engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java index e680991d..7b9fc2ce 100644 --- a/engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java +++ b/engines/libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java @@ -38,8 +38,6 @@ import org.springframework.boot.test.context.SpringBootTest; * @author Lucian Tuca * created on 15/01/2019 */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = {"activemq.url=nio://localhost:61616"}) public class LibreOfficeQueueTransformServiceIT extends AbstractQueueTransformServiceIT { @Override diff --git a/engines/misc/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java b/engines/misc/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java index d870f552..5cea0fb1 100644 --- a/engines/misc/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java +++ b/engines/misc/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java @@ -35,8 +35,6 @@ import org.alfresco.transform.client.model.TransformRequest; import org.alfresco.transform.base.AbstractQueueTransformServiceIT; import org.springframework.boot.test.context.SpringBootTest; -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = {"activemq.url=nio://localhost:61616"}) public class MiscQueueTransformServiceIT extends AbstractQueueTransformServiceIT { @Override diff --git a/engines/misc/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java b/engines/misc/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java deleted file mode 100644 index 0ba4b17f..00000000 --- a/engines/misc/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.misc; - -import org.alfresco.transform.base.AbstractHttpRequestTest; - -/** - * Tests Misc using http and a server test harness. - */ -public class MiscTransformerHttpRequestTest extends AbstractHttpRequestTest -{ - @Override - protected String getTransformerName() - { - return "0050-Misc"; - } - - @Override - protected String getSourceExtension() - { - return "html"; - } -} diff --git a/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererHttpRequestTest.java b/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererHttpRequestTest.java deleted file mode 100644 index 66ae42d5..00000000 --- a/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererHttpRequestTest.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.pdfrenderer; - -import org.alfresco.transform.base.AbstractHttpRequestTest; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; - -/** - * Tests PdfRenderer using http and a server test harness. - */ -public class AlfrescoPdfRendererHttpRequestTest extends AbstractHttpRequestTest -{ - @Override - protected String getTransformerName() - { - return "0040-PdfRenderer"; - } - - @Override - protected String getSourceExtension() - { - return "pdf"; - } -} diff --git a/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java b/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java index d5a42590..bf114752 100644 --- a/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java +++ b/engines/pdfrenderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java @@ -39,8 +39,6 @@ import org.springframework.boot.test.context.SpringBootTest; * @author Lucian Tuca * created on 15/01/2019 */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = {"activemq.url=nio://localhost:61616"}) public class AlfrescoPdfRendererQueueTransformServiceIT extends AbstractQueueTransformServiceIT { @Override diff --git a/engines/tika/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java b/engines/tika/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java deleted file mode 100644 index dd219db6..00000000 --- a/engines/tika/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.tika; - -import org.alfresco.transform.base.AbstractHttpRequestTest; -import org.springframework.util.LinkedMultiValueMap; - -/** - * Tests Tika using http and a server test harness. - */ -public class TikaHttpRequestTest extends AbstractHttpRequestTest -{ - @Override - protected String getTransformerName() - { - return "0010-Tika"; - } - - @Override - protected String getSourceExtension() - { - return "pdf"; - } - - // Override method as Tika requires sourceMimetype - // If not provided then sourceMimetype request parameter error will be thrown. - @Override - protected void assertTransformError(boolean addFile, - String errorMessage, - LinkedMultiValueMap additionalParams) - { - LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); - parameters.add("sourceMimetype", "application/pdf"); - - if (additionalParams != null) - { - parameters.addAll(additionalParams); - } - - super.assertTransformError(addFile, errorMessage, parameters); - } -} diff --git a/engines/tika/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java b/engines/tika/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java index 25a75feb..7d1adfbb 100644 --- a/engines/tika/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java +++ b/engines/tika/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java @@ -39,8 +39,6 @@ import org.springframework.boot.test.context.SpringBootTest; * @author Lucian Tuca * created on 15/01/2019 */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = {"activemq.url=nio://localhost:61616"}) public class TikaQueueTransformServiceIT extends AbstractQueueTransformServiceIT { @Override diff --git a/engines/tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java b/engines/tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java index 669ff3b7..dfbbc29d 100644 --- a/engines/tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java +++ b/engines/tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java @@ -26,33 +26,28 @@ */ package org.alfresco.transform.tika; -import static java.text.MessageFormat.format; -import static java.util.function.Function.identity; -import static org.alfresco.transform.base.EngineClient.sendTRequest; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; -import static org.springframework.http.HttpStatus.OK; - -import java.util.Map; -import java.util.stream.Stream; - import com.google.common.collect.ImmutableMap; - import org.alfresco.transform.base.EngineClient; import org.apache.commons.lang3.tuple.Triple; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.core.io.Resource; import org.springframework.http.ResponseEntity; +import java.util.Map; +import java.util.stream.Stream; + +import static java.text.MessageFormat.format; +import static java.util.function.Function.identity; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; +import static org.springframework.http.HttpStatus.OK; + /** * @author Cezar Leahu */ public class TikaTransformationIT { - private static final Logger logger = LoggerFactory.getLogger(TikaTransformationIT.class); private static final String ENGINE_URL = "http://localhost:8090"; private static final Map extensionMimetype = ImmutableMap.of( "html", "text/html", @@ -60,8 +55,6 @@ public class TikaTransformationIT "xhtml", "application/xhtml+xml", "xml", "text/xml"); - - @ParameterizedTest @MethodSource("engineTransformations") public void testTransformation(Triple entry) @@ -77,9 +70,8 @@ public class TikaTransformationIT } else { - targetMimetype = extensionMimetype.get(entry.getMiddle()); + targetMimetype = extensionMimetype.get(targetExtension); } - final String descriptor = format("Transform ({0}, {1} -> {2}, {3})", sourceFile, sourceMimetype, targetMimetype, targetExtension);