This is an automated email from the ASF dual-hosted git repository.

apupier pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new 28bc17fd89 Add one test for batch operation with Docling
28bc17fd89 is described below

commit 28bc17fd896a5feb9f7b66b86d31445cadad5480
Author: AurĂ©lien Pupier <[email protected]>
AuthorDate: Thu Jan 29 12:06:08 2026 +0100

    Add one test for batch operation with Docling
    
    Signed-off-by: AurĂ©lien Pupier <[email protected]>
---
 .../component/docling/it/DoclingResource.java      | 13 +++++++
 .../component/docling/it/DoclingRoutes.java        |  4 +++
 .../quarkus/component/docling/it/DoclingTest.java  | 40 ++++++++++++++++++++--
 3 files changed, 55 insertions(+), 2 deletions(-)

diff --git 
a/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java
 
b/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java
index 3633edc9ec..6978d04892 100644
--- 
a/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java
+++ 
b/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java
@@ -21,6 +21,7 @@ import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
+import java.util.List;
 
 import io.quarkus.runtime.annotations.RegisterForReflection;
 import jakarta.enterprise.context.ApplicationScoped;
@@ -35,6 +36,7 @@ import jakarta.ws.rs.core.MediaType;
 import jakarta.ws.rs.core.Response;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.docling.BatchProcessingResults;
 import org.apache.camel.component.docling.DocumentMetadata;
 import org.jboss.logging.Logger;
 
@@ -181,6 +183,17 @@ public class DoclingResource {
         return convert(documentContent, "direct:convertToJsonWithCLI", "Failed 
to convert to JSON with CLI");
     }
 
+    @Path("/batch/convert/markdown")
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.APPLICATION_JSON)
+    public BatchProcessingResults convertBatchToMarkdown(List<String> 
filePaths) {
+        return producerTemplate.requestBody(
+                "direct:batch-markdown",
+                filePaths,
+                BatchProcessingResults.class);
+    }
+
     private Response convert(String documentContent, String endpointUri, 
String logErrorMessage) throws IOException {
         java.nio.file.Path tempFile = Files.createTempFile("docling-test", 
".md");
         Files.writeString(tempFile, documentContent);
diff --git 
a/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingRoutes.java
 
b/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingRoutes.java
index b0c76f33f1..cee5370f98 100644
--- 
a/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingRoutes.java
+++ 
b/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingRoutes.java
@@ -66,5 +66,9 @@ public class DoclingRoutes extends RouteBuilder {
 
         from("direct:convertToJsonWithCLI")
                 
.to("docling:convert?operation=CONVERT_TO_JSON&contentInBody=true&useDoclingServe=false");
+
+        from("direct:batch-markdown")
+                
.to("docling:convert?operation=BATCH_CONVERT_TO_MARKDOWN&batchSize=10&batchParallelism=4&contentInBody=true")
+                .log("Converted in batch to Markdown: ${body}");
     }
 }
diff --git 
a/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java
 
b/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java
index 14fa372798..f7e890ca56 100644
--- 
a/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java
+++ 
b/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java
@@ -16,6 +16,13 @@
  */
 package org.apache.camel.quarkus.component.docling.it;
 
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardOpenOption;
+import java.util.ArrayList;
+import java.util.List;
+
 import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
@@ -28,6 +35,7 @@ import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.emptyString;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.not;
+import static org.hamcrest.core.IsEqual.equalTo;
 import static org.hamcrest.core.StringStartsWith.startsWith;
 
 @QuarkusTest
@@ -190,8 +198,36 @@ class DoclingTest {
     }
 
     @Test
-    @Disabled("test to implement")
-    void convertToMarkdownAsyncInBatch() {
+    void convertToMarkdownAsyncInBatch() throws IOException {
+        List<String> filePaths = createTestFiles();
+        RestAssured.given()
+                .contentType(ContentType.JSON)
+                .body(filePaths)
+                .when()
+                .post("/docling/batch/convert/markdown")
+                .then()
+                .statusCode(200)
+                .body("totalDocuments", equalTo(filePaths.size()))
+                .body("successCount", equalTo(filePaths.size()))
+                .body("results[0].result", containsString(
+                        """
+                                # Test doc 0
+
+                                content 0"""));
+    }
+
+    private List<String> createTestFiles() throws IOException {
+        List<String> filePaths = new ArrayList<>();
+        for (int i = 0; i < 5; i++) {
+            Path filepath = Files.createTempFile("test-docling-batch-" + i + 
"-", ".md");
+            Files.writeString(filepath,
+                    """
+                            # Test doc %s
+
+                            content %s""".formatted(i, i), 
StandardOpenOption.CREATE);
+            filePaths.add(filepath.toAbsolutePath().toString());
+        }
+        return filePaths;
     }
 
     @Test

Reply via email to