mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-08-14 17:58:27 +00:00
Save point: [skip ci]
* Remove *HttpRequestTests as they no longer add anthing
This commit is contained in:
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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";
|
||||
}
|
||||
}
|
@@ -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
|
||||
|
@@ -123,7 +123,7 @@ public class TransformHandler
|
||||
private Map<String, CustomTransformer> 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<String, String> requestParameters, MultipartFile sourceMultipartFile,
|
||||
TransformManagerImpl transformManager)
|
||||
private InputStream getInputStreamForHandleHttpRequest(Map<String, String> 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
|
||||
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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<String, Object> 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<String, Object> additionalParams)
|
||||
{
|
||||
LinkedMultiValueMap<String, Object> 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<LinkedMultiValueMap<String, Object>> entity = new HttpEntity<>(parameters,
|
||||
headers);
|
||||
|
||||
sendTranformationRequest(entity, errorMessage);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpTransformRequestDirectAccessUrlNotFoundTest()
|
||||
{
|
||||
String directUrl = "https://expired/direct/access/url";
|
||||
|
||||
LinkedMultiValueMap<String, Object> 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<LinkedMultiValueMap<String, Object>> entity, final String errorMessage)
|
||||
{
|
||||
final ResponseEntity<String> 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;
|
||||
}
|
||||
}
|
@@ -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);
|
||||
|
@@ -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<Resource> sendTRequest(
|
||||
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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<String, Object> parameters = new LinkedMultiValueMap<>();
|
||||
parameters.add(SOURCE_MIMETYPE, MIMETYPE_TEXT_PLAIN);
|
||||
parameters.add(TARGET_MIMETYPE, MIMETYPE_PDF);
|
||||
|
||||
ResponseEntity<String> 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<String, Object> 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<String> 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<String, Object> 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<String> response = restTemplate.exchange(ENDPOINT_TRANSFORM, POST,
|
||||
new HttpEntity<>(parameters, HEADERS), String.class, "");
|
||||
|
||||
assertEquals("Original Text -> TxT2Pdf()", response.getBody());
|
||||
}
|
||||
}
|
@@ -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;
|
@@ -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})
|
||||
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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;
|
||||
}
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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";
|
||||
}
|
||||
}
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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";
|
||||
}
|
||||
}
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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";
|
||||
}
|
||||
}
|
@@ -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
|
||||
|
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
* #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<String, Object> additionalParams)
|
||||
{
|
||||
LinkedMultiValueMap<String, Object> parameters = new LinkedMultiValueMap<>();
|
||||
parameters.add("sourceMimetype", "application/pdf");
|
||||
|
||||
if (additionalParams != null)
|
||||
{
|
||||
parameters.addAll(additionalParams);
|
||||
}
|
||||
|
||||
super.assertTransformError(addFile, errorMessage, parameters);
|
||||
}
|
||||
}
|
@@ -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
|
||||
|
@@ -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<String, String> 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<String, String, String> 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);
|
||||
|
Reference in New Issue
Block a user