mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-08-14 17:58:27 +00:00
Save point: [skip ci]
* Rename AbstractQueueTransformServiceIT to AbstractQueueTest and change names of subclasses Cleaned up the logic and added a comment to say what it was doing (sends messages ok, but fails the transform) * Clean up application-default.yaml values (duplicate values) * Renamed probe test files to be probe.???
This commit is contained in:
@@ -1,23 +1,2 @@
|
||||
queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.aio.acs}
|
||||
transform:
|
||||
core:
|
||||
version: @project.version@
|
||||
pdfrenderer:
|
||||
exe: ${PDFRENDERER_EXE:/usr/bin/alfresco-pdf-renderer}
|
||||
libreoffice:
|
||||
path: ${LIBREOFFICE_HOME:/opt/libreoffice7.2}
|
||||
maxTasksPerProcess: ${LIBREOFFICE_MAX_TASKS_PER_PROCESS:200}
|
||||
timeout: ${LIBREOFFICE_TIMEOUT:1200000}
|
||||
portNumbers: ${LIBREOFFICE_PORT_NUMBERS:8100}
|
||||
templateProfileDir: ${LIBREOFFICE_TEMPLATE_PROFILE_DIR:}
|
||||
isEnabled: ${LIBREOFFICE_IS_ENABLED:true}
|
||||
imagemagick:
|
||||
root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.10}
|
||||
dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.10/lib}
|
||||
exe: ${IMAGEMAGICK_EXE:/usr/bin/convert}
|
||||
coders: ${IMAGEMAGICK_CODERS:}
|
||||
config: ${IMAGEMAGICK_CONFIG:}
|
||||
tika:
|
||||
pdfBox:
|
||||
notExtractBookmarksTextDefault: ${PDFBOX_NOTEXTRACTBOOKMARKS_DEFAULT:false}
|
@@ -1 +0,0 @@
|
||||
#logging.level.org.alfresco.transformer.metadataExtractors=debug
|
@@ -26,9 +26,8 @@
|
||||
*/
|
||||
package org.alfresco.transform.aio;
|
||||
|
||||
import org.alfresco.transform.base.AbstractQueueTransformServiceIT;
|
||||
import org.alfresco.transform.base.AbstractQueueTest;
|
||||
import org.alfresco.transform.client.model.TransformRequest;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -39,7 +38,7 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN;
|
||||
* @author David Edwards
|
||||
* created on 21/04/2020
|
||||
*/
|
||||
public class AIOQueueTransformServiceIT extends AbstractQueueTransformServiceIT
|
||||
public class AIOQueueTest extends AbstractQueueTest
|
||||
{
|
||||
@Override
|
||||
protected TransformRequest buildRequest()
|
@@ -19,8 +19,9 @@ A T-Engine project which extends this base is expected to provide the following:
|
||||
* An implementation of the [TransformEngine](https://github.com/Alfresco/alfresco-transform-core/blob/master/engines/base/src/main/java/org/alfresco/transform/base/TransformEngine.java)
|
||||
interface to describe the T-Engine.
|
||||
* Implementations of the [CustomTransformer](engines/base/src/main/java/org/alfresco/transform/base/CustomTransformer.java)
|
||||
interface with the actual transform code.
|
||||
|
||||
interface with the actual transform code.
|
||||
* An `application-default.yaml` file to define a unique name for the message queue to the T-Engine.
|
||||
|
||||
The `TransformEngine` and `CustomTransformer` implementations should have an
|
||||
`@Component` annotation and be in or below the`org.alfresco.transform` package, so
|
||||
that they will be discovered by the base T-Engine.
|
||||
@@ -72,7 +73,7 @@ public class HelloTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("jane.txt", "text/plain", "text/plain",
|
||||
return new ProbeTransform("probe.txt", "text/plain", "text/plain",
|
||||
ImmutableMap.of("sourceEncoding", "UTF-8", "language", "English"),
|
||||
11, 10, 150, 1024, 1, 60 * 2);
|
||||
}
|
||||
@@ -141,7 +142,15 @@ public class HelloTransformer implements CustomTransformer
|
||||
}
|
||||
```
|
||||
|
||||
**Example `ProbeTransform` test file** `jane.txt`
|
||||
**Example properties** `resources/application-default.yaml`
|
||||
|
||||
As can be seen the following defines a default which can be overridden by an environment variable.
|
||||
```yaml
|
||||
queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.libreoffice.acs}
|
||||
```
|
||||
|
||||
**Example ProbeTransform test file** `resources/probe.txt`
|
||||
```json
|
||||
Jane
|
||||
```
|
@@ -29,12 +29,7 @@ transform:
|
||||
logging:
|
||||
level:
|
||||
# org.alfresco.util.exec.RuntimeExec: debug
|
||||
org.alfresco.transformer.LibreOfficeController: debug
|
||||
org.alfresco.transformer.JodConverterSharedInstance: debug
|
||||
org.alfresco.transformer.AlfrescoPdfRendererController: debug
|
||||
org.alfresco.transformer.ImageMagickController: debug
|
||||
org.alfresco.transformer.TikaController: debug
|
||||
org.alfresco.transformer.MiscellaneousTransformersController: debug
|
||||
# org.alfresco.transform.base.metadataExtractors: debug
|
||||
org.alfresco.transform.common.TransformerDebug: debug
|
||||
|
||||
fileStoreUrl: ${FILE_STORE_URL:http://localhost:8099/alfresco/api/-default-/private/sfs/versions/1/file}
|
||||
|
@@ -45,13 +45,16 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
|
||||
/**
|
||||
* Checks that a t-engine can respond to its message queue. This is really just checking that
|
||||
* ${queue.engineRequestQueue} has been configured. The transform request can (and does fail).
|
||||
*
|
||||
* @author Lucian Tuca
|
||||
* created on 15/01/2019
|
||||
*/
|
||||
@SpringBootTest(classes={org.alfresco.transform.base.Application.class},
|
||||
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
|
||||
properties = {"activemq.url=nio://localhost:61616"})
|
||||
public abstract class AbstractQueueTransformServiceIT
|
||||
public abstract class AbstractQueueTest
|
||||
{
|
||||
@Autowired
|
||||
private Queue engineRequestQueue;
|
||||
@@ -79,7 +82,6 @@ public abstract class AbstractQueueTransformServiceIT
|
||||
"transformerName",
|
||||
request.getSourceMediaType(),
|
||||
request.getTargetMediaType()));
|
||||
// TransformStack.setReference(request.getInternalContext(), reference);
|
||||
|
||||
jmsTemplate.convertAndSend(engineRequestQueue, request, m -> {
|
||||
m.setJMSCorrelationID(request.getRequestId());
|
||||
@@ -89,6 +91,9 @@ public abstract class AbstractQueueTransformServiceIT
|
||||
|
||||
this.jmsTemplate.setReceiveTimeout(1_000);
|
||||
TransformReply reply = (TransformReply) this.jmsTemplate.receiveAndConvert(testingQueue);
|
||||
|
||||
// The transform may fail (for example the SFS is unavailable), but we check we get a response with the
|
||||
// correct id, so we know that the message was processed.
|
||||
assertEquals(request.getRequestId(), reply.getRequestId());
|
||||
}
|
||||
|
@@ -51,7 +51,9 @@ 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.
|
||||
* Very basic requests to the TransformController using http. No longer extended in t-engines as all http interaction
|
||||
* is now done by the base. Also see {@link TransformControllerTest} and {@link TransformHandlerTest} for more extensive
|
||||
* tests.
|
||||
*/
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
|
||||
classes={org.alfresco.transform.base.Application.class})
|
||||
@@ -59,7 +61,7 @@ import static org.springframework.http.MediaType.MULTIPART_FORM_DATA;
|
||||
FakeTransformEngineWithTwoCustomTransformers.class,
|
||||
FakeTransformerTxT2Pdf.class,
|
||||
FakeTransformerPdf2Png.class})
|
||||
public class HttpRequestTest
|
||||
public class HttpTest
|
||||
{
|
||||
@Autowired
|
||||
private TestRestTemplate restTemplate;
|
@@ -61,7 +61,7 @@ public class HelloTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("jane.txt", "text/plain", "text/plain",
|
||||
return new ProbeTransform("probe.txt", "text/plain", "text/plain",
|
||||
ImmutableMap.of("sourceEncoding", "UTF-8", "language", "English"),
|
||||
11, 10, 150, 1024, 1, 60 * 2);
|
||||
}
|
||||
|
@@ -0,0 +1,2 @@
|
||||
queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.example.acs}
|
@@ -68,7 +68,7 @@ public class ImageMagickTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("quick.jpg", MIMETYPE_IMAGE_JPEG, MIMETYPE_IMAGE_PNG, Collections.emptyMap(),
|
||||
return new ProbeTransform("probe.jpg", MIMETYPE_IMAGE_JPEG, MIMETYPE_IMAGE_PNG, Collections.emptyMap(),
|
||||
35593, 1024, 150, 1024, 60 * 15 + 1, 60 * 15);
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@ queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.imagemagick.acs}
|
||||
transform:
|
||||
core:
|
||||
version: @project.version@
|
||||
imagemagick:
|
||||
root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.10}
|
||||
dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.10/lib}
|
||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
@@ -32,14 +32,13 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_PNG;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.alfresco.transform.client.model.TransformRequest;
|
||||
import org.alfresco.transform.base.AbstractQueueTransformServiceIT;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.alfresco.transform.base.AbstractQueueTest;
|
||||
|
||||
/**
|
||||
* @author Lucian Tuca
|
||||
* created on 15/01/2019
|
||||
*/
|
||||
public class ImageMagickQueueTransformServiceIT extends AbstractQueueTransformServiceIT
|
||||
public class ImageMagickQueueTest extends AbstractQueueTest
|
||||
{
|
||||
@Override
|
||||
protected TransformRequest buildRequest()
|
@@ -69,7 +69,7 @@ public class LibreOfficeTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("quick.doc", MIMETYPE_WORD, MIMETYPE_PDF, Collections.emptyMap(),
|
||||
return new ProbeTransform("probe.jpg", MIMETYPE_WORD, MIMETYPE_PDF, Collections.emptyMap(),
|
||||
11817, 1024, 150, 10240, 60 * 30 + 1, 60 * 15 + 20);
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@ queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.libreoffice.acs}
|
||||
transform:
|
||||
core:
|
||||
version: @project.version@
|
||||
libreoffice:
|
||||
path: ${LIBREOFFICE_HOME:/opt/libreoffice7.2}
|
||||
maxTasksPerProcess: ${LIBREOFFICE_MAX_TASKS_PER_PROCESS:200}
|
||||
|
@@ -1 +0,0 @@
|
||||
#logging.level.org.alfresco.transformer.LibreOfficeController=debug
|
@@ -31,14 +31,13 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_OPENXML_WORDPROCES
|
||||
import java.util.UUID;
|
||||
|
||||
import org.alfresco.transform.client.model.TransformRequest;
|
||||
import org.alfresco.transform.base.AbstractQueueTransformServiceIT;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.alfresco.transform.base.AbstractQueueTest;
|
||||
|
||||
/**
|
||||
* @author Lucian Tuca
|
||||
* created on 15/01/2019
|
||||
*/
|
||||
public class LibreOfficeQueueTransformServiceIT extends AbstractQueueTransformServiceIT
|
||||
public class LibreOfficeQueueTest extends AbstractQueueTest
|
||||
{
|
||||
@Override
|
||||
protected TransformRequest buildRequest()
|
@@ -73,7 +73,7 @@ public class MiscTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("quick.html", MIMETYPE_HTML, MIMETYPE_TEXT_PLAIN, transformOptions,
|
||||
return new ProbeTransform("probe.html", MIMETYPE_HTML, MIMETYPE_TEXT_PLAIN, transformOptions,
|
||||
119, 30, 150, 1024, 60 * 2 + 1, 60 * 2);
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,2 @@
|
||||
queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.misc.acs}
|
||||
transform:
|
||||
core:
|
||||
version: @project.version@
|
@@ -32,10 +32,9 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.alfresco.transform.client.model.TransformRequest;
|
||||
import org.alfresco.transform.base.AbstractQueueTransformServiceIT;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.alfresco.transform.base.AbstractQueueTest;
|
||||
|
||||
public class MiscQueueTransformServiceIT extends AbstractQueueTransformServiceIT
|
||||
public class MiscQueueTest extends AbstractQueueTest
|
||||
{
|
||||
@Override
|
||||
protected TransformRequest buildRequest()
|
@@ -67,7 +67,7 @@ public class PdfRendererTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("quick.pdf", MIMETYPE_PDF, MIMETYPE_IMAGE_PNG, Collections.emptyMap(),
|
||||
return new ProbeTransform("probe.pdf", MIMETYPE_PDF, MIMETYPE_IMAGE_PNG, Collections.emptyMap(),
|
||||
7455, 1024, 150, 10240, 60 * 20 + 1, 60 * 15 - 15);
|
||||
}
|
||||
}
|
@@ -2,6 +2,5 @@ queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.alfresco-pdf-renderer.acs}
|
||||
transform:
|
||||
core:
|
||||
version: @project.version@
|
||||
pdfrenderer:
|
||||
exe: ${PDFRENDERER_EXE:/usr/bin/alfresco-pdf-renderer}
|
@@ -32,14 +32,13 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.alfresco.transform.client.model.TransformRequest;
|
||||
import org.alfresco.transform.base.AbstractQueueTransformServiceIT;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.alfresco.transform.base.AbstractQueueTest;
|
||||
|
||||
/**
|
||||
* @author Lucian Tuca
|
||||
* created on 15/01/2019
|
||||
*/
|
||||
public class AlfrescoPdfRendererQueueTransformServiceIT extends AbstractQueueTransformServiceIT
|
||||
public class PdfRendererQueueTest extends AbstractQueueTest
|
||||
{
|
||||
@Override
|
||||
protected TransformRequest buildRequest()
|
@@ -68,7 +68,7 @@ public class TikaTransformEngine implements TransformEngine
|
||||
@Override
|
||||
public ProbeTransform getProbeTransform()
|
||||
{
|
||||
return new ProbeTransform("quick.pdf", MIMETYPE_PDF, MIMETYPE_TEXT_PLAIN, Collections.emptyMap(),
|
||||
return new ProbeTransform("probe.pdf", MIMETYPE_PDF, MIMETYPE_TEXT_PLAIN, Collections.emptyMap(),
|
||||
60, 16, 400, 10240, 60 * 30 + 1, 60 * 15 + 20);
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@ queue:
|
||||
engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.tika.acs}
|
||||
transform:
|
||||
core:
|
||||
version: @project.version@
|
||||
tika:
|
||||
pdfBox:
|
||||
notExtractBookmarksTextDefault: ${PDFBOX_NOTEXTRACTBOOKMARKS_DEFAULT:false}
|
@@ -32,14 +32,13 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.alfresco.transform.client.model.TransformRequest;
|
||||
import org.alfresco.transform.base.AbstractQueueTransformServiceIT;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.alfresco.transform.base.AbstractQueueTest;
|
||||
|
||||
/**
|
||||
* @author Lucian Tuca
|
||||
* created on 15/01/2019
|
||||
*/
|
||||
public class TikaQueueTransformServiceIT extends AbstractQueueTransformServiceIT
|
||||
public class TikaQueueTest extends AbstractQueueTest
|
||||
{
|
||||
@Override
|
||||
protected TransformRequest buildRequest()
|
Reference in New Issue
Block a user